Overview of OSS License Compatibility Matrix

A practical comparison of thirteen widely used open source licenses: what each one requires, what it allows, and whether code under one can be incorporated into a work distributed under another.

Not legal advice. This is a summary of the license texts and of guidance published by the license stewards (FSF, ASF, Mozilla, Eclipse Foundation, European Commission) and other well-known references. Edge cases — especially around linking, “derivative work”, and SaaS — depend on facts and jurisdiction. Read the license text and, for anything with real stakes, ask a lawyer.

How to read the matrix🔗

The question each cell answers:

Can code under the row license be incorporated into a larger work that is distributed under the column license?

Compatibility is directional. MIT code can go into a GPL project, but GPL code cannot go into an MIT project (the combined work would have to be GPL).

SymbolMeaning
✅Yes. Keep the inbound code’s copyright and license notices.
⚠️Only under conditions — see the numbered note. Often the inbound code keeps its own license while the rest of the work uses the column license.
❌No. The combined work cannot be distributed under the column license.

“GPL-2.0” / “LGPL-2.1” in the matrix mean the -only variants. Code licensed “version N or any later version” can usually be taken under the later version, which changes several ❌ cells to ✅ (see note 5).

Overview🔗

LicenseSPDX IDTypeCopyleft scopeExpress patent grantUpstream text
MITMITPermissive—Noopensource.org/license/mit
ISCISCPermissive—Noisc.org/licenses
BSD 2-ClauseBSD-2-ClausePermissive—Noopensource.org/license/bsd-2-clause
BSD 3-ClauseBSD-3-ClausePermissive—Noopensource.org/license/bsd-3-clause
Apache 2.0Apache-2.0Permissive—Yes (§3)apache.org/licenses/LICENSE-2.0
Mozilla Public License 2.0MPL-2.0Weak copyleftFileYes (§2.1)mozilla.org/MPL/2.0
Eclipse Public License 2.0EPL-2.0Weak copyleftModuleYes (§2)eclipse.org/legal/epl-2.0
GNU LGPL 2.1LGPL-2.1-only / -or-laterWeak copyleftLibraryNo (implicit only)gnu.org/…/lgpl-2.1
GNU LGPL 3.0LGPL-3.0-only / -or-laterWeak copyleftLibraryYes (via GPLv3 §11)gnu.org/…/lgpl-3.0
GNU GPL 2.0GPL-2.0-only / -or-laterStrong copyleftWhole programNo (implicit only)gnu.org/…/gpl-2.0
GNU GPL 3.0GPL-3.0-only / -or-laterStrong copyleftWhole programYes (§11)gnu.org/…/gpl-3.0
GNU AGPL 3.0AGPL-3.0-only / -or-laterNetwork copyleftWhole program + network useYes (§11)gnu.org/…/agpl-3.0
European Union Public Licence 1.2EUPL-1.2Network copyleft, with compatibility clauseDerivative work + network useYes (Art. 2)interoperable-europe.ec.europa.eu/…/eupl-text-eupl-12

MIT and the BSD licenses have no single license steward; the Open Source Initiative’s copies are used as the canonical reference text.

Obligations at a glance🔗

What you must do when you distribute code under each license. All thirteen allow commercial use, modification, distribution and private use, and all disclaim warranty and liability. Details and section references are in each license’s chapter.

LicenseKeep noticesState changesDisclose sourceSame licenseNetwork use counts
MIT✅————
ISC✅————
BSD-2-Clause✅————
BSD-3-Clause✅————
Apache-2.0✅ + NOTICE✅———
MPL-2.0✅—✅ file✅ file—
EPL-2.0✅—✅ module✅ module—
LGPL-2.1✅✅✅ library✅ library—
LGPL-3.0✅✅✅ library✅ library—
GPL-2.0✅✅✅ whole work✅ whole work—
GPL-3.0✅✅✅ whole work✅ whole work—
AGPL-3.0✅✅✅ whole work✅ whole work✅
EUPL-1.2✅✅✅ derivative work✅ or a listed compatible licence✅
  • Keep notices: retain copyright and license notices and ship the license text.
  • State changes: mark modified files as changed.
  • Disclose source / Same license: the scope shows how far the copyleft reaches — only the covered files (MPL), modules (EPL), the library itself (LGPL), the whole combined program (GPL/AGPL), or derivative works (EUPL).
  • Network use counts: letting users interact with a modified version over a network triggers the source obligation, even without distribution.

