Open source licenses explained

new topic     » topic index » view thread      » older message » newer message

Since we've been debating licenses for Euphoria I figured someone should
probably explain all of them. So, here's an explanation for the most popular open
source licenses out there (all opinions and biases are mine unless otherwise
noted). Everyone should read the original licenses as well.

(Note: I am not a lawyer and am simplifying everything a lot. Also, some of
these licenses I haven't read recently and may have forgotten something.)


3-clause BSD: http://www.xfree86.org/3.3.6/COPYRIGHT2.html#5

Pretty much complete freedom except that you can't use the creator's name in
advertising.


4-clause BSD: http://www.netbsd.org/Goals/redistribution.html#default

3-clause BSD but you need to explicitly acknowledge the original creator of the
code. This acknowledgment causes the 4-clause BSD license to be incompatible with
most "copy-left" licenses. The FSF actively discouraged using it for practical
reasons since the list of contributors gets hard to deal with after a while.
Personally, I prefer it it for most of my code since anyone can use it for
anything so long as they acknowledge they got the code from me. It's my current
vote in Vincent's poll.


MIT X11: http://www.opensource.org/licenses/mit-license.php

3-clause BSD license without the "no-use-of-creators-name-in-advertising"
clause. Practically the closest to public domain you can get with a license.


GPL: http://www.gnu.org/licenses/gpl.html

A very, very popular strong copy-left license. Using any code in any manner in a
project makes it GPL. The biggest problem with it is that using euphoria code in
a library would make any code that uses that library GPL as well regardless of
the format that library is released in. This would be a big detriment to people
who want to use the Euphoria code as a plugin for a server or as an application
scripting language.


LGPL: http://www.gnu.org/copyleft/lesser.html

The GPL but can be used in binary form in a non-GPL project. Also, contains a
special clause to make LGPLed code GPLed easily.


Apache 2.0 license: http://www.apache.org/licenses/LICENSE-2.0

The Apache license is essentially the 3-clause BSD license but with a clause
that requires any patented code be released for public use if this license is
used on it (this also renders it incompatible with the GPL).


MPL: http://www.mozilla.org/MPL/MPL-1.1.html

The MPL requires that only files that are changed be released. All original code
remains completely open but people can add any proprietary features they want. I
think that this is the best compromise choice between the GPL and BSD license
camps since it allows "non-free" use but keeps the code freely distributed with
changes. This would be my second choice of a license behind 4-clause BSD.


Lucent license: http://plan9.bell-labs.com/plan9/license.html

4-clause BSD but with some explicit protections against legal action by
disgruntled users. Relatively uncommon.


CDDL: http://www.opensolaris.org/os/licensing/cddllicense.txt

MPL but with some additional legal restrictions. Primarily the ability to
specify where you can sue people for breach of licensing terms in the
documentation but also some patent. Also, any code released under the CDDL is
ONLY under the CDDL (no other licensing choices) and all patented code is
released to the public. These legal restrictions are often said to be burdensome
for developers (I'd agree). You also MUST declare that any code you contribute is
your own. It's a kind of weird license and wouldn't recommend it.


APSL 2: http://www.opensource.apple.com/apsl/2.0.txt

This one I haven't read as thoroughly as the others but seems to be an
Apple-centric version of the MPL.


AFL 3: http://opensource.org/licenses/afl-3.0.php

Supposedly, it's similar to the Apache license but with some additional legal
freedoms and restrictions. For example, any patented code must be released and
you must not use the creator's name for advertising. Apparently, the FSF and OSI
disagree on whether it's GPL incompatible or not (or so I hear, it seems to be
pretty obviously incompatible in my opinion). Pretty uncommon but advocated by
the OSI to a degree. I also think that section 2 of the license could be worded
ambiguously.

new topic     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu