Open Source License Types

Every once in awhile we have to give our professional opinion to clients on what open source license is “safe” for a particular use.
For the most part, MIT, BSD, and the Apache licenses are good for business. GPL, LGPL you need to be very careful.
Either way, you need to follow different guidelines for each license type – you must also make sure that if you change any code that you fully comply. For examples using a dll is a lot different than editing a file in that dll, compiling, and then using the derived work. Lots of little gotcha’s…
Zack Rusin of kde.org was kind enough to let me reuse his really handy chart. Thanks Zack!

License

Proprietary Software linking

Distribution of “the Work”

Redistributing of the code with changes

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.

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.

Apple Public

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

Allowed.

Only under Apple Public license.

Apache Public

Allowed.

Allowed.

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

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.

BSD

Allowed.

Allowed.

Allowed.

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.

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.

MIT (X11)

Allowed.

Allowed.

Allowed.

MPL

Allowed.

Allowed.

Only under MPL.

Python

Allowed (?)

Allowed.

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

QPL

Not allowed.

Only if it’s Open Source.

Only in the form of patches to the original code.

Sleepycat

Allowed

Allowed

Allowed

Sun Public

Allowed.

Allowed.

Only under Sun Public.

W3C

Allowed.

Allowed.

Allowed

RELATED WORK

RELATED ARTICLES