Libre Software Licensing Guide
Libreguide.org
Relicensing versus Compatibility
Introduction
Relicensing
Explicitly Permitted Relicensing
What is Compatibility?
How Does Compatibility Work?
Conclusion
Introduction
Relicensing and license compatibility are two fundamental
aspects of how licensing works in our community. However, there
is often only a hazy understanding of what these terms mean. This
article explains both concepts, what they have in common, and how
they differ.
Relicensing
The copyright holder of a work has a government-granted,
exclusive property right over that work. One of the exclusive
rights granted to the copyright holder is to license that work to
others.
A copyright holder in our community chooses a freedom-respecting
license, applies it to their work, and releases it to the
community. The community is then free to further study, modify,
and further distribute that work as long as they abide by the
terms and conditions of the license when they do so.
The copyright holder of a work can then release future copies
and versions of a work under a different license. This is called
relicensing. Just as only the copyright holder can apply the
original license to a work, only the copyright holder can
relicense the work.
Explicitly Permitted Relicensing
Some licenses have terms and conditions which permit a recipient
to further distribute the copy in their possesion under a
different license. For example, all versions of the GPL allow the
copyright holder to add the option for recipients to change the
license to a later version of the GPL (for instance from GPLv2 to
GPLv3.) However, this is optional and at the discretion of the
copyright holder. They may license their work without adding the
option for others to upgrade the work.
Another example is the Creative Commons Attribution-Sharealike
4.0 license, which has an option which allows a recipient to
change the license of their copy of the work to GPLv3. There are
a number of other licenses which have similar language.
In these cases the copyright holder has explicitly permitted
further distribution under a different license. For example, if a
copyright holder licenses their work under GPLv2 with the option
to upgrade to GPLv3, then they have effectively licensed their
work under either GPLv2 or GPLv3. A recipient of such a work can
choose to further distribute their copy under GPLv3 instead of
GPLv2. In this case they are taking advantage of an existing
licensing option explicitly granted to them by the copyright
holder.
Note the subtle difference here: true relicensing can
only be done by the copyright holder, since they can freely
change the license of the work to any other license. Explicitly
permitted relicensing, in contrast, is when a non-copyright
holder exercises the right given to them by the copyright holder
to further distribute the work under a different license. The
non-copyright holder is limited to the permitted changes in
licensing.
What is Compatibility?
A freedom-respecting license is a set of terms and
conditions under which you may modify and share a work. A license
may have only a few terms and conditions, such as the Modified
BSD license, or many, like in the Mozilla Public License 2.0.
Licenses are called compatible if their respective
requirements aren't in contradiction. Independent works can be
combined when their licenses are compatible since it is possible
to abide by all of the terms of all of the licenses involved.
An example of compatibility is GPLv3 and the Modified
BSD licenses: sections 1 and 2 of the Modified BSD license do not
contradict the GPL's requirements for distributing either source
or binary forms of a work. Section 3 of the Modified BSD license
has a condition which is explicitly permitted in section 7 of
GPLv3. Since there are no contradictions, you can take two
independent works, one under GPLv3 and one under the Modified BSD
license and distribute them together as a whole.
Licenses are called incompatible if there is a
contradicting requirement between them. Incompatibility stops you
from combining the independent pieces of softwate into a single,
larger work.
To explain incompatibility, let us examine why the GPLv3
and CPAL licenses are incompatible: The Common Public Attribution
License Version 1.0 (CPAL) has the condition in section 3.1 that
requires you to distribute source code only under the CPAL
license. GPLv3 has a condition under section 5(c) that the work
as a whole must licensed under the terms of the GPL. Obviously,
you cannot satisfy both licenses at once: the source cannot be
released only under GPLv3 and also only under CPAL. These
contradicting terms make the two licenses incompatible.
How Does Compatibility Work?
We can use the example of GPLv3 and the Modified BSD licenses to
see how compatibility works in practice. GPLv3 and the Modified
BSD licenses are indeed compatible: we can combine two pieces of
software, one under GPLv3 and the other under the Modified BSD
license, and distribute that combination as a single, larger
work. But how does that look in practice? What is happening under
the proverbial hood?
In order to distribute the combined work we will have to
satisfy all of the conditions of GPLv3, and all of the conditions
of the Modified BSD license.
To comply with the conditions of the Modified BSD
license, we'll do things like preserve the copyright notice,
preserve the text of the license, and remember not to use the
name of the author for promotion without their consent.
To comply with the GPLv3 side we will need to do a lot
more. But everything that GPLv3 requires of us is either in
agreement with an existing requirement of the Modified BSD
license, or an additional protection of freedom that doesn't
contradict or conflict with any requirement of the Modified BSD
license. It is this situation which gives people the false
impression that the Modified BSD licensed work has been
relicensed to be under GPLv3. The Modified BSD licensed part is
still in there. But everything it says simply agrees with with
the GPL, so it is hard to notice it.
There is proof that the the Modified BSD licensed part
of the larger work survives: after the conditions of both
licenses have been satisfied and the work has been distributed,
the recipient can then extract the Modified BSD licensed part and
distribute it independently and with its original license
intact. Neither the GPLv3 licensed part, not the Modified BSD
licensed part have been relicensed; they have just been
distributed in a mutually compatible manner.
Conclusion
Relicensing is when the copyright holder of a work
changes the license in a way only the copyright holder is
permitted. But there are also ways for the copyright holder to
permit others to make certain prescribed licensing changes.
License compatibility is when two works with different
licenses can be combined and distributed as a larger whole while
satisfying all of the requirements of all of the licenses
involved.
The hope is that armed with this knowledge, the
community can proceed with confidence to write ever more
freedom-respecting software. Now, go hack a good hack.
Contact
yrk@libreguide.org
Copyright © 2020-2026 Yoni Rabkin
I am not a lawyer, the above is not legal advice.
This work is licensed under the
GNU General Public License, Version 3, or (at your
option) any later version
Generated by blaze version 1 on 2026-01-05T15:38:42-0500, build number 0.
source code for this page
$ git clone https://git.sr.ht/~yrk/blaze