My take on open source licenses

open source

Open Source licensing can be a confusing and daunting task. Most developers simply adopt licenses of other popular projects. I wanted to shed some light on the most popular licenses and provide some guidance on which one should be used and when.

Disclaimer: I’m not a lawyer, I am not qualified to nor am I imparting sound legal advice.

BSD & MIT

Both licenses are very similar. They are very liberal and allow for sub-licensing meaning that any derived works may be released under a different (commercial or otherwise) license.

What they primarily accomplish is mandating that the copyright notice remains in place and the disclaimer that the software is without warranty.

The BSD license is a bit more specific on how the copyright notice needs to be displayed.

GPL

This is the most popular Open Source license. Without a full description of what the GPL does, as there are many places to find this, the GPL is a true Open Source license in the sense that it enforces that derivitave works must retain same license. In doing so it ensures that Open Sourced items remain open source. It does this by enforcing this based on distribution of binaries.

LGPL

The LGPL is substantly the same as the GPL with one major difference. It permits for inclusion within other projects with different (including propriatary) licenses. A good read explaining when to use this vs the GPL is located here.  http://www.gnu.org/licenses/why-not-lgpl.html

AGPL

The AGPL is again substantly the same as the GPL but addressing the fact that today distributing binaries is becoming less common, falling to providing access on a server. The AGPL address this by requiring enforcement based on if it is accessible from a network (ala a web site).

Related articles