License Compatibility Matrix
Understand which licenses can be combined in your project
How to Read This Matrix
Read from left (your project license) to top (dependency license). For example: If your project uses MIT and you want to include a GPL-3.0 dependency, find MIT on the left and GPL-3.0 on top.
| From ↓ To → |
MIT
|
Apache 2.0
|
BSD 3-Clause
|
BSD 2-Clause
|
ISC
|
GPL 3.0
|
GPL 2.0
|
LGPL 3.0
|
LGPL 2.1
|
MPL 2.0
|
AGPL 3.0
|
CC0 1.0
|
Unlicense
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| MIT | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ | ✓ | ✓ | ✗ | ✓ | ✓ |
| Apache 2.0 | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ | ✓ | ✓ | ✗ | ✓ | ✓ |
| BSD 3-Clause | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ | ✓ | ✓ | ✗ | ✓ | ✓ |
| BSD 2-Clause | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ | ✓ | ✓ | ✗ | ✓ | ✓ |
| ISC | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ | ✓ | ✓ | ✗ | ✓ | ✓ |
| GPL 3.0 | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ! | ✗ | ✗ | ✗ | ! | ✓ | ✓ |
| GPL 2.0 | ✗ | ✗ | ✗ | ✗ | ✗ | ! | ✓ | ✗ | ✗ | ✗ | ! | ✓ | ✓ |
| LGPL 3.0 | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ | ! | ! | ✗ | ✓ | ✓ |
| LGPL 2.1 | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ! | ✓ | ! | ✗ | ✓ | ✓ |
| MPL 2.0 | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ! | ! | ✓ | ✗ | ✓ | ✓ |
| AGPL 3.0 | ✗ | ✗ | ✗ | ✗ | ✗ | ! | ! | ✗ | ✗ | ✗ | ✓ | ✓ | ✓ |
| CC0 1.0 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Unlicense | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Common Compatibility Scenarios
Permissive + Permissive
Generally compatible. You can combine permissive licenses like MIT, Apache, and BSD without issues.
Permissive + GPL
The combined work must be licensed under GPL. Your MIT code becomes GPL when distributed together.
Apache 2.0 + GPL 2.0
Incompatible due to patent clauses. Use GPL 3.0 instead, which is compatible with Apache 2.0.
Commercial + LGPL
Can be used if dynamically linked. Static linking requires open-sourcing your code.
Need to Check Your Dependencies?
Use our free tool to scan your project and detect license conflicts automatically.
Check Your Project