Garbage Collector


The little space of a writer, tinkerer, and a coffee addict

The Free Software licenses

The Free Software licenses
The copyLeft logo, public domain

Free Software licenses, here is a topic that could seems to be easy to understand, but not really when you go deeper in their details. Indeed, among the various existing licenses, the rights and obligations are not always the same and it’s always a nice debate topic among the communities to determine which one is the most “free license”.

This article will try to present with a synthetic and vulgarized way some licenses families and what do they permit or not. We’ll also see the available licenses for non software projects (like art, books, etc).

What is a Free Software

The Free Software intend to provide a different way to study, change, and distribute a software project. It differs from the proprietary software than won’t allow you to read their source code, and of course, modify it and distribute it. It also differs from the freeware which is a distribution model of proprietary software free of charges.

Until the software gets into Public Domain, its source code is protected by various intellectual properties laws around the world and that’s the maintainer who tells the user what are its rights relating to the software usage. Proprietary softwares uses specific licenses like End-User License Agreement and don’t provide the software source code. In this case, it’s not legal to modify, reverse engineering, and redistribute the software and doing so can fall under the laws against piracy.

The Free Software movement was made to offer a counterpart to this locked distribution model. Its main goal is to allow the end-user to study, modify, and distribute the sources and/or the binaries with almost no restrictions (depending of the license), free of charges, and is even allowed to make commercial profit on it. These initiatives were mainly founded by the GNU Project and the Free Software Foundation (FSF) (both founded by Richard Stallman, the emblematic figure on the movement) which are, still today, some on the most prominent actors in the field.

The definition of a Free Software has been formally written by Stallman for the FSF in 1986 and edict the 4 following freedoms :

When you read these rules, you quickly understand the meaning of Free Software. It’s about freedom and not price (in French, we talk about “Logiciel Libre”). That’s why the common maxime to define the Free Software is “think as in ‘free speech’ and not ‘free beer’ “. By this meaning, a Free Software provides freedom to the user, but it can be distributed through commercial ways. For example, Red Hat Enterprise Linux is a Free Software, but sold as a commercial product. Yggdrasil Linux was the first commercial Linux Distribution.

There isn’t a unique definition of what is a Free Software because some other entities has also written their own one. For example, Debian published in 1997 the Debian Free Software Guidelines where they edict some rules and recognize which licenses are compatible with these principles. On another side, the BSD-based distribution have no formal definition of Free Software and are usually classified as “more permissive” than the FSF’s definition.

Some usual Free Software licenses

There are a lot of Free software Licenses (FSL) and I won’t be able to list all of them… So I’ll list the most common and we will see what are their differences and also their compatibility with other licenses.

The compatibility is a very important thing because some FSL are not necessary compatible with each other. For example, the GPL v2 or v3 are very protective licenses while the MIT or BSD are very permissive. Even the GPL is not fully compatible with itself between v2 and v3. There is a compatibility matrix established by the GNU Project that explains the compatibility between GPL versions, and it’s not that simple to understand.

The comparison above is mainly inspired by GitHub’s dedicated site : Choose an open source license.

This list is absolutely not exhaustive and the order is completely arbitrary.

The MIT License

The MIT License was made by the famous Massachusetts Institute of Technology in late 1980. It is a permissive and very simple licence as its terms are very short. As it provides a very little restrictions, it’s one of the most compatible with other FSL. It’s a very popular license, in 2015 there was 44.69% of GitHub hosted projects licensed under MIT.

Permissions Conditions Limitations
Commercial use The license and copyright notice must be included with the licensed material Limited liability
Distribution of the licensed material The material is provided with no warranty
Modification of the licensed material
Private use

Some notable projects under MIT license :

The GNU General Public License v2

The GNU GPL v2 is one of the most widely used FOSS license, but has a strong copyleft requirement. Indeed, the GNU GPL licenses are mainly focused on redistribution and sharing improvement meaning that all derivative works must be redistributed. Because of that, the license is considered less permissive than the previously introduced MIT because you can’t integrate GPL-licensed material into proprietary code. Another important aspect is the modifications must be distributed with the same license.

