How to Choose an Open Source License - Open Source

The Open Source Smorgasboard

The Open Source Movement is a superset of the Free Software Movement, and was created to inclusively address some of the preceived shortcomings of the Free Software Movement, primarily the viral nature of the GNU Public License.

Consequently, if you are considering releasing software under Open Source, you can go the official Open Source website and choose from a bewildering variety of approved Open Source Licenses. To be an approved Open Source License, essentially the License can't violate any of the ten strictures that comprise the Open Source Definition. But beyond that, pretty much anything goes. Consequently, there are major differences, both philosophical and operational, between approved Open Source Licenses.

Below is a matrix that identifies the six major attributes found in Open Sources Licenses and maps them against the ten most popular Open Source Licenses:


Can mix free with non-free software

This is the primary bugaboo free marketers have with the GNU Public License. According to the terms of the GNU Public License, if you mix free software with other code, including proprietary code, then that mixed in code needs to be distributed under the terms of the GNU Public License. Under severe circumstances, this could mean that a small utility distributed under GNU that is used in a massive commercial software program could cause the entire program to become free software.

Since this makes commercial software developers apoplectic, the Open Source Movement discerned that this requirement would be an impediment to adoption in the commercial world. Consequently, the Open Source Movement created other licenses that did not include this requirement in an attempt to encourage the commercial sector to adopt Open Source.

Redistribute source to your mods

Under the traditional Free Software model, if you make any modifications to code, then you are required to distribute your modification source code along with the object code in any distribution. The Open Source model provides for a relaxation of this requirement.

Mods can be forked to proprietary

This is another major divergence between the Free Software model and the Open Source model. One of the reasons that the Free Software Foundation recommends that code be "copylefted", as opposed to bequeathed to the public domain, is that subsequent interlopers can take the code from public domain, make modifications, and keep the resulting work proprietary. This is anathema to the Free Software model, but acceptable under the Open Source model. Consequently, some Open Source Licenses provide that modifications can not only be protected from the source code distribution requirement, but can be forked from the Open Source code and taken proprietary.

Can prohibit commercial sale

This attribute allows you to prohibit subsequent developers from commercially distributing for profit the original code or modifications to the original code. This provision is preferred by companies that release dual versions (Open Source and Proprietary) of software. They want to release an Open Source non-commercial version, but they want to keep their monopoly in the commercial market.

Include patent license with mods

This attribute requires that you pass through a patent license covering any modifications you make to the original code, so that do downstream modifications become encumbered with non-licensed patented technology.

GPL compatible

This attribute indicates whether the license can be used in conjunction with code that is licensed under the GNU General Public License.