Permissive vs. copyleft open-source licenses
Contents
Permissive vs. copyleft open-source licenses¶
Permissive¶
When we say that a license is permissive, it means that it places few, if any obligations, on the part of the individual, or entity, using the code.
Licenses like BSD, the MIT, and the Apache license are all deemed to be permissive.
Copyleft¶
A term that you’ve heard, but may not be familiar with, is copyleft which is a play on words to the term copyright.
Copyrights are about the exclusive rights the creator of a work has and the ability to control those rights.
As you know, one way to control those rights is through licensing. The three exclusive rights most identified with copyright are the rights to use, copy, and distribute the work, and that is where the concept of copyleft comes into play.
With copyleft, as the creator, I want to make sure others have to the right to use, copy, and distribute my work. In addition, I want to make sure that others further down the chain also get to use, copy, and distribute the work.
This is completely different from permissive licenses which allows you to re-license subsequent works under a different license, if you so choose.
The GPL family of licenses are examples of the copyleft concept, and they come in two flavors:
strong copyleft
The GPL is a strong copyleft license.
This means that if you take GPL code and intertwine that code with MIT or Apache, or some other permissive licensed-based code, all of that code is now subject to the GPL.
weak copyleft
Weak copyleft licenses are associated with the distribution of binary file libraries, DLLs.
In those cases, a DLL is allowed to link to non-GPL covered code without triggering the full reciprocal copyleft provisions in the GPL.
In other words, a MIT-based code can freely link to a LGPL binary.
The LGPL was a compromise position taken by the Free Software Foundation.
The term lesser in the name has to do with less freedom than what the full GPL guarantees.
The table below categorizes popular open source licenses under the permissive and copyleft frameworks.
The copyleft licenses are also listed in ascending order of strength, from strongest at the top to the weakest at the bottom.
Permissive Licenses |
Copyleft Licenses |
---|---|
BSD (Berkeley Software Distribution) |
Affero GPL (AGPL) |
MIT |
GPL |
Apache 2 |
Lesser GPL (LGPL) |
- |
Mozilla Public License (MPL) |
- |
Eclipse Public License (EPL) |
- |
Common Development and Distribution License (CDDL) |