The world of open source is full of wonders. People write code for free and make it available for free for anyone to use. If you write a quick little program on the weekend, it’s usually because there is a need that has to be filled. There’s a repetitive task that you wish you didn’t have to do so you write a short program to do it for you.
The world of open source is full of wonders. All of this is possible by releasing our code under a license. And not just any license. If you were to publish your code online without describing how it can be used, by default you are reserving all the rights to yourself. Nobody else can legally use it. You as the creator have the right and responsibility to decide how your code will be used.
I was introduced to the world of open source by Linux and the GNU movement. For the longest time, I would claim that the only true open source license is the GPL. It’s a great license. It ensures that your software will never be used in a non-free way (free as in freedom). It works great for medium to large scale pieces of software, such as the Linux kernel or git. The two are self contained and don’t usually have any dependencies.
However, the more I moved from desktop software development towards developing for the web, the more I found myself frustrated and confused by the GPL. If a user downloads a web page generated by a GPL-covered web framework, do I need to also make available to the user the code that generated the page? If I use jQuery on my page (which is released under the GPL) and my scripts use it, do I have to provide non-minified versions of my scripts? Can I legally use a GPL-covered web framework to build a website for client and not make the source code available?
There are plenty more options to think about and my head starts to hurt every time I try to make a sense of it all.
I was reading Jeff Atwood’s article on software licenses and became convinced that I should abandon the GPL for my projects. After all, I want people to use my software and making them try and understand the intricacies of the legal language of the GPL is unnecessary. Starting today, I will make my projects available under the terms of a more permissive license. My current favorites are:
They are all short and easy to understand. Peoples’ time is expensive, let’s not waste it.
If you are a developer and you maintain a project that’s useful for making the web a better place, I would ask that you consider using a permissive license for your project.
Update (2012-01-09): After reading Van Lindberg’s book on Open source licenses, I have learned that the WTFPL isn’t a good idea. It doesn’t actually do anything in terms of legal protection or warranty.