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 (www.opensource.org)
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 populare Open Source
Licenses.
|
Can Mix w/non-free software |
Redistribute source to your mods |
Mods can be forked to proprietary |
Can prohibit commercial sale |
Include patent license with mods |
GPL compatible |
| GNU General Public License (GPL) |
|
|
|
|
|
|
| Qt Public License (QPL) |
|
|
|
|
|
|
| GNU "Lesser" General Public License (LGPL) |
|
|
|
|
|
|
| Mozilla Public License (MPL) |
|
|
|
|
|
|
|
Artistic
License
|
|
|
|
|
|
|
IBM Public
License |
|
|
|
|
|
|
| Apache Software License |
|
|
|
|
|
|
BSD
License |
|
|
|
|
|
|
MIT
License |
|
|
|
|
|
|
| Python License (CNRI Python License) |
|
|
|
|
|
|
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 bequethed 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 modifcations 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.