Licenses: (L)GPL vs BSD vs MIT

John Lam posts an e-mail written by an Apache team member which talks about the differences between the (L)GPL, BSD and MIT licenses, interesting:

Trying to chime in with a bit of experience from seeing project migrate to the ASF.

On Wed, 8 Oct 2003, Gert Driesen wrote:
> From: "Clayton Harbour"

>> On another note you mentioned license changes, I have always been
>> curious how that works/ is accomplished?

If you want to be really really save: Get all people who have ever contributed anything to
your code to agree on changing the license with the next release.

You cannot change the license for your older releases, they've already been out. And the
people who have contributed code still hold the copyright to it (even under US law AFAIU).

Doing it with the next release also gives people who prefer the old license the opportunity
to have a stable forking point. They can pick up the code from before the license change and
create a new project from there.

> I did have a quick look at the licensing stuff, and to me it seems
> like a BSD-style license is the most open license ...

I feel I should put a big disclaimer in before I proceed. I'm a member of the Apache Software
Foundation. I am biased. I'll try to be fair when comparing the licenses, but may very well
fail to do so.

All major open source licenses have their pros and cons. The (L)GPL on the one side and the
BSDish licenses on the other simply have a different focus.

Behind the (L)GPL is the philosophy of Free Software as defined by the FSF. It is a
philosophy and a political manifesto that you can agree with or not. The GPL has been crafted
to enforce this vision.

The GPL as well as BSDish licenses give their users the right to get the code for free and to
modify it. The GPL takes away the user's right to distribute the modified software under
different licensing terms, and it does so because it wouldn't be "Free Software" anymore
otherwise.

If you have any problem with big companies making money with your software without giving
anything back to you - the BSDish licenses are not for you.

As for "most open", I'd say the MIT license1 probably is the winner here. It basically says
"do with this what you want, don't blame me".

The BSD license2 adds one thing "don't advertize with my name, at least not without asking
for permission".

And the Apache Software License3 adds brand protection on top of this. "Don't call your
derived project like mine".

Note that this brand protection is the part that makes the FSF claim the Apache Software
License was incompatible with the GPL (i.e. a GPLed software must not include Apache licensed
code).

Footnotes:
1 http://www.opensource.org/licenses/mit-license.php

[2] http://www.opensource.org/licenses/bsd-license.php

[3] http://www.opensource.org/licenses/apachepl.php

The rest is my personal opinion, don't read on if you don't want to see that 8-)

I for one don't agree with the FSF's vision, I feed my children from money I get for writing
commercial software and I don't feel bad about it.

I enjoy writing software and giving it away for free as well - and if I contribute to a open
source project that uses a BSDish license I get the additional benefit that I may use my own
code (plus improvements made by others) for the commercial software I write.

If a big company comes and takes my code, modifies it and redistributes it as a commercial
product, this is no problem for me.
I don't believe in "free software", I believe in improved software and that the commercial
company will realize that it is in their better interest to contribute their changes back
instead of merging my changes with theirs over and over again over time.

Stefan