Compatibility matrix🔗

Rows = license of the code you want to include. Columns = license of the combined work you distribute.

Inbound ↓ / Outbound →MIT / ISC / BSDApache-2.0MPL-2.0EPL-2.0LGPL-2.1LGPL-3.0GPL-2.0GPL-3.0AGPL-3.0EUPL-1.2
MIT✅✅✅✅✅✅✅✅✅✅
ISC✅✅✅✅✅✅✅✅✅✅
BSD-2-Clause✅✅✅✅✅✅✅✅✅✅
BSD-3-Clause✅✅✅✅✅✅✅✅✅✅
Apache-2.0✅ ¹✅✅✅❌ ⁷✅❌ ⁷✅✅✅ ¹²
MPL-2.0⚠️ ²⚠️ ²✅⚠️ ²⚠️ ³⚠️ ³⚠️ ³⚠️ ³⚠️ ³⚠️ ²
EPL-2.0⚠️ ²⚠️ ²⚠️ ²✅❌ ⁴❌ ⁴⚠️ ⁴⚠️ ⁴⚠️ ⁴ ⁶⚠️ ²
LGPL-2.1⚠️ ⁸⚠️ ⁸⚠️ ⁸⚠️ ⁸✅⚠️ ⁵✅ ⁹✅ ⁹✅ ⁹ ⁶⚠️ ⁸
LGPL-3.0⚠️ ⁸⚠️ ⁸⚠️ ⁸⚠️ ⁸❌✅❌ ¹⁰✅✅ ⁶⚠️ ⁸
GPL-2.0❌❌❌❌❌❌✅❌ ⁵❌ ⁵❌ ¹²
GPL-3.0❌❌❌❌❌❌❌✅✅ ⁶❌ ¹²
AGPL-3.0❌❌❌❌❌❌❌⚠️ ⁶✅❌ ¹²
EUPL-1.2❌❌⚠️ ¹¹❌ ¹¹⚠️ ¹¹⚠️ ¹¹⚠️ ¹¹⚠️ ¹¹⚠️ ¹¹✅

Matrix notes🔗

  1. Apache-2.0 → permissive. Allowed: Apache-2.0 §4 lets you put your own license terms on a derivative work as a whole, provided you still comply with Apache-2.0 for the Apache-licensed parts. Those parts stay Apache-2.0 (keep LICENSE, NOTICE, change notices); you cannot relabel them MIT.
  2. Weak copyleft into a differently licensed work. MPL-2.0 (§3.3 “Larger Work”) and EPL-2.0 let you combine covered code with code under other terms. The MPL/EPL-covered files or modules stay under MPL/EPL, including the obligation to publish source for them and for your changes to them; the rest of the work may use the outbound license.
  3. MPL-2.0 → (L/A)GPL via “Secondary Licenses”. MPL-2.0 §1.12 and §3.3 let you additionally distribute MPL code under GPL-2.0, LGPL-2.1, AGPL-3.0 or later versions when it is combined with a work under one of those — unless the original author attached the Exhibit B “Incompatible With Secondary Licenses” notice. Mozilla’s FAQ (Q14) adds that there must be a real combination with existing (L)GPL code, and that the MPL code is then offered under both licenses.
  4. EPL-2.0 → GPL only by opt-in. EPL-2.0 is GPL-incompatible by default. If the initial contributor attached the Exhibit A Secondary License notice (GPL-2.0 or a later version, optionally with exceptions such as the Classpath exception), the code may be combined with and distributed under that GPL. The secondary license can only be the GPL family, so an LGPL-licensed outbound work is not covered. AGPL-3.0 is reachable only through GPL-3.0 §13 (note 6).
  5. “-only” vs “-or-later”. GPL-2.0-or-later code can be used under GPL-3.0 (and then combined with AGPL-3.0 via §13). LGPL-2.1-or-later code can be used under LGPL-3.0. With the -only variants these cells are ❌.
  6. GPL-3.0 ↔ AGPL-3.0 (§13 of each). Each license explicitly permits linking or combining with a work under the other into a single combined work. Each part keeps its own license; the AGPL network-source requirement keeps applying to the AGPL part. The FSF notes they are not compatible in the strict sense of relicensing one as the other.
  7. Apache-2.0 → GPL-2.0 / LGPL-2.1. The FSF does not consider Apache-2.0 compatible with GPLv2 (because of Apache’s patent-termination and indemnification terms); the ASF documents the same. LGPL-2.1 forbids additional restrictions in the same way. Apache-2.0 is compatible with GPLv3, hence with LGPL-3.0 and AGPL-3.0.
  8. LGPL as a library only. LGPL code may be used by a work under any license (including proprietary) when kept as a separate library that recipients can replace or relink (LGPL-2.1 §6; LGPL-3.0 §4). You cannot copy LGPL source into a file distributed under the outbound license.
  9. LGPL-2.1 → GPL. LGPL-2.1 §3 lets you switch a copy to the ordinary GNU GPL, version 2 or any later version — so even LGPL-2.1-only code can go into GPL-2.0, GPL-3.0 and (via §13) AGPL-3.0 works.
  10. LGPL-3.0 → GPL-2.0-only. Not compatible: LGPLv3 is GPLv3 plus extra permissions, and GPLv3 is incompatible with GPLv2-only.
  11. EUPL-1.2 → listed “Compatible Licences”. EUPL-1.2 Art. 5 lets you distribute a derivative work that combines EUPL code with a work under a licence named in its Appendix under that other licence; where obligations conflict, the other licence’s prevail. The Appendix names exact versions: GPL v2 and v3, AGPL v3, LGPL v2.1 and v3, MPL v2, EPL v1.0 (so not EPL-2.0), plus OSL, CeCILL, LiLiQ and CC BY-SA 3.0 for non-software. There is no route to permissive licences. Because “GPL-3.0-or-later” is not listed, the FSF reaches it only indirectly (via CeCILL v2) and classifies EUPL-1.2 as GPL-incompatible by itself, even though GPL-2.0-only and GPL-3.0-only are direct.
  12. Into an EUPL-1.2 work. Permissive code (MIT, BSD, Apache-2.0) can be incorporated as long as its notices are kept, per the Commission-hosted EUPL compatibility matrix. GPL-family code cannot be relicensed as EUPL. To combine the two, use note 11 in reverse: distribute the combined work under the GPL/AGPL version the Appendix lists.

