Software development is powered by coffee... if you use any of our open source pojects, it would make my day if you'd buy me a cup (or several). Just click on the coffee cup.
As someone who makes money from software development, I have had a love-hate relationship with the concept of Open Source Software. At times I have regarded it as a blight that damages the industry as a whole, other times I have been convinced by others that it is a very positive thing.
It is important not to conflate open-source with free. There is lots of software that is open-source but not free - for example the brilliant developer tools made by Atlassian. Atlassian's example perhaps more than any other has convinced me that making a product open-source doesn't necesarrily prevent it from being a revenue source.
In the last two or three years I have been much more willing to publish my code for others to use (see our OSS products under the Open Source menu). I still have plenty of code that would not make business sense to release openly, but I've been finding more and more cases where it seems appropriate to do so.
So having decided to publish some code, what license should I use? There is a plethora of choices available, many of which (in my opinion) are really only half hearted attempts at being truly open. I particularly dislike 'copy left' licenses like the General Public License which (for me) just come with too many strings attached. For a while I flirted with the Creative Commons 'free culture' licenses, but even they seem overly-complex when what is to be achieved is a blindingly simple concept. In the end, I have probably been influenced most by Bob Denny and his herculean efforts in the early years of the ASCOM Platform, which right from the start was available under the MIT license. The MIT license is beautifully simple, consisting of a single paragraph which, in essence, says "anyone can do anything at all with this software". This seems like the right approach to me. If you're going to give something away for free, forget about attaching strings to it. Just let go of it and give it away freely with an open heart.
It is not without irony that as more people have become involved in developing ASCOM and the source code has become easier to obtain, the license has become slightly more restrictive (it is currently using the Creative Commons Common Public Attribution License). Not a disaster, but I still hope that in time ASCOM will revert to the original MIT license.
My 'call to action' to all developers of open-source software is this: consider whether your license really adds value to your software, for you or the end user. Do you really care if someone uses your code without giving you the credit? If so then perhaps you are not emotionally ready to be making your code open source. Why not just give it away unconditionally? Should it not be enough that someone finds it useful?
TeamCity Build Status
Let Us Help You
Find us on Facebook