An astounding blog post just appeared in my RSS reader (indirectly, I don’t subscribe to the feed). I won’t link to it; perhaps by reading this you’ll know which one I’m talking about. The author discusses his attitude towards supporting his open source software and Grails plugins and clarifies what he’d alluded to a few earlier times that I’d seen online. Those included half-demanding that others fix his bugs for him or pay him to fix bugs in his software. Hmmm. Ok.
I haven’t used this author’s software for various reasons, but now I’m committed to avoid it completely. I see an implicit if weak contract between someone who provides software (whether OSS, commercial, or anything in-between) and someone who uses it. We use or buy it because we don’t want to, don’t have the time to, or can’t implement it ourselves. It’s disingenuous and selfish to claim that since you gave it away for free, you have no further obligations unless that’s made explicit from the beginning.
Grails plugins make up the extent of my open source contributions. I have many reasons for creating and releasing them and these include giving back to a community that’s given me a lot for free, and also the warm fuzzy that comes from having people use something you created (and occasionally thanking you for it). Users do complain about bugs, missing features, missing documentation, etc. Some have provided patches that fixed a bug or implement a feature and I greatly appreciate those. But I find it amazing that someone would demand this.
I’ve talked to other Grails users about writing and supporting Grails plugins and I half-jokingly caution them to not release them. It’s work. It’s a product. People will find issues with it. There’s a high probability that your plugin won’t work with a new Grails release. Supporting various Grails versions can be frustrating – there are people using Grails 1.0, 1.1 and even early builds of 1.2, so it takes time to support all of them. But I’ve gotten a lot out of developing these plugins and the benefits have far outweighed the costs.
Another Grails plugin developer who has been rather prolific (although not so much lately) stated with the release of a couple of his plugins that he wouldn’t be doing any further work on them. I’m fine with that – it’s honest. It’s somewhat annoying – support yer damn product – but I know what the risks involved are in using those plugins. If one breaks, well, like the old story, I new it was a snake when I picked it up. But software released by someone who acts like they’ll do the right thing but then doesn’t is a snake you can’t see, a turd in a broken free toilet.