Is GPL 2.0 compatible with GPL 3.0?
GPL 2.0-licensed code is not compatible with a GPL 3.0 project. Here is what that means for your obligations, conflicts, and distribution.
The license of the code you want to use.
The license you are applying to your project.
The short answer
GPL v2.0 "only" is incompatible with GPL v3.0 because of differing terms. If the v2.0 code is licensed "or later", it becomes compatible.
Key obligations
Combine only if the GPL v2.0 code carries the "or later" exception.
Potential conflicts
GPL v3.0 adds patent-retaliation and anti-tivoization clauses that GPL v2.0 (only) does not allow.
Distribution notes
Cannot distribute a combined work unless the v2.0 code has the "or later" exception.
Deep-dive resources
Stop guessing. Start automating.
Modern applications pull in hundreds of transitive dependencies. A manual check can't keep up.
Disclaimer: This tool offers general guidance based on widely accepted open source community norms and does not constitute legal advice. For commercial use, always consult legal counsel or use a dedicated compliance platform like FOSSA to analyze your specific dependency graph.
What this means in practice
GNU GPL v2.0 (Only) is a strong copyleft license and GNU GPL v3.0 is a strong copyleft license. Combining them in a single distributed work is not permitted because their terms conflict. You can often still use the GPL 2.0 component if you keep it at arm's length — behind a separate process or network boundary — or by choosing an alternatively-licensed dependency.
Compliance checklist for GPL 2.0 → GPL 3.0
- Do not combine GPL 2.0 and GPL 3.0 code in the same distributed binary.
- Isolate the GPL 2.0 component behind a process or network boundary if you must use it.
- Evaluate an alternatively-licensed library, or re-license your project to resolve the conflict.
- Get legal sign-off before shipping anything that links the two.
About these licenses
GNU GPL v2.0 (Only)
LibraryStrong copyleft. Distributing a combined work means releasing all of it under GPL v2.0. The "only" variant is incompatible with the GPL v3 family.
- Type
- Strong copyleft
- Patent grant
- None
- Source sharing
- Entire combined work
GNU GPL v3.0
ProjectStrong copyleft with patent and anti-tivoization protections. Designed to be compatible with Apache 2.0.
- Type
- Strong copyleft
- Patent grant
- Express
- Source sharing
- Entire combined work
GPL 2.0 and GPL 3.0: frequently asked questions
Common questions about combining GNU GPL v2.0 (Only) and GNU GPL v3.0.
Is GPL 2.0 compatible with GPL 3.0?
GPL v2.0 "only" is incompatible with GPL v3.0 because of differing terms. If the v2.0 code is licensed "or later", it becomes compatible.
Can I use GPL 2.0 code in a GPL 3.0 SaaS or cloud application?
GPL v2.0 "only" is incompatible with GPL v3.0 because of differing terms. If the v2.0 code is licensed "or later", it becomes compatible.
What are my obligations when combining GPL 2.0 and GPL 3.0?
Combine only if the GPL v2.0 code carries the "or later" exception. Cannot distribute a combined work unless the v2.0 code has the "or later" exception.