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.
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.
The chart below shows a basic comparison of explicitly stated items among different open source licenses (click to enlarge)
Hope this helps to have an overview of the 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.
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.
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.