Recently, there has been some debate regarding what sort of responsibility we have as developers when we open-source our software. There has been some suggestion that when you open-source something you are obligated to maintain and care for it, as a parent would a child.
This parenthood argument is usually made by developers who want to use your software but need it tweaked and feel you should be obligated to do the tweaking for them. Basically, they’d like some free contracting. Sadly, it seems these folks don’t read they licenses to the projects they enjoy, since every open-source software license worth its salt has an “As is” clause, meaning the software it covers is provided as is and with no warranty of guarantees of any kind and the author is not required to support you and your use of his software in any way.
I’ve always viewed open-sourcing software as a form of charity — I usually open-source packages that are utilities for commonly performed tasks or tasks that were just plain annoying for me to do. One example of this is my little Ruby script SizeHunter. SizeHunter was something I wrote when I became a contractor to search a directory and make sure that I had both regular and retina resolution assets for iOS projects. Clearly, a very limited script and a naive implementation of what I wanted to do. I have since moved on to the more full featured, but a little pricey Slender Mac App. However, that doesn’t mean that another developer couldn’t take SizeHunter and either use it as is or build it out for a more sophisticated needs. I don’t feel obligated to that developer at all and don’t think I should. That doesn’t mean that I’m not happy that someone is using my software.
Let’s treat open-source software less like an obligation or child and more like what it is — a charitable contribution to the software development community. Questions? Comments? Dogmatic rage? Find me on Twitter and Google+. This post was brought to you by Code Journal and Fingertip Tech, INC