MIT License🔗

Upstream text: opensource.org/license/mit · SPDX MIT · No license steward (originated at MIT); OSI hosts the reference copy.

Allows🔗

  • Use, copy, modify, merge, publish, distribute, sublicense and sell, for any purpose including commercial.
  • Distributing modified versions and larger works under any other terms, including proprietary, with no obligation to release source.

Requires🔗

  • Keep the copyright notice and the permission notice in all copies or substantial portions of the software.

Does not grant / limits🔗

  • No warranty; no liability for the authors.
  • No express patent license (contrast Apache-2.0).

Compatibility: Compatible with every license in this document, including GPL-2.0 and GPL-3.0. Apache treats it as a Category A (“Apache-like”) license.

Sources🔗

ISC License🔗

Upstream text: isc.org/licenses (Internet Systems Consortium, the license’s originator) · SPDX ISC

Allows🔗

  • Use, copy, modify and distribute for any purpose, with or without fee.
  • Relicensing derivatives / larger works under other terms, including proprietary.

Requires🔗

  • The copyright notice and the permission notice must appear in all copies.

Does not grant / limits🔗

  • No warranty; no liability.
  • No express patent license.

Compatibility: Functionally equivalent to MIT / BSD-2-Clause in effect; compatible with every license here. Note that ISC’s own current software (BIND 9, Kea) has moved to MPL-2.0 — the ISC License itself is unchanged.

Sources🔗

BSD-2-Clause (Simplified BSD)🔗

Upstream text: opensource.org/license/bsd-2-clause · SPDX BSD-2-Clause · Also called the “Simplified” or “FreeBSD” license.

Allows🔗

  • Redistribution and use in source and binary forms, with or without modification, for any purpose.
  • Distributing derivatives under other terms, including proprietary.

Requires🔗

  • Source redistributions: keep the copyright notice, the list of conditions and the disclaimer.
  • Binary redistributions: reproduce the same notice, conditions and disclaimer in the documentation and/or other materials shipped with the binary.

Does not grant / limits🔗

  • No warranty; no liability.
  • No express patent license.

Compatibility: Compatible with every license here. Apache Category A.

Sources🔗

BSD-3-Clause (New / Modified BSD)🔗

Upstream text: opensource.org/license/bsd-3-clause · SPDX BSD-3-Clause

