This is the first post on open source software licensing series. you can find the primer here.
I’ll start with covering the concepts that I’ll use in the following posts:
OSI (Open_Source_Initiative) A bunch of dudes who deal with the approval of open source licenses, according to their …http://en.wikipedia.org/wiki/Open_Source_Initiative
The use of OSI Approved licenses is advocated, in order to simplify the whole OSS licensing things.
OSD (Open Source Definition) Look at the linked wiki page. In short, any license that conforms to the principals in this definition is considered an open source licensehttp://en.wikipedia.org/wiki/Open_Source_Definition
Copyleft A license that requires any code that uses it’s covered software, to also apply the same (or similar) license. Also known as “Viral licensing”.
http://en.wikipedia.org/wiki/CopyleftThere are different flavours of Copyleft:
Strong Copyleft Every thing that’s using the software, either in binary or source form, becomes infected. Say you write application A, and reference dll B which is licenses with a Strong Copyleft license, then your application A must retain the same license as B.The only way to avoid being infected is to use the library without linking, such as by calling it through a command line call and parsing the output, or calling the library as an external service through web etc.Example for a Strong Copyleft license: GPL Weak Copyleft Only derivative works must retain the same license. Normally you should be able to reference a binary of a Week Copyleft licensed library, and use your license of choice (as “Code that uses the library”)Examples for Weak Copyleft licenses: LGPL, MPL (Mozilla Public License), Ms-PL (Microsoft Public License)
Non-Copyleft licenses that are not viral, thus are not infecting a client code using them.Examples: BSD (Berkeley Software Distribution), MIT and ASL (Apache Software License)
GPL compatibility Since GPL is a Strong Copyleft license, it requires that every code which uses a GPL-ed library must become GPL. The obvious thing here is that a software without any open-source distribution cannot be used in a GPL-ed library. There are even some open source licenses that cannot be used with GPL due to restrictions in their licenses. Any open source license that allow licensed software to be used with GPL (that is - to be re-licensed as GPL) is said to be “GPL Compatible”
An example for a non GPL compatible OSS license is IBM’s CPL
I happened to discuss Open Source licensing with a few peers lately, and being an active OSS user and committer, they’ve asked me to write down my take on the matter.
It took me a little while to get down to it, but like many other things, doing stuff incrementally seems to be the best option.
I’ll try to cover the popular licenses. and those I have an opinion about.
disclaimer: I am not a legal advisor. I have never went to any law school, and the opinions in this series is based only on common sense and my ability to read English.
The first post in the series is OSS Licensing - terms and concepts