Permissions Conditions Limitations
Commercial use Disclose source Limited liability
Distribution of the licensed material License and copyright notice must be included The material is provided with no warranty
Modification of the licensed material Modifications must be distributed with the same license. Some exceptions are possible.
Private use Changes made to the licensed material must be documented

Notable projects :

The GNU General Public License v3

The GNU GPL v3 is an enhancement of the v2 and made some important changes for compatibility with software patents and other FSL like Apache 2.0. It received some criticisms during its writing and there are still some projects that has not adopted it, notably the Linux Kernel because Linus Torvalds was opposed to it. However, its adoption is still growing and today the “GPL family” is estimated to 24% of FOSS projects.

Permissions Conditions Limitations
Commercial use Disclose source Limited liability
Distribution of the licensed material License and copyright notice must be included The material is provided with no warranty
Modification of the licensed material Modifications must be distributed with the same license. Some exceptions are possible.
Private use Changes made to the licensed material must be documented

Notable projects :

The Apache License

The Apache license is a permissive FSL. It grants the user some usual rights like modify and distribute the software, and can be associated with other licenses. The license is compatible with GPL v3, meaning they can combine code that originates from both licenses but the result should be delivered under GPL v3. This license also grants a right over patent use, meaning the user should not have to worry about infringing any patents by using the software.

Permissions Conditions Limitations
Commercial use License and copyright notice must be included Limited liability
Distribution of the licensed material Changes made to the licensed material must be documented The material is provided with no warranty
Modification of the licensed material No rights granted over trademarks
Private use
Patent use, grant a patent right from the contributors

Notable projects :

The BSD Licenses

The BSD licenses is a family of permissive FSL. Like other permissive licenses, they don’t impose a lot of restrictions on the use or distribution. This family globally compatible with other FSL and even with proprietary code. The New BSD License and Simplified BSD License are also compatible with GNU GPL. The main requirement is to preserve the license for the derivative work and reproduce the notice among the binaries.

Permissions Conditions Limitations
Commercial use License and copyright notice must be included Limited liability
Distribution of the licensed material The material is provided with no warranty
Modification of the licensed material
Private use
Patent use (BSD-3 only)

Notable projects :

The GNU Lesser General Public License

The LGPL is a derivative of the GNU GPL license. Its main feature a lesser copyleft requirement than the original GPL. It means you can implement LGPL without being obligated to distribute the code of your proprietary software. The LGPL is commonly used for software libraries to ensure the separation between LGPL software and proprietary parts. It’s a compromise between the strong copyleft aspect of GNU GPL and permissives licenses like MIT or BSD.

Permissions Conditions Limitations
Commercial use License and copyright notice must be included Limited liability
Distribution of the licensed material Disclose source The material is provided with no warranty
Modification of the licensed material Same license for libraries
Private use Changes to the licensed material must be documented
Patent use (BSD-3 only)

Notable projects :

The Mozilla Public License

Like the name could suggest it, the MPL is a license written and maintained by the Mozilla Foundation. Its main feature is to be a weak copyleft license setting itself between the very permissives licenses (like MIT and BSD quoted above) and stronger copyleft one like GNU GPL. This license permit to integrate the code in proprietary material as long as the MPL-licensed content remains available under the MPL terms. Like Apache’s, the MPL also provide a use right for patented material that contains the MPL.

Permissions Conditions Limitations
Commercial use License and copyright notice must be included Limited liability
Distribution of the licensed material Disclose source The material is provided with no warranty
Modification of the licensed material Same license for the files No rights granted over trademark material
Private use
Patent use

Notable projects :

The WTFPL

The last one of this list is a kind of a special one… It was created by Banlu Kemiyatorn in 2000 for its own software project, and rewritten in version 2 by Sam Hocevar, the Debian project leader between 2007 and 2008. The WTFPL, which means Do What The Fuck You Want Public License is a extreme FSL that gives only rights and no restrictions and is mainly a parody of the GNU GPL. Basically, this license is very close to the Public Domain and can be used even if the author is not able to directly put its work under Public Domain (because of legal restrictions for example).