Allows🔗

  • Same as BSD-2-Clause: any use, modification and redistribution, in source or binary form, including under proprietary terms.

Requires🔗

  • Same two notice conditions as BSD-2-Clause (source and binary).
  • Non-endorsement: you may not use the name of the copyright holder or contributors to endorse or promote derived products without prior written permission.

Does not grant / limits🔗

  • No warranty; no liability; no express patent license.
  • Do not confuse with the old 4-clause BSD (“advertising clause”), which is GPL-incompatible and is ASF Category X.

Compatibility: Compatible with every license here. Apache Category A.

Sources🔗

Apache License 2.0🔗

Upstream text: apache.org/licenses/LICENSE-2.0 · SPDX Apache-2.0 · Steward: Apache Software Foundation

Allows🔗

  • Perpetual, worldwide, royalty-free copyright license to reproduce, modify, sublicense and distribute, in source or object form (§2).
  • Express patent license from each contributor covering their contributions (§3).
  • Applying your own license terms to your modifications or to a derivative work as a whole, as long as you comply with Apache-2.0 for the original work (§4, final paragraph). No obligation to release source.
  • Offering warranty or support for a fee, on your own behalf only (§9).

Requires🔗

  • Give recipients a copy of the license (§4a).
  • Mark modified files with prominent notices that you changed them (§4b).
  • Retain copyright, patent, trademark and attribution notices from the source (§4c).
  • If the work ships a NOTICE file, include its attribution notices in your distribution (§4d).
  • Contributions you submit are under Apache-2.0 unless you state otherwise (§5).

Does not grant / limits🔗

  • Patent retaliation: if you sue alleging the work infringes a patent, your patent license under it terminates (§3).
  • No trademark rights beyond describing origin and reproducing NOTICE (§6).
  • No warranty; no liability (§7–8).

Compatibility: Compatible with GPL-3.0, LGPL-3.0, AGPL-3.0; incompatible with GPL-2.0-only (and by extension LGPL-2.1-only) per the FSF and ASF. Combines freely with MPL-2.0 (Mozilla FAQ Q13).

Sources🔗

Mozilla Public License 2.0🔗

Upstream text: mozilla.org/en-US/MPL/2.0 · SPDX MPL-2.0 · Steward: Mozilla Foundation

Allows🔗

  • Use, modify, distribute and otherwise exploit, with an express patent license from each contributor (§2.1).
  • Distributing executables under different terms, as long as those terms do not restrict recipients’ rights to the MPL source (§3.2b).
  • Creating a Larger Work under any terms, including proprietary or static linking — only the MPL-covered files carry obligations (§3.3; FAQ Q11).
  • Combining with GPL-2.0+, LGPL-2.1+, AGPL-3.0+ code by additionally distributing the MPL files under that license (§3.3), unless marked Exhibit B.
  • Using a later MPL version (§10.2).

Requires🔗

  • File-level copyleft: any distributed source of covered files, including your modifications to them, must be under MPL-2.0; tell recipients so (§3.1). New files you add that contain no MPL code are not covered (§1.10; FAQ Q11).
  • When distributing executables, make the corresponding MPL source available and tell recipients how to get it, at no more than distribution cost (§3.2a).
  • Don’t remove or alter license, copyright, patent or warranty notices in the source (§3.4).
  • Attach the Exhibit A header to each file (or a place recipients would look, such as a LICENSE file).

Does not grant / limits🔗

  • No trademark rights (§2.3).
  • Patent retaliation: suing over patents in a Contributor Version terminates your grants (§5.2).
  • Obligations are triggered by distribution, not internal use (FAQ Q5–Q6, Q17).
  • No warranty; no liability (§6–7).

Compatibility: Combines with permissive and proprietary code at the file level; GPL-family compatible through Secondary Licenses unless Exhibit B is attached. ASF Category B (binary-only inclusion).

Sources🔗

Eclipse Public License 2.0🔗

Upstream text: eclipse.org/legal/epl-2.0 · SPDX EPL-2.0 · Steward: Eclipse Foundation

Allows🔗

  • Copyright and patent licenses from each contributor to use, modify and distribute.
  • Distributing the program in object form under your own license, provided it doesn’t restrict recipients’ rights to the source and passes the same requirement downstream.
  • Combining with separate modules under other licenses: copyleft applies to “Modified Works” (changes to EPL code), not to separate modules that merely link to it.
  • Optional Secondary License (GPL-2.0 or later, with or without exceptions) if the initial contributor opts in via Exhibit A.

