I like the idea of open source software. I even want to contribute to the cause when I can find an effort that I can connect with and where I can make a difference. The big problem I run into is what can I do with open source? There seem to be a few licenses out there that are in common use and they are not all created equal. I’m all about giving, but sometimes a fellow has to eat too. How do you figure out what you can and cannot do under an open source license? I decided to give the research a shot and see what I can come up with. I figured I would look at big open source projects, see what licenses they use and then research those licenses. Simple, right? We will see.
To start with, let’s see how big the list can get. Check out these two links.
When you see the list you quickly get the idea that there are more than a few options. It’s hard to know where to start. Let’s start with the blogging software that launched a thousand blogs.
GNU General Public License (GPL) – The GNU GPL sits to the extreme left (pardon the pun) of the open source license food chain. It has a cousin, the GNU Lesser General Public License (LGPL), which per Wikipedia “was designed as a compromise between the strong-copyleft GNU General Public License or GPL and permissive licenses such as the BSD licenses and the MIT License.” From what I can tell by reading the Quick Guide to GPL v3 it seems like the GPL’s approach is free for all and always free. In other words, if you want to make any money off selling your work based on GPL software you are coding up the wrong tree.
GPL is out there and some big open source projects do use it. They include WordPress, MySQL Server, Ubuntu and OpenOffice.org (LGPL). These are heavy weight products in the open source world. Although they carry the GPL or LGPL, it seems that most of these products have commercial companies around them. Some seek to profit from services (Automattic) while others want to profit from license fees if you do anything commercial with the software (MySQL AB – Now Sun). MySQL seems more complicated when you start to look at things like the Percona Builds, but the basic idea seems hard to separate from more commercial ventures. The impression I get is companies that form around the GPL license use it as a shield to prevent anyone from having too much success using their work commercially. This attitude seems to be personified by Matt Mullenweg of Automattic fame who has this to say on the topic. I’m not making a value judgement here. Matt is basically saying free software should stay free. I get that. It just becomes very limiting if that’s not the only thing you want or need to produce.
The BSD License – If GPL is the extreme left of the software licensing world the BSD License (or New BSD License) is the extreme right. It is about as short and sweet as you can get. The core intent here seems to be open source software that can be used as the basis for commercial efforts. From what I can see it is simply that straight forward. Basically it only seems to exist to provide credit to the original author on re-distribution and to remove any implied warranty of merchantability. Lots of open source efforts that you are probably familiar with use the BSD. Some of the more notable include The Zend Framework (license), Trac (license), Django (license) and the Kohana Framework (license) to name a few. BSD is just the kind of license you need if you want to make some money. I would say it’s as open as it can get, but then I don’t think that’s exactly true.
MIT License – The MIT license is as open as you can get. It is essentially a liability waiver and nothing else. It does not have the BSD’s copyright preservation or marketing restrictions. The main difference to me is that MIT could care less what you do with both the software and the branding of the software. That seems overly open, but there are products that use MIT. One notable product is the vastly popular Ruby on Rails Ruby Framework.
As the Habari project team states , “None of the packages we’ve tried have really satisfied us, so in the fine tradition of open source software we’re trying to scratch our own itch.” Interestingly enough, Habari blogging software uses Apache License Version 2.0. My quick scan (the legal jargon put me to sleep) is that Apache is a more verbose and slightly more limiting version of the BSD. That is an over simplification, but you get the general idea. This license is also reasonably popular and is used by (among others) the Apache HTTP Server. If you think the license might be right for you then by all means give it a read. Also if you are having trouble getting to sleep the same advice applies
So where does all this leave us? If you’re like me it leaves you confused. Although we briefly covered some of the most popular licenses there are many more out there to chose from. You can find an exhaustive list (and some good information) on the Open Source Initiative web site. Ultimately only you can decided what is right for your project and what open source products are correctly licensed to support your project’s goals. I recommend getting to know them better. If you start to pay attention to open source licenses you begin to get a glimpse into the philosophy of the development teams. That may prove to be as helpful to you as the license itself in determining if each solution is a good fit for you. Good luck!