惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

F
Fox-IT International blog
Recent Announcements
Recent Announcements
D
Docker
IT之家
IT之家
B
Blog
Jina AI
Jina AI
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 【当耐特】
Google DeepMind News
Google DeepMind News
F
Fortinet All Blogs
量子位
C
Check Point Blog
Microsoft Azure Blog
Microsoft Azure Blog
罗磊的独立博客
博客园 - 司徒正美
李成银的技术随笔
美团技术团队
Blog — PlanetScale
Blog — PlanetScale
雷峰网
雷峰网
The GitHub Blog
The GitHub Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
J
Java Code Geeks
T
The Blog of Author Tim Ferriss
酷 壳 – CoolShell
酷 壳 – CoolShell
MongoDB | Blog
MongoDB | Blog
P
Proofpoint News Feed
L
LangChain Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Y
Y Combinator Blog
大猫的无限游戏
大猫的无限游戏
有赞技术团队
有赞技术团队
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
Visual Studio Blog
T
Tailwind CSS Blog
H
Help Net Security
Engineering at Meta
Engineering at Meta
小众软件
小众软件
B
Blog RSS Feed
Stack Overflow Blog
Stack Overflow Blog
月光博客
月光博客
M
Microsoft Research Blog - Microsoft Research
宝玉的分享
宝玉的分享
人人都是产品经理
人人都是产品经理
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
GbyAI
GbyAI
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Last Week in AI
Last Week in AI
Martin Fowler
Martin Fowler
Stack Overflow Blog
Stack Overflow Blog

文章列表

Forty-six free software meetups on six continents — Free Software Foundation — Working together for free software Free Software Directory meeting on IRC: Friday, May 22, starting at 12:00 EDT (16:00 UTC) — Free Software Foundation — Working together for free software Free Software vs malware and the need for reverse engineering — Free Software Foundation — Working together for free software Free Software Directory meeting on IRC: Friday, May 8, starting at 12:00 EDT (16:00 UTC) — Free Software Foundation — Working together for free software Free Software Supporter — Issue 217, May 2026 — Free Software Foundation — Working together for free software Free Software Directory meeting on IRC: Friday, May 8, starting at 12:00 EDT (16:00 UTC) — Free Software Foundation — Working together for free software FSD meeting and weekly recap 2026-05-01 — Free Software Foundation — Working together for free software Free Software Supporter — Edição 217, maio de 2026 — Free Software Foundation — Working together for free software Free Software Supporter – Numéro 217, mai 2026 — Free Software Foundation — Working together for free software Free Software Supporter — Número 217, mayo de 2026 — Free Software Foundation — Working together for free software April GNU Spotlight with Amin Bandali featuring nineteen new GNU releases: Parallel, Time, and more! — Free Software Foundation — Working together for free software It's May, and we've been keeping busy — Free Software Foundation — Working together for free software Free Software Directory meeting on IRC: Friday, May 1, starting at 12:00 EDT (16:00 UTC) — Free Software Foundation — Working together for free software LibreLocal meetup in London, England, United Kingdom — Free Software Foundation — Working together for free software LibreLocal meetup in Neuchâtel, Switzerland — Free Software Foundation — Working together for free software LibreLocal meetup in València, Spain — Free Software Foundation — Working together for free software LibreLocal meetup in Brasília, Distrito Federal, Brasil — Free Software Foundation — Working together for free software LibreLocal meetup in Tarragona, Catalunya, Spain — Free Software Foundation — Working together for free software LibreLocal meetup in Salamanca, Salamanca, Spain — Free Software Foundation — Working together for free software LibreLocal meetup in Toronto, Ontario, Canada — Free Software Foundation — Working together for free software LibreLocal meetup in Brantford, Ontario, Canada — Free Software Foundation — Working together for free software LibreLocal meetup in San Carlos de Bariloche, Provincia de Río Negro, Argentina — Free Software Foundation — Working together for free software Nonfree and unethical — Free Software Foundation — Working together for free software Free Software Directory meeting on IRC: Friday, April 24, starting at 12:00 EDT (16:00 UTC) — Free Software Foundation — Working together for free software LibreLocal meetup in Beijing, China — Free Software Foundation — Working together for free software You cannot use the GNU (A)GPL to take software freedom away Free Software Directory meeting on IRC: Friday, April 17, starting at 12:00 EDT (16:00 UTC) Is anonymity on the internet possible? with Sean O’Brien LibreLocal meetup in Duoala, Cameroon LibreLocal meetup in Atlanta, Georgia, United States of America Free Software Directory meeting on IRC: Friday, April 10, starting at 12:00 EDT (16:00 UTC) Free Software Supporter – Numéro 216, avril 2026 Free Software Supporter — Número 216, abril 2026 Free Software Supporter — Issue 216, April 2026 March GNU Spotlight with Amin Bandali featuring eighteen new GNU releases: Autoconf, PSPP, and more! LibreLocal meetup in Livermore, California, United States LibreLocal meetup in Oviedo, Asturias, Spain LibreLocal meetup in Oviedo, Asturias, Spain LibreLocal meetup in Oviedo, Asturias, Spain
Relicensing versus license compatibility — Free Software Foundation — Working together for free software
2026-04-09 · via

Published on Apr 08, 2026 09:51 AM

Contributors: Krzysztof Siewicz, Yoni Rabkin

Relicensing and license compatibility are two important aspects of how licensing works in the free software community. This article explains both concepts, what they have in common, and how they differ.