Requires🔗

  • Make the source of the EPL-covered program (including your modifications) available under EPL-2.0 when you distribute it in any form, and tell recipients how to get it.
  • Source distributions must be under EPL-2.0 (or the designated Secondary License, if any) and include a copy of the license.
  • Keep existing copyright and license notices.
  • Commercial distributors who offer the program in a commercial product must defend and indemnify contributors against claims caused by the distributor’s own commercial representations.

Does not grant / limits🔗

  • Patent retaliation: patent litigation over the program terminates the litigant’s patent license.
  • No trademark rights; no warranty; no liability.
  • Not GPL-compatible unless Exhibit A designates the GPL.

Compatibility: Weak, module-level copyleft. GPL compatibility is opt-in (the reverse of MPL-2.0, where it is opt-out). ASF Category B. Common real-world pattern: Jakarta EE APIs under EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0.

Sources🔗

GNU LGPL 2.1🔗

Upstream text: gnu.org/licenses/old-licenses/lgpl-2.1.html · SPDX LGPL-2.1-only / LGPL-2.1-or-later · Steward: Free Software Foundation

Allows🔗

  • Linking the library into programs under any license, including proprietary (“work that uses the Library”, §5–6).
  • Converting any copy to the ordinary GNU GPL, version 2 or later (§3).
  • Charging for distribution; offering warranty for a fee (§1).

Requires🔗

  • Modified versions of the library must themselves be libraries and be licensed under LGPL-2.1, with prominent change notices (§2).
  • Distribute library source with binaries, or a written offer for it (§4).
  • When distributing a combined work (§6): allow the user to modify the library and relink, permit reverse engineering for debugging those modifications, give notice that the library is used and include the license — e.g. by shipping object files for relinking or by using a shared-library mechanism.
  • No further restrictions on recipients (§10).

Does not grant / limits🔗

  • No express patent license.
  • If a patent claim or court order prevents you from meeting the conditions, you may not distribute at all (§11).
  • No warranty; no liability (§15–16).

Compatibility: Into GPL-2.0 / GPL-3.0 works via §3. LGPL-2.1-only cannot be combined into LGPL-3.0 source; LGPL-2.1-or-later can. Apache-2.0 code cannot be merged in (same reasoning as GPLv2). ASF Category X.

Sources🔗

GNU LGPL 3.0🔗

Upstream text: gnu.org/licenses/lgpl-3.0.html · SPDX LGPL-3.0-only / LGPL-3.0-or-later · Steward: Free Software Foundation

LGPL-3.0 is written as GPL-3.0 plus additional permissions; everything not covered by those permissions falls back to GPL-3.0.

Allows🔗

  • Distributing a “Combined Work” (your application linked with the library) under terms of your choice (§4).
  • Using material from the library’s header files (small macros, inline functions, data structures) in your object code without the copyleft applying, with attribution (§3).
  • Dropping the extra permissions and treating the code as plain GPL-3.0.
  • Express patent license, inherited from GPL-3.0 §11.

Requires🔗

  • Modified versions of the library stay under LGPL-3.0 (or GPL-3.0) (§2).
  • For a Combined Work (§4): give prominent notice that the library is used and under what license; ship copies of GPL-3.0 and LGPL-3.0; include copyright notices; and either provide the Minimal Corresponding Source so users can relink against a modified library, or use a shared-library mechanism that works with a user-installed version.
  • Provide installation information where GPL-3.0 §6 would require it (User Products).
  • Allow reverse engineering for debugging modifications (§4).

Does not grant / limits🔗

  • Inherits GPL-3.0’s termination, patent and anti-DRM provisions.
  • No warranty; no liability.

Compatibility: Compatible with GPL-3.0 and AGPL-3.0; not with GPL-2.0-only or LGPL-2.1-only. Apache-2.0 code can be incorporated. ASF Category X.

Sources🔗

GNU GPL 2.0🔗

Upstream text: gnu.org/licenses/old-licenses/gpl-2.0.html · SPDX GPL-2.0-only / GPL-2.0-or-later · Steward: Free Software Foundation

