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 |