This is an adjusted and updated version of the article "Relicensing versus Compatibility" by Yoni Rabkin, originally published at https://libreguide.org/relicensing_vs_compatiblity.html, modified, reprinted, and relicensed with permission from the author.

The FSF's Licensing and Compliance Lab receives many questions and license violation reports related to projects that had their license changed by a downstream distributor, or that are combined from two or more programs under different licenses. We collaborated with Yoni Rabkin, an experienced and long time FSF licensing volunteer, on an updated version of his article to provide the free software community with a general explanation on how the GNU General Public License (GNU GPL) is intended to work in such situations.

Note: the framing of this article is not legal advice as used, for example, at https://www.gnu.org/licenses/gpl-faq.html (quoted below):



Relicensing

A freedom-respecting software license (or free 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 lax Modified BSD license, or many, like the Mozilla Public License 2.0. One of the rights automatically granted to the copyright holder of a work is to license that work to others. A copyright holder in the free software community chooses a free license, applies it to their work, and releases it to the community. The community is then free to run, study, change, copy, distribute, and improve 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 such 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 (and if there are multiple copyright holders, they all need to agree to do so).

Relicensing explicitly permitted by copyright holder(s)

Some copyright holders, however, do permit recipients to further distribute the copy in their possession under a different license. For example, the copyright holder can release a work under a GNU GPL and add the option for recipients to follow a later version of the GNU GPL; however, this is optional and at the discretion of the copyright holder. They may also license the work without adding the option for others to upgrade to a newer version of the license.

If a copyright holder licenses the work under "GNU GPL version 2 or any later version," it means the work is effectively licensed under either the GNU GPLv2 or the GNU GPLv3 (or any later version that the FSF releases). Recipients of such a work can choose to further distribute their copy under the GNU GPLv3 instead of the GNU GPLv2, 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 only they can freely change the license of the work to any other license. Relicensing explicitly permitted by copyright holder(s), in contrast, is when a non-copyright holder exercises the right given to them by the copyright holder(s) to further distribute the work under a different license. The non-copyright holder is limited to the permitted changes in licensing.

What is compatibility?

Independent works can be combined when their licenses are compatible. Licenses are deemed compatible if their respective requirements are not in contradiction and it is possible to abide by all of the terms of all involved licenses. The compatibility between the GNU GPLv3 and the Modified BSD licenses is one example of how a GNU GPL license is compatible with another license. Sections 1 and 2 of the Modified BSD license read:

(1) Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

(2) Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

These sections do not contradict the GNU GPLv3's requirements for distributing either source or binary forms of a work (cf the GNU GPLv3 Sec. 4). Section 3 of the Modified BSD license has a condition that is explicitly permitted in section 7(c) of the GNU GPLv3:

(3) The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission.

Since there are no contradictions, you can take two independent works, one under the GNU GPLv3 and one under the Modified BSD license, and distribute them combined together as a whole.

Conversely, Licenses are determined incompatible if there are contradicting requirements between them that thereby prevent you from combining independent pieces of software into a single, larger work. To explain incompatibility, let us examine why the GNU GPLv3 and CPAL licenses are incompatible: the Common Public Attribution License Version 1.0 (CPAL) has a condition in section 3.1 that requires you to distribute source code only under the CPAL license. The GNU GPLv3 has a condition under section 5(c) that the work as a whole must be licensed under the terms of the GNU GPLv3. You cannot satisfy both license conditions at once; the source cannot be released only under the GNU GPLv3 and only under CPAL. These contradicting terms make the two licenses incompatible.

What happens to compatible licenses when programs are combined?

We can use the example of the GNU GPLv3 and the Modified BSD licenses to see how compatibility works in practice. The GNU GPLv3 and the Modified BSD licenses are indeed compatible: we can combine two pieces of software, one under the GNU GPLv3 and the other under the Modified BSD license, and distribute that combination as a single, larger work. In order to distribute the combined work, we will have to satisfy all of the conditions of the GNU GPLv3 and all of the conditions of the Modified BSD license. To comply with the conditions of the Modified BSD license we have to:

  1. Preserve the copyright notice, the text of the license, and the warranty disclaimer; and
  2. Not use the name of the author for endorsement or promotion without consent. (Please see the license for exact requirements.)

Everything that the GNU 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. Please see the text of the GNU GPLv3 for details, but the license includes obligations to preserve notices, license and disclaimer, and it specifies a framework for prohibiting misrepresentation. Additional protections of the GNU GPLv3 include the obligation to provide source code.

The work under the Modified BSD license is not relicensed to the GNU GPLv3 when distributed in combination with a work released under the GNU GPLv3. Instead, it stays under the Modified BSD license and the recipient can then extract the Modified BSD licensed part of the software and distribute it independently and with its original license intact. Nevertheless, the whole combination has to be released under the GNU GPLv3 because this is a requirement of the GNU GPLv3 which governs the other part. This requirement is not in conflict with any obligation attached to the part subject to the Modified BSD.

For a more detailed explanation on how to maintain proper licensing information in projects that incorporate source code licensed under different but compatible licenses, we recommend reading these guidelines.

Conclusion

Relicensing (or the ability to change a program's license) is a power granted only to the copyright holder, however, there are ways for the copyright holder to permit others to make certain prescribed licensing changes.

License compatibility exists when two or more works with different licenses can be combined and distributed as a larger whole. License compatibility is only possible if all the requirements of each license involved can be satisfied.

Sincerely,

Krzysztof Siewicz
Licensing and compliance manager