Rants, rambles, news and notes from another geek

Open Source Licensing

NAnt is considering switching its license from GPL to something less restrictive. In my opinion, this is a very good move. I’m not a huge fan of the GPL. Way too restrictive.

Stefan Bodewig (long time contributor to Ant and member of the Apache Foundation) gives a nice analysis of the difference between the different licenses.

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”.

I like this description because it helps clarify what it is that I don’t like about the GPL: I don’t agree with its philosophical underpinnings.

Stefan continues…

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.

Exactly. The FSF has tried to ram the GPL down many people’s throats and I think a lot of young developers don’t really understand the implications.

The reason I’m writing OpenPGP.NET from scratch is because the only open source implementation that I could find was GPL’d. I don’t want to contribute to it because I would then be prevented from using that code (that I wrote) in a commercial application.

The GPL is way too socialistic for my taste. I tend toward a BSD or Apache license because I feel the restrictions they are adding make sense.

My 2 cents…

PS. If you are looking for greater detail on the various open source licenses out there, check out this list at opensource.org.

[Original Bodewig quotes found via John Lam’s iunknown.com]