A very simple C# interview question that most developer fails
WPF Kid Stuff: Extracting a Control Template

Comparison of Different Open Source Licenses -“With Comparison Chart!”

I was a little confused with which license to use for an open source initiative and the benefits and limitations of difference licenses, so I dug a little and here is what I have found. I hope this helps you with your selection of a license for your open source initiative.

Pretext

Previously I had my open source projects listed in SourceForge.net, and the last one I worked on was pretty long ago. Recently I took on a few more initiatives to release some of the libraries that I developed as open source projects and a new open source project for file synchronization. As a .NET person my first choice was CodePlex.com which is a great site with TFS and subversion and issue tracking support.

I am used to write the license myself for the software. However the codeplex site comes with a bunch of pre defined standard licenses and no option to write your own custom open source license. In order select a license I had to read all of these licenses and also read this cool book on licenses - Open Source and Free Software Licensing By Andrew M. St. Laurent from O’Reilly press (ISBN: 0-596-00581-4).

The Licenses In Discussion

I am going to discuss the following licenses:

1. The MIT License
2. New BSD License
3. Apache License
4. Microsoft Public License (Ms-PL)
5. Microsoft Reciprocal License (Ms-RL)
6. GNU General Public License (GPL)
7. GNU Library General Public License (LGPL)
8. Common Development and Distribution License
9. Mozilla Public License 1.1 (MPL)

The Basis of Open Source Licensing

Open source does not mean free software, but often is associated with it. Some licenses makes the software free for use, some licenses are to make sure that source is always distributed with the binaries. There are 2 items common among all of these licenses. Firstly the license must be distributed with the software usually with both binary and source code form. Secondly, the licenses have a warranty disclaimer. Having a warranty disclaimer is very important when you are making a free software. Since software creator is not making money out of a software it does not make sense to be liable for implied warranty. The warranty disclaimer releases the creator of the software from the liability of implied warranty.

Comparison Summary

The chart below shows a basic comparison of explicitly stated items among different open source licenses (click to enlarge)

OpenSourceLicenseComparison

Hope this helps to have an overview of the licenses

Simple Licenses

The MIT License

The MIT License is the simplest non restrictive open source license. It has only two parts, at the first part lets anyone use the software for free even it lets anyone publish, distribute, sublicense or even sell copies of the software. The second part is the disclaimer for warranty.

New BSD License

The new BSD license is as unrestrictive as the MIT license except for the fact, it does not allow the name of the contributors to be used to endorse any derivative software.

Microsoft Public License (Ms-PL)

The Microsoft Public License is similarly non restrictive as the previous two with the following explicit notations. Firstly, the license does not grant permission to the contributor’s name, logo or trademark. Secondly this license lets you royality free use of contributor’s patents that are used in the software but if you make any patent claim against any part of the software your license to the use of contributor’s parent is revoked.

Microsoft Reciprocal License (Ms-RL)

This license exactly as same as the previous one except that if you use any file from software then you must provide source for those files and the copy of the license and the other files in the end result software can be licensed under any term you want.

Common Development and Distribution License (CDDL)

CDDL is also a non restrictive type of open source license, but it has a lot of items explicitly described. See license details

Apache 2.0 License

Apache license makes sure that the software is free, the name of apache foundation cannot be used to endorse the product, any change to the software needs to be distributed in source form and it lets you provide warranty if you want to.

So read the licenses now and select the one that you like.

Complex Licenses

GNU General Public License (GPL) 

This is a highly restrictive license and any software that uses this license must also be distributed under GPL which makes GPL quite infamous and at the same time favorite to a breed of developers. There are several gotcha clauses in GPL. I am not going to describe it as there are many points to discuss. Please read it carefully.

GNU Library General Public License (LGPL)

This is a better version of the GPL license aimed more at the software components. It lets you have LGPL license for the component to be used in software while other components can have different licenses.  Both the GPL and LGPL allows the open source software to be sold as long as the source code is provided. Please read the license carefully before selecting it.

Disclaimer

Firstly I am not a lawyer, and this is my understanding from what I have read in the licenses and there is no guarantee that what I am writing here is correct since this is my personal interpretation. I would advice you to read the  licenses before you apply them and I do not take any responsibility of my interpretation.

kick it on DotNetKicks.com

Comments

Dave Gilbert

A couple of innaccuracies I spotted:

(1) The Apache Licence doesn't require distribution in source form - it allows redistribution "in Source or Object form";

(2) Describing the GPL as a "highly restrictive license" is wrong - line it up next to ANY proprietary software licence and you'll understand exactly how PERMISSIVE it is. I'll grant you that it is more restrictive than most other *open source* licenses, but that doesn't make it a "highly restrictive license" outright.

A useful discussion of open source licences, which focuses on the different properties of the licences without making value judgements about them:

http://oreilly.com/catalog/opensources/book/perens.html

Russell

You calling a GPL highly restrictive and infamous? Dude, come out out MS closet. You sound like an evil MS propaganda guy to me. Shame!

Russell

I got so pissed that I made typos on my previous comment. Here goes the corrected version:

You're calling GPL highly restrictive and infamous? Dude, come out of the MS closet. You sound like an evil MS propaganda guy to me. Shame!

Russell

But hey, what else can I expect from a MS guy? Huh!

Miguel

The grammar in the chart is awful and incorrect use of capitalization:
"Must show License when Run", "warrenty", "gurantee", "ocuntry"

Sudipto Sarkar

Cool post...
Here's my post about open source licenses
http://opensourcethefuture.blog.co.in/2009/02/20/how-to-license-your-creation-under-an-open-source-license/

Jeff Paul Internet Business

I find internet marketing the same as marketing a product in the real world. In real marketing one really has to go through different means to promote a brand and product. Same tasks are applied in internet marketing but this can also be done at the comfort of one’s bedroom.

OdryPl23

At this site only people would find very interesting information corresponding with this topic. With your help the positively charged features of why us used to be so pure. I really know that after that used to be casual to get well accomplished custom essay reviews from the custom essay writing company.

Thesis Writing

great tips for me, i should share with my friends

Verify your Comment

Previewing your Comment

This is only a preview. Your comment has not yet been posted.

Working...
Your comment could not be posted. Error type:
Your comment has been saved. Comments are moderated and will not appear until approved by the author. Post another comment

The letters and numbers you entered did not match the image. Please try again.

As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.

Having trouble reading this image? View an alternate.

Working...

Post a comment

Comments are moderated, and will not appear until the author has approved them.

Your Information

(Name and email address are required. Email address will not be displayed with the comment.)