License Compatibility Language
5 exercises — Navigate the English vocabulary of license compatibility: GPL conflicts, copyleft propagation, LGPL linking rules, and AGPL's impact on SaaS products.
0 / 5 completed
1 / 5
A developer wants to combine a GPL v2-licensed library with an Apache 2.0-licensed library in a distributed application. Is this combination permitted?
GPL v2 and Apache 2.0 are incompatible because Apache 2.0's patent retaliation clause conflicts with GPL v2's terms.
Why they're incompatible:
• Apache 2.0 §3 terminates patent licenses if a recipient files a patent lawsuit related to the software
• GPL v2 §6 requires that recipients have the same rights as everyone else — no additional restrictions
• The patent termination clause is an "additional restriction" that GPL v2 forbids
• Therefore, you cannot legally combine code under both licenses in one distributed binary
The good news — GPL v3 fixed this:
• GPL v3 was specifically designed to be compatible with Apache 2.0
• If the GPL library is "GPL v2 or later", you can use it under GPL v3 and combine with Apache 2.0
• If it's "GPL v2 only", the incompatibility remains
Practical check: look for
Key vocabulary:
• License compatibility — the ability to combine works under different licenses in a single distributed product
• Patent retaliation clause — a provision that terminates patent rights if a licensee sues the licensor for patent infringement
• GPL v2 only — code that can only be used under GPL version 2, not later versions
• GPL-2.0-or-later — code that permits use under GPL v2 or any later GPL version (including v3)
Why they're incompatible:
• Apache 2.0 §3 terminates patent licenses if a recipient files a patent lawsuit related to the software
• GPL v2 §6 requires that recipients have the same rights as everyone else — no additional restrictions
• The patent termination clause is an "additional restriction" that GPL v2 forbids
• Therefore, you cannot legally combine code under both licenses in one distributed binary
The good news — GPL v3 fixed this:
• GPL v3 was specifically designed to be compatible with Apache 2.0
• If the GPL library is "GPL v2 or later", you can use it under GPL v3 and combine with Apache 2.0
• If it's "GPL v2 only", the incompatibility remains
Practical check: look for
GPL-2.0-or-later vs GPL-2.0-only in SPDX headers.Key vocabulary:
• License compatibility — the ability to combine works under different licenses in a single distributed product
• Patent retaliation clause — a provision that terminates patent rights if a licensee sues the licensor for patent infringement
• GPL v2 only — code that can only be used under GPL version 2, not later versions
• GPL-2.0-or-later — code that permits use under GPL v2 or any later GPL version (including v3)