License Compatibility Checker

Check whether you can combine someone else's code into your project and distribute it. Results are general interpretations and may differ when exceptions or additional permissions apply.

The content on this site is general information, not legal advice. For actual distribution, contracts or disputes, consult a lawyer or other qualified professional.

Full compatibility matrix

Rows are the imported code; columns are the project it is combined into and distributed with. It assumes the code is copied or combined and distributed as a single program.

● Allowed◐ Allowed with conditions○ Not allowed
Code ↓ / Project →Proprietary softwareMITApache-2.0GPL-3.0GPL-2.0GPL-2.0+LGPL-3.0LGPL-2.1AGPL-3.0MPL-2.0EPL-2.0BSD-3-ClauseBSD-2-ClauseISC0BSDBSL-1.0UnlicenseCC0-1.0
MITAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowed with conditionsAllowedAllowed with conditionsAllowed with conditions
Apache-2.0AllowedAllowedAllowedAllowedNot allowedAllowed with conditionsAllowedNot allowedAllowedAllowedAllowedAllowedAllowedAllowedAllowed with conditionsAllowedAllowed with conditionsAllowed with conditions
GPL-3.0Not allowedNot allowedNot allowedAllowedNot allowedAllowed with conditionsAllowed with conditionsAllowed with conditionsAllowedNot allowedNot allowedNot allowedNot allowedNot allowedNot allowedNot allowedNot allowedNot allowed
GPL-2.0Not allowedNot allowedNot allowedNot allowedAllowedAllowed with conditionsNot allowedAllowed with conditionsNot allowedNot allowedNot allowedNot allowedNot allowedNot allowedNot allowedNot allowedNot allowedNot allowed
GPL-2.0+Not allowedNot allowedNot allowedAllowedAllowedAllowedAllowed with conditionsAllowed with conditionsAllowed with conditionsNot allowedNot allowedNot allowedNot allowedNot allowedNot allowedNot allowedNot allowedNot allowed
LGPL-3.0Allowed with conditionsAllowed with conditionsAllowed with conditionsAllowedNot allowedAllowed with conditionsAllowedAllowed with conditionsAllowedAllowed with conditionsAllowed with conditionsAllowed with conditionsAllowed with conditionsAllowed with conditionsAllowed with conditionsAllowed with conditionsAllowed with conditionsAllowed with conditions
LGPL-2.1Allowed with conditionsAllowed with conditionsAllowed with conditionsAllowed with conditionsAllowed with conditionsAllowed with conditionsAllowed with conditionsAllowedAllowed with conditionsAllowed with conditionsAllowed with conditionsAllowed with conditionsAllowed with conditionsAllowed with conditionsAllowed with conditionsAllowed with conditionsAllowed with conditionsAllowed with conditions
AGPL-3.0Not allowedNot allowedNot allowedAllowed with conditionsNot allowedAllowed with conditionsAllowed with conditionsAllowed with conditionsAllowedNot allowedNot allowedNot allowedNot allowedNot allowedNot allowedNot allowedNot allowedNot allowed
MPL-2.0Allowed with conditionsAllowed with conditionsAllowed with conditionsAllowed with conditionsAllowed with conditionsAllowed with conditionsAllowed with conditionsAllowed with conditionsAllowed with conditionsAllowedAllowed with conditionsAllowed with conditionsAllowed with conditionsAllowed with conditionsAllowed with conditionsAllowed with conditionsAllowed with conditionsAllowed with conditions
EPL-2.0Allowed with conditionsAllowed with conditionsAllowed with conditionsAllowed with conditionsAllowed with conditionsAllowed with conditionsAllowed with conditionsAllowed with conditionsAllowed with conditionsAllowed with conditionsAllowedAllowed with conditionsAllowed with conditionsAllowed with conditionsAllowed with conditionsAllowed with conditionsAllowed with conditionsAllowed with conditions
BSD-3-ClauseAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowed with conditionsAllowedAllowed with conditionsAllowed with conditions
BSD-2-ClauseAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowed with conditionsAllowedAllowed with conditionsAllowed with conditions
ISCAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowed with conditionsAllowedAllowed with conditionsAllowed with conditions
0BSDAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowed
BSL-1.0AllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowed with conditionsAllowedAllowed with conditionsAllowed with conditions
UnlicenseAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowed
CC0-1.0AllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowedAllowed

What compatibility means

Two licenses are 'compatible' if a single program combining code under both can be distributed while complying with the conditions of both. Compatibility has a direction. Putting MIT code in a GPL project works, but putting GPL code in an MIT project makes the whole combination subject to GPL terms, so it cannot remain an 'MIT project'.

What this table assumes

Basis for the verdicts

Code with exceptions (e.g. Classpath Exception, Linux-syscall-note) or additional permissions may differ from the table. When the decision matters, check the license texts and seek professional advice.