Despite its funny aspect, the WTFPL is recognized as GPL-compatible by the Free Software Foundation and the Fedora Linux Project, but not recommended to be used.

Permissions Conditions Limitations
Commercial use
Distribution of the licensed material
Modification of the licensed material
Private use

Notable projects :

And for non software projects ?

In this article, we have mainly talked about softwares but Free Licenses also exists for creative materials like Art, Books, and Music. The most well known license is the Creative Commons (CC) Licenses, published by the same named non-profit organization which provides a subset of easy to understand and modular license notices.

However, you need to keep in mind that Creative Commons licenses are not made for Software distribution. One of the main reason is because their terms do not include specific conditions regarding source code distribution and modification. Some versions of Creative Common are compatible with GNU GPL, we’ll see that just bellow with the various possibilities of this license. Just like the Free Software Licenses, the Creative Common is based under the Free Cultural Works dedication.

The Free Cultural Work is defined by these 4 items :

  1. Freedom to use the work itself
  2. Freedom to use the information in the work for any purpose
  3. Freedom to share copies of the work for any purpose
  4. Freedom to make and share remixes and other derivatives for any purposes

In case of the creator would use some possible restrictions offered by the CC licenses subset, the material could be considered as a Non Free work.

The Creative Commons License have six possibilities.

Creative Commons Attribution (CC BY)

CC BY is the simplest version of the CC licenses subset. It grants the right to reuse, distribute, remix, adapt, and build upon the material in any medium or format with only one condition : give attribution to the creator. A commercial usage is allowed.

Creative Commons Attribution ShareAlike (CC BY-SA)

CC BY-SA provides the same rights as CC BY, but include a complementary condition : the remixed, adapted, or build work upon the material must be distributed under identical termes with the same license. The commercial usage is allowed. This license is compatible with GPL v3

That’s the license I use for this blog.

Creative Commons Attribution NonCommercial (CC BY-NC)

CC BY-NC gives the same rights as CC BY, but impose one restriction : the commercial usage of the licensed material is forbidden. This license is not considered as a Free Culture license because of the NC restriction.

Creative Commons Attribution NonCommercial ShareAlike (CC BY-NC-SA)

CC BY-NC-SA provides the same rights as CC BY, with the ShareAlike condition (the material must be distributed with the same license), but include a non commercial usage restriction. Because of it, this license is not considered as a Free Cultural Work.

Creative Commons Attribution NonDerivative (CC BY-ND)

CC BY-ND provides the same rights as CC BY, but include a restriction disallowing the usage of the licensed material into derivative works. Because of this, the license is not considered as a Free Cultural Work.

Creative Commons Attribution NonCommercial NonDerivative (CC BY-NC-ND)

CC BY-NC-ND is the most restricted version of the Creative Common licenses. It forbids the commercial usage and the derivative works, so the license is absolutely not a free one.

Creative Commons Public Domain Dedication (CC0)

CC0 (Zero) is the most open Creative common license because it’s the same terms as a Public Domain. There is no copyright anymore over the material and the reusers are allowed to distribute, remix, adapt, build upon the material with no conditions. This license can be suitable for software distribution and is fully compatible with GNU GPL.

Warning : the CC0 license cannot be revoked and must be applied by the original creator !

So, which license should I use ?

It depends !

As you seen, there are a lot of available licenses with various degrees of freedom and permission. In my humble opinion, you should use the license that correspond the most to what you expect from the community regarding your material. Do you want to restrict some usage or be more permissive ? Do you want to force the derivatives works being published or not ?

Like always with Free Software, you have the choice, a luxury you don’t have with proprietary material !


📑 Table of Contents

📚 Read my latest book

Follow me on Mastodon

🏷️ All Tags 📄 All Posts 🗺 Sitemap RSS Feed