Tips on Selecting a License
Selecting an Open Source license is a very individualistic sort of thing, almost as personal as code itself. It reflects your views on software licensing and software in general. That is why there are so many different licenses to begin with. Some are subsets of others or based on others. Some are completely tailored by the author to meet his personal goals for his project. It is this author's opinion that when it comes to using an Open Source license in your product or choosing a license for your Open Source project, stick with the ones that are tried and true:
- GPL
- LGPL
- BSD
- Apache
These licenses are well respected and time-tested. Just about any company that has a TCP/IP stack started out by basing its code on the BSD implementation. In the case of Apache and GPL/LGPL licenses, entire companies have based their existence on the way these licenses work. IBM and Red Hat are good examples of such companies, respectively. Also notice that while these licenses are all Open Source, they span the whole definition of Free Software. GPL and LGPL are Copyleft and are therefore Free Software at its purest form. The BSD license is also considered Copyleft and Free Software but with fewer requirements about releasing improvements to the code back to the Open Source community. Apache is not considered Free Software by the Free Software Foundation (although it is Open Source), and there are several examples of proprietary Apache distributions and products.
NOTE
When I speak of the BSD license, I am technically referring to the modified BSD license. I consider the advertisement and various other requirements of the original BSD license to be incredibly annoying, and they render it pretty much useless. I believe the originators wisely realized this and therefore created the modified version.