Which license gives us more freedom?

It’s late Saturday night. Though I have returned from PyCon India 2010 day-1, there are still a few thoughts on my mind.

Which license do you choose for your open source projects? Strong-copyleft? Permissive? Do you choose LGPL which I consider somewhat between between GPL and Permissive licenses.

I used to be a strong advocate of GPL and strong-copyleft licenses. Now “strong” is missing. I nowadays prefer using MIT/X11 license. If the project is a library of something like that GPL sucks (my opinion). It actually limits the freedom. GPL is fine for projects which consist mostly of UI code. LGPL is something I have never tried before. If I don’t like GPL, then my second choice is MIT.

The most confusing and debated aspect of licensing is whether “sharing of modified code” is actually limiting freedom or guaranteeing freedom? Even though it looks nice, it doesn’t work out to be so good all the times. Sometimes companies keep distance from GPL as it is dangerous since one fine day the upper management might question the people working on the project for the reason of releasing the source code? The case was simple – they were complying with licensing requirements.

The biggest evil I find with GPL is that you cannot link any GPL libraries/module to your application and release it under GPL incompatible license. Why? GPL incompatible licenses are not open source licenses? There might be some legal or moral reasons behind it, but I don’t care so much, as I am not a lawyer.

Now coming to permissive licenses. Now since licenses like Apache and MIT give you more freedom, so there is a chance of misuse. This means that if someone took my code, close-sourced it, so my code becomes less-open? Well I don’t share this view, but highly experienced lawyers do think so. (Alert: Links to TechCrunch, click at your own risk)

From now onwards I have decided to go the way of MIT/X11 license for most of my projects. In any case I am not so good with UI programming, so GPL doesn’t come into picture. Most of my projects are basically libraries or modules or anything which doesn’t have a UI. I don’t even create command line interfaces for a few libraries which I have created.

Good night. Tomorrow is my talk at PyCon India on the topic on launchpadlib and using Launchpad API using python.


5 thoughts on “Which license gives us more freedom?

    1. I agree with BSD (it’s more free than GPL), but one of the confusion with “BSD” is that it becomes ambiguous unless you specify “Original BSD License” or “Simplified BSD License”. BTW I don’t think anyone uses the former anymore, but just to avoid confusion I go with MIT/X11 license.

    1. Well creative commons is a collection of various license. It is more restrictive than even any Free software license approved by OSI. Lets see some problems with CC license which make it non-free
      * CC BY – You need to credit the person who made the original work
      * CC BY SA – Sort of GPL that derivatives have to be under the same license
      * CC Non-Commercial – Makes it non-free
      * CC No-Derivatives – Seriously? This is a free software license?

      I could see that only 1/4 CC license is free.
      OTOH CC license are meant for artwork or any creative work and not for code. Yes, you can use CC for your code, but that doesn’t make much sense as they are the most restrictive license set there out.

  1. When I initially commented I seem to have clicked the -Notify me when new comments are added- checkbox and from now on whenever
    a comment is added I recieve four emails with the exact
    same comment. Is there an easy method you are able to remove me from that service?
    Many thanks!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s