Open Source Licenses
Zack Rusin <zack@kde.org>
Introduction
First some general points. These points either directly relate to the following table or are necessary to understand the whole Open Source philosophy. So, in no particular order:
When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library.
The “Proprietary Software linking” refers to linking or closed sourced applications/libraries with applications/libraries licensed under one of the following Open Source licenses.
By “the Work” in the “Distribution of 'the Work''” I mean a combination of a software with the library or application licensed under one of the following licenses
“Redistributing of the code with changes” refers to the act of redistributing a modified app/library based on the app/library licensed under the given license
License |
Proprietary Software linking |
Distribution of “the Work” |
Redistributing of the code with changes |
Compatible with GNU GPL |
---|---|---|---|---|
Not allowed (since the linked software is considered a whole) |
Not allowed with software whose license is not GNU GPL compatible. |
Only if the derivative is GNU GPL. |
Yes |
|
Allowed (since the software that links to the library is not considered a derivative work) |
Allowed with some restrictions: You have to provide source code of the distributed LGPL library with (if any) modifications, changes to the LGPL library should be allowed to third parties and if BC your app/lib should still work with the modified LGPL lib/app. |
Only if the derivative is GNU LGPL or GNU GPL. |
Yes |
|
Allowed (the requirements of Apple License apply only to the Covered Code) |
Allowed. |
Only under Apple Public license. |
No |
|
Allowed. |
Allowed. |
Allowed (as long as the name “Apache” isn't used in the name of the derivative work) |
No |
|
Allowed. |
Allowed (as long as C or perl subroutines supplied by you and linked into the Covered Code are not considered a part of the Covered Code) |
Allowed if one of the following is true: a) modifications are freely available, b) one uses the modified package only within corporation or organization, c) rename any non-standard executables, d) make other distribution arrangements with the Copyright Holder And the name of the Copyright Holder may not be used to promote derived products without his/hes written permission. |
Yes [1] |
|
Allowed. |
Allowed. |
Allowed. |
Only the modified BSD license is compatible with GPL. The original BSD license is not compatible because it includes a weird advertising clause. [2] |
|
License not clear on that, but do not mix Code Covered by this license with incompatible licenses. |
Not clear, but again do not mix it with code licensed under an incompatible license. |
Only under CPL or a compatible license. |
No |
|
Allowed |
Allowed. Only the portions of “the Work” licensed under the Jabber license needs to stay licensed as such. |
Can be under a different license as long as the source code is provided and a few License specific requirements are fulfilled. |
No |
|
Allowed. |
Allowed. |
Allowed. |
Yes |
|
Allowed. |
Allowed. |
Only under MPL. |
No/Yes [3] |
|
Allowed (?) |
Allowed. |
Allowed, assuming the package includes a list of changes to the original Python and copyright notices on all files. |
Yes |
|
Not allowed. |
Only if it's Open Source. |
Only in the form of patches to the original code. |
No |
|
Allowed |
Allowed |
Allowed |
Yes |
|
Allowed. |
Allowed. |
Only under Sun Public. |
No |
|
Allowed. |
Allowed. |
Allowed |
Yes |
[2] Original BSD Incompatibility
It said that every advertisement mentioning the software must include a particular sentence:
3. All advertising materials mentioning features or use of this
software must display the following acknowledgment:
This product includes software developed by the University of
California, Berkeley and its contributors.
Initially
the obnoxious BSD advertising clause was used only in the Berkeley
Software Distribution. That did not cause any particular problem,
because including one sentence in an ad is not a great practical
difficulty.
If other developers who used BSD-like licenses had copied the BSD
advertising clause verbatim--including the sentence that refers to
the University of California--then they would not have made the
problem any bigger.
But, as you might expect, other developers did not copy the clause verbatim. They changed it, replacing ``University of California'' with their own institution or their own names. The result is a plethora of licenses, requiring a plethora of different sentences.
When people put many such programs together in an operating system, the result is a serious problem. Imagine if a software system required 75 different sentences, each one naming a different author or group of authors. To advertise that, you would need a full-page ad. (taken from http://www.fsf.org/philosophy/bsd.html )