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:

License

Proprietary Software linking

Distribution of “the Work”

Redistributing of the code with changes

Compatible with GNU GPL

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

LGPL

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

Apple Public

Allowed (the requirements of Apple License apply only to the Covered Code)

Allowed.

Only under Apple Public license.

No

Apache Public

Allowed.

Allowed.

Allowed (as long as the name “Apache” isn't used in the name of the derivative work)

No

Artistic 2.0

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]

BSD

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]

Common Public

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

Jabber

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

MIT (X11)

Allowed.

Allowed.

Allowed.

Yes

MPL

Allowed.

Allowed.

Only under MPL.

No/Yes [3]

Python

Allowed (?)

Allowed.

Allowed, assuming the package includes a list of changes to the original Python and copyright notices on all files.

Yes

QPL

Not allowed.

Only if it's Open Source.

Only in the form of patches to the original code.

No

Sleepycat

Allowed

Allowed

Allowed

Yes

Sun Public

Allowed.

Allowed.

Only under Sun Public.

No

W3C

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 )