Allows🔗

  • Running the program for any purpose; copying and distributing verbatim source; charging for distribution (§0–1).
  • Modifying and distributing modified versions (§2).
  • Choosing any later GPL version if the licensor said “or any later version” (§9).
  • Mere aggregation with other works on the same storage/distribution medium does not extend the GPL to them (§2).

Requires🔗

  • Keep copyright notices, the disclaimer and a copy of the license (§1).
  • Modified files must carry prominent notices of the changes and date (§2a).
  • The whole work containing or derived from the program must be licensed under GPL-2.0 at no charge to third parties (§2b).
  • Interactive programs that announce copyright on start-up must keep doing so (§2c).
  • Binaries must be accompanied by complete source, or a written offer valid for at least three years, or (non-commercial only) the offer you received (§3).
  • No further restrictions on recipients’ rights (§6). If you can’t comply (e.g. due to a patent settlement), you can’t distribute (§7).

Does not grant / limits🔗

  • No express patent license.
  • Any violation terminates your rights automatically (§4), with no cure period.
  • No warranty; no liability (§11–12).

Compatibility: GPL-2.0-only is incompatible with GPL-3.0, LGPL-3.0, AGPL-3.0 and Apache-2.0. GPL-2.0-or-later code can be used under GPL-3.0. ASF Category X.

Sources🔗

GNU GPL 3.0🔗

Upstream text: gnu.org/licenses/gpl-3.0.html · SPDX GPL-3.0-only / GPL-3.0-or-later · Steward: Free Software Foundation

Allows🔗

  • Running, studying, modifying and distributing (“conveying”) for any purpose, including commercially (§2, §4–6).
  • Several ways to provide source with object code: alongside it, by written offer, from a network server, or via peer-to-peer (§6).
  • Adding certain permissive or limited extra terms, e.g. attribution requirements or trademark limits (§7) — which is how Apache-2.0 code fits in.
  • Combining with AGPL-3.0 code into one work (§13).
  • Using a later version if the licensor said “or any later version”, or if a designated proxy approves it (§14).

Requires🔗

  • Keep notices; include the license (§4).
  • Modified versions: prominent notices of modification with a date, state the work is under GPL-3.0, license the whole work under GPL-3.0, and show “Appropriate Legal Notices” in interactive interfaces (§5).
  • Convey object code only with Corresponding Source (§6).
  • For User Products (consumer devices), provide Installation Information so users can install modified versions (§6) — the “anti-tivoization” clause.
  • Don’t impose further restrictions on recipients (§10).
  • Patent: each contributor grants an express patent license; you may not enter discriminatory patent deals that shield only some recipients (§11).

Does not grant / limits🔗

  • The program is not an “effective technological measure” under anti- circumvention laws, and you waive the right to forbid circumvention (§3).
  • Termination on violation, but with a cure period: reinstated if you stop and aren’t notified within 60 days, or if you fix a first-time violation within 30 days of notice (§8).
  • No warranty; no liability (§15–16).

Compatibility: Accepts MIT/ISC/BSD, Apache-2.0, MPL-2.0 (via Secondary License), LGPL-2.1/3.0, GPL-2.0-or-later. Combines with AGPL-3.0 (§13). Incompatible with GPL-2.0-only. ASF Category X.

Sources🔗

GNU AGPL 3.0🔗

Upstream text: gnu.org/licenses/agpl-3.0.html · SPDX AGPL-3.0-only / AGPL-3.0-or-later · Steward: Free Software Foundation

AGPL-3.0 is GPL-3.0 with one added obligation (§13).

Allows🔗

  • Everything GPL-3.0 allows.
  • Combining with GPL-3.0 code into one work; the GPL-3.0 parts stay GPL-3.0 (§13).

Requires🔗

  • All GPL-3.0 requirements (notices, whole-work copyleft, Corresponding Source, Installation Information, patent terms).
  • Network use: if you modify the program and users interact with it remotely over a network, you must prominently offer those users the Corresponding Source of your modified version, at no charge, from a network server (§13). This applies even if you never distribute binaries.

Does not grant / limits🔗

  • Same as GPL-3.0 (anti-DRM waiver, termination with cure, no warranty).

Compatibility: Only GPL-3.0 can be combined with it, and only via §13 — the FSF notes that AGPL code cannot simply be relicensed as GPL-3.0 or vice versa. Not compatible with GPLv2. ASF Category X.

Sources🔗

European Union Public Licence 1.2🔗

Upstream text: interoperable-europe.ec.europa.eu/collection/eupl/eupl-text-eupl-12 (all 23 official language versions) · SPDX EUPL-1.2 · Steward: European Commission; published as Commission Implementing Decision (EU) 2017/863.

Allows🔗

  • Use, reproduce, modify, communicate to the public, distribute, lend, rent and sublicense, worldwide and royalty-free, for the duration of the copyright (Art. 2).
  • Patent rights held by the licensor, to the extent needed to exercise those rights (Art. 2).
  • Distributing under a later EUPL version, unless the work is marked “EUPL v. 1.2 only” (Art. 5, copyleft clause).
  • Distributing a derivative work that combines the code with a work under a licence listed in the Appendix under that other licence (Art. 5, compatibility clause; see matrix note 11).
  • Using any of the official language versions; all have identical value (Art. 13).

Requires🔗

  • Keep copyright, patent and trademark notices and the licence and disclaimer notices intact, and ship them plus a copy of the licence with every copy (Art. 5, attribution right).
  • Derivative works must carry prominent notices that the work was modified and the date of modification (Art. 5).
  • Copies and derivative works must be under EUPL-1.2 (or a later version, or a listed compatible licence), with no added terms that restrict the licence (Art. 5, copyleft clause).
  • With every copy distributed, provide a machine-readable copy of the source or point to a repository where it is easily and freely available (Art. 5).
  • Network use counts: “Distribution or Communication” includes providing access to the work’s essential functionalities online (Art. 1), so offering it as a service triggers the obligations above.

Does not grant / limits🔗

  • No right to use the licensor’s names, trademarks or service marks beyond describing the origin and reproducing the copyright notice (Art. 5, legal protection).
  • No warranty; limited liability.
  • Jurisdiction and law: disputes go to the courts where the licensor resides or does business, or to the Court of Justice of the EU when an EU institution is the licensor (Art. 14). The governing law is that of the EU Member State where the licensor is based, otherwise Belgian law (Art. 15).

Compatibility: Strong, network-aware copyleft with an explicit escape hatch to the GPL family, MPL-2.0 and others (note 11). The FSF lists it as a free licence but GPL-incompatible by itself, since the escape routes include weaker-copyleft licences and there is no “GPL-3.0-or-later” entry. On linking, the Commission-hosted compatibility page notes there is no European case law; it reads the Software Directive (2009/24/EC) as suggesting that independent programs exchanging data through an interface may not be derivatives.

Sources🔗

General caveats🔗

  • “Compatible” is about combining, not about choosing. Permissive code inside a GPL work is still available under its original permissive terms in its original form; only the combination is GPL.
  • Linking is contested. The FSF treats linking (static or dynamic) as creating a combined work under the GPL; the ASF follows that interpretation in its own policy. Other lawyers disagree. The LGPL, MPL and EPL exist partly to sidestep this question.
  • SaaS. Only AGPL-3.0 and EUPL-1.2 (among these) impose obligations when software is used over a network without being distributed. MPL-2.0 and the GPL count only actual delivery of copies (Mozilla FAQ Q17).
  • Exceptions change the picture. GPL-2.0 WITH Classpath-exception-2.0, the GCC Runtime Library exception, etc. permit combinations the plain licenses would not.
  • Dual licensing (MIT OR Apache-2.0, EPL-2.0 OR GPL-2.0 WITH …) lets you pick whichever option is compatible with your work.
  • Use SPDX identifiers (SPDX-License-Identifier: …) in file headers so scanners and recipients can see exactly which variant applies.

Reference sources🔗

SourcePublisherUse
Various Licenses and Comments about ThemFree Software FoundationGPL-compatibility verdicts for most licenses
GNU GPL FAQ — license compatibility matrixFree Software FoundationGPL/LGPL/AGPL version-to-version combinations
Apache License v2.0 and GPL CompatibilityApache Software FoundationApache-2.0 vs GPLv2/v3
ASF 3rd Party License PolicyApache Software FoundationCategory A / B / X classification
MPL 2.0 FAQMozillaMPL scope, Larger Works, Secondary Licenses
EPL-2.0 FAQEclipse FoundationEPL scope, Secondary License opt-in
EUPL compatible open source licencesEuropean Commission (Interoperable Europe)Licences that can go into, or receive, EUPL code
choosealicense.comGitHubPlain-language permissions / conditions / limitations
OSI license listOpen Source InitiativeReference texts for licenses without a steward