Frequently used OSI approved Licenses

The OpenSource Initiative lists 68 OSI approved licenses. Discussing all these licenses would take a a lot of time and even has the chance to confuse people. For this reason, we limit our list to licenses that we and the OSI consider to be important because they are popular or used inside strong communities.


Important Licenses

The OpenSource Initiative created a License Proliferation Report in 2007 which lists 9 licenses that are popular and widely used or with strong communities: The Common Public License is now superseeded by the Eclipse Public License so there are 8 preferred licenses left over. As all code from David Korn and Glenn Fowler is still under CPL and as this is unlikely to change, we list the CPL too.

OSSCC License recommendation rules

Since OSS license proliferation created a wide variety of licenses, it is important to have licenses that support collaboration. The OSSCC is not interested in becoming competitor of the OpenSource Initiative. For this reason, the OSSCC does not approve licenses but rather recommends licenses that support collaboration. The OSSCC recommends licenses that meet the following items:

License types

There are two basic types of licenses:

Academic licenses

Permissive licenses are called Academic Licenses after it's oldest member the BSD license which has been created in an academic environment. Academic licenses allow to take any fractional amount of code from the original work and to incorporate this code into another work. For this reason, academic licenses support collaboration between different projects.

Reciprocal licenses

Reciprocal licenses enforce a so called Copyleft on the code by raising the claim that derivative works need to be under the same license as the original code. This usually prevents collaboration as it prevents code flow from one project to another using a different license, unless special care is taken in the license text.

The CDDL and the MPL are reciprocal licenses that permit collaboration and code flow from one project to another as long as the code under CDDL or MPL is kept in separate files.

Creating larger works

The Copyright law defines two basic methods of creating larger works from existing works.

Collective works

If two or more independent works are taken and put together (e.g. by linking the code) without modifying the code that is linked against, a so called collective work is created. Creating a collective work is permitted by the Copyright law as long all involved code is under an approved OpenSource license.

Derivative works

A derivative work is created when code from an original work is taken and modified. Small modifications however do not create a derivative work. To create a derivative work, the modifications need to reach a level of creation that is sufficient to allow claiming own Copyright.

Small changes like bug fixes do not create a derivative work. The code with the bug fixes is seen is if it was the original code. The European Copyright law permits to apply bug fixes even for works are not under a OpenSource license.

Incorporating code into other works

Incorporating small portions of code into other works is permitted by the US Copyright law by a clause called fair use and by the European Copyright law by a clause called Wissenschaftliches Kleinzitat in case that e.g. that code is needed in order to use a specific library and if the other work contains a significant amount of own creation.

Whether incorporating code into other works is permitted under different constraints depends on the license of the code. Some licenses (like the GPL) forbid to incorporate code into a work under a different license (unless this is done as a collective work). Other licenses (like the CDDL) permit to incorporate code into a work under a different license as long as the code is in different files. A third class of licenses (e.g. the BSD license) generally permit to incorporate code into code under a different license.

Patent grants

Some licenses like the BSD license do not give any license grant. People who use code under this kind of licenses need to take care of potential patent infringements. Special care should be taken if code under these licenses was created by companies or other entities that hold a patent pool.

Other licenses give a free of charge patent grant for patents owned or controlled by the original author to legal users of the code. Prominent licenses from this class are the CDDL and the GPL.

A third class of licenses give a free of charge patent grant for patents owned or controlled by the original author only to the original code and to derivative works but not to other works that just incorporate code under a license of this class. Prominent licenses from this class are the CPL and the EPL.

Patent protection

Some licenses (like the GPL) do not contain any protection against patent owners that try to enforce law suits against a work under the specific license. Other licenses (like the CDDL) terminate their license grants to the plaintiff in case that he is enforcing a law suit against a work under the specific license based on a patent that he controls.

License compatibility

There is neither a general license compatibility nor a general license incompatibility. License compatibility rather depends on how code from different licenses is combined. The list below contains a collection of constraints and the compatibility of the related licenses with respect to these constraints.

License

OSSCC recommended

License type

Link against a library under a different license

Link code under different license against library under this license

Merge code into a work under a different license

Patent grants to any code using code under this license

Patent protection

Apache License 2.0

Yes

Academic

Allowed

Allowed

Allowed

Yes

Yes

New BSD License

Yes

Academic

Allowed

Allowed

Allowed

X [1]

No

CDDL

Yes

Reciprocal

Allowed

Allowed

Allowed [2]

Yes

Yes

CPL

No [10] [11]

Reciprocal

Allowed

Allowed

No [3]

No [4]

Yes

Eclipse Public License

No [10] [11]

Reciprocal

Allowed

Allowed

No [3]

No [4]

Yes

GPL

No [9]

Reciprocal

Allowed [5]

No [6]

No [7]

Yes

No

LGPL

No [9]

Reciprocal

Allowed

Allowed

No [7]

Yes

No

MIT license

Yes

Academic

Allowed

Allowed

Allowed

X [1]

No

MPL

Yes [8]

Reciprocal

Allowed

Allowed

Allowed [2]

Yes

Yes

  1. The BSD license and the MIT license give no patent grants at all. Code under these licenses comming from an entity that owns patents may contain patent bombs and force users to pay patent royalties although the code is free.
  2. Merging is permitted as long as the code under this license stays in separate files.
  3. CPL and EPL permit only contributions and enhancements to the original work but do not allow to use code from a CPL/EPL licensed work in another work. Hence CPL and EPL are even more restrictive than the GPL.
  4. CPL and EPL give patent grants to the original work and to enhanced versions based on the original work only but not to other code.
  5. A program under GPL may link against non-GPL libraries as this action is not considered to create a derivative work but a collective work. The FSF claims that this is not permitted, but the claim from the FSF is in conflict with the Copyright law, in special as the FSF insists that the GPL has to be interpreted as a US license instead of being a contract. See Lawrence Rosen on the GPL Chapter 6 and Thomas F. Gordon on general License compatibility.
  6. Lawrence Rosen even claims that a GPLd library may be used from any program as long as the library code is not modified.
  7. GPL and LGPL however permit code from one work to be used in other works that use the same license.
  8. The MPL is partially in conflict with the European legal system. The OSSCC recommends to use the CDDL in favor of the MPL as the CDDL can be seen as the successor of the MPL.
  9. Not recommended as code from this license cannot be used inside other works under a different license.
  10. Not recommended as code from this license cannot be used inside other works even under the same license.
  11. Not recommended as the patent grants for code under this license only apply to this work but does not include other works.

Conclusions from the table above

It seems that the best overall results for an academic free license are achieved in the Apache 2.0 license.

The best overall results for a reciprocal Copyleft license are seen in the CDDL.

License background information

Lawrence Rosen's book Open Source Licensing Prentice Hall in July 2004.
Thomas F. Gordon Open Source license compatibility Fraunhofer FOKUS Berlin in December 2009.
Catherine Olanich Raymond Open Source Licensing HOWTO November 2002

Please note that for authors that are European Citizens, there is no need to register Copyright.
You may contact us by sending mail to: info at osscc.net