What license for my open source software?
Rules and permissions defined in most frequently used licenses for open source software.
This table is established to help you choose a license for your software or to know what you are allowed to do with a source code from others. It does not exempt to carefully read the license chosen to know all the terms, because the comparison is limited to the crucial ones. Some contain provisions on patents potentially useful for distribution in the states.
|GPL 2||GPL 3||MIT||BSD||CDDL||MPL 2.0||Apache 2.0||LGPL 3||EPL||APSL||Affero|
|Example of product||Red Hat||Wayland||FreeBSD||NetBeans||Firefox||Apache||GTK+||Eclipse||Darwin||MongoDB|
|Name of the author in the sources||x||x||x||x||x||x||x||x||x||x||x|
|Name of the author in the binary||x||x||x||x||x|
|May be distributed freely||x||x||x||x||x||x||x||x||x||x||x|
|Permission to make a fork||x||x||x||x||x||x||x||x||x||x||x|
|May be included in a commercial product||x||x||x||x||x||x||x||x|
|GPL 3 compatible||x||x||x||x||x||x||x|
|Subsequent change of license possible||x||x|
|The source modified must be provided||x||x||x||x||x||x||x||x|
- Affero: Affero General Public License or Affero GPL. The particularity of this license is that all derivative and added works must be under the same license.
- Apache: Apache License. Apache 2.0 is compatible with GPL 3 and not GPL 2 and previous version of Apache are not compatible with GPL 3. Apache 2.0 does not require to make code modifications by third public, unlike GPL or LGPL.
- APSL: Apple Public Source License.
- BSD: Bekerley Software Distribution. The author is the University of California.
- CDDL: Common Development and Distribution License.
- CPL: Common Public Attribution.
- EPL: Eclipse Public License. By the Eclipse Foundation.
- FSF: Free Software Foundation.
- GPL 2: GNU Public License, version 3.
- GPL 3: GNU Public License, version 3. This version is compatible with Apache and Affero.
- MIT: Massachusetts Institute of Technology License.
- MPL: Mozilla Public License.
Some details ...
Possibility of a fork: Creating a derived version of the code, and publishing under a different name. Under the GPL, the licence must remain the same, the name of the authors kept, and change open source.
GPL 3 Compatible: You can use the code under this license, with code under the GPL. A license may be compatible with GPL 3 and not GPL 2. In practice, if code is incorporated in one of two GPL, the whole becomes GPL.
Subsequent change of license possible: This applies only to the code under the license in question and not the added code. Some licenses allow change of license with a new version of the code, others do not.
The source modified must be provided: In cases where software is distributed in binary form, after changing the source under the license, you must publish the modified source, even if it is done by a separate channel, but accessible to the same users. So it does not concern personal use.
Other conditions ...
It is possible to distribute software under a dual license, eg GPL and commercial license for professionals. The different licenses relate to different categories of users.
The opinion of the lawyers on the licenses ...
- AGPL 3.0: To avoid, blocks reusability.
- Apache 2.0: The most permissive, well written, defines the rights in terms of patents (in the USA).
- Artistic 2.0: Concerns Perl, badly drafted legally.
- BSD 2: Permissive but ambiguous. Does not say anything about patents.
- BSD 3: Like the 2.
- Common Creative 1.0: Only applies to copyright.
- EPL. Concerns Eclipse. Clearly written, applies to copyright (which it leaves free) and patents.
- GPL 2.0: Free copyrights. Difficult to interpret.
- GPL 3.0: More difficult than the two.
- LGPL 2: Facilitates the use of libraries but difficult to interpret legally.
- LGPL 3: More complicated than the two.
- MIT: Permissive, ambiguous, does not explicitly cover patents.
- MPL 2.0 (Mozilla): Clearly free copyrights.
(Source: Kyle Mitchell).
In all cases a copy of the license must be included with the source code and sometimes with the software in executable form.