Open Source License Compatibility Calculator

JJ Ben-Joseph headshot JJ Ben-Joseph

Introduction: Open-Source License Compatibility

Open-source license compatibility matters whenever a project includes, links to, or redistributes code from a dependency. Each license carries conditions that can affect the license available for the combined work, source-code obligations, notices, and patent terms. A conflict can require a team to replace a component, seek another grant of rights, or reconsider its distribution license. This calculator uses a simplified matrix of several common licenses to help identify issues early. It is not a substitute for reading the licenses or obtaining professional legal advice.

How the Open-Source License Compatibility Matrix Works

This open-source license compatibility matrix compares the license selected for the project with the license selected for its dependency and assigns one of three practical outcomes:

The license compatibility outcome concerns distribution of software that includes the dependency’s code. A separately operated service, a plug-in boundary, a runtime-linking arrangement, or a project-specific exception can change the analysis. Treat the result as a focused screening prompt and review the full license text, notices, and the way the component is actually used.

Open-Source License Compatibility Table

Compatibility of common open source project licenses with dependency licenses
Project \ Dependency MIT Apache-2.0 GPLv3 GPLv2 BSD-3 LGPLv3
MIT Conditional Conditional
Apache-2.0 Incompatible Incompatible
GPLv3 Requires GPLv3 Requires GPLv3 Incompatible (unless v2+) Requires GPLv3
GPLv2 Requires GPLv2 Incompatible Incompatible Requires GPLv2 Conditional
BSD-3 Conditional Conditional
LGPLv3 Requires GPLv3 if linked statically Incompatible

For this license compatibility table, ✔ indicates a compatible matrix entry. “Requires GPL” means the combined project would need to be distributed under the stated GPL version to incorporate that dependency. The GPLv2 selection is treated as GPLv2-only; a component marked “v2 or later” can have a different result.

Step-by-Step Use for License Compatibility

  1. Select your project’s license. Choose the license that applies, or is intended to apply, to the software you plan to distribute.
  2. Select the dependency’s license. Confirm it in the dependency repository, package metadata, COPYING file, or other authoritative project documentation.
  3. Click check compatibility. The license compatibility result identifies whether the matrix treats the pair as compatible, conditional, subject to a GPL requirement, or incompatible.
  4. Copy the result. Use the copy button to record the selected pair and outcome in a review note, dependency inventory, or project documentation.

Open-Source License Compatibility Examples

For an MIT-licensed project using an LGPLv3 library, the matrix reports compatibility, but the LGPL terms remain important. In particular, changes to the LGPL library and the user’s ability to replace or relink that component can affect the distribution requirements. If that same MIT project includes GPLv3 code as part of the combined work, the matrix instead indicates that the project must be distributed under GPLv3.

As another license compatibility example, an Apache-2.0 project cannot include a GPLv2-only library under this matrix because Apache-2.0’s patent provisions conflict with GPLv2-only terms. The situation differs for software offered under GPLv2 or a later version: if the holder has permitted use under a later version, a GPLv3 path may be available. Verify the exact “only” or “or later” wording before relying on a short license label.

Open-Source License Compatibility Caveats and Nuances

Open-source license compatibility depends on the selected licenses, but the surrounding facts of the distribution also matter:

Version labels also matter for compatibility review. “GPLv2,” “GPLv2-only,” and “GPLv2 or later” are not interchangeable descriptions. This calculator has only the listed choices, so it cannot determine whether every dependency version, contributor agreement, generated file, or optional module carries the same terms.

Frequently Asked Questions About License Compatibility

Does an open-source license compatibility result guarantee compliance? No. A compatible matrix result does not remove requirements for attribution, notices, source availability, license copies, or other terms that apply to the particular component and distribution.

What does license compatibility mean for proprietary software? Permissive licenses such as MIT or BSD are often used in closed-source distributions, while copyleft licenses can impose conditions on distribution of combined works. The exact result depends on the license and how the component is incorporated, so commercial teams should obtain advice suited to their release model.

Is LGPLv3 compatible with an MIT project? This matrix marks the pair compatible. However, modifying the LGPL library or statically linking it can create source and relinking obligations that the project must satisfy.

Why does the calculator distinguish GPLv3 and GPLv2 compatibility? GPLv3 can incorporate Apache-2.0 code under GPLv3, but GPLv2-only does not have the same compatibility. An Apache project also cannot retain Apache-2.0 as its project license when it incorporates GPLv3 code; the matrix therefore reports a GPLv3 requirement or incompatibility according to the selected direction. A GPLv2 component offered under “v2 or later” requires separate review because it may be relicensed under GPLv3.

How to Use the License Compatibility Result

When the calculator flags an incompatible license pair, examine alternative dependencies, a dual-licensed release, an explicit exception, or a separate license from the rightsholder. For a conditional or GPL-required result, decide whether the project can meet the necessary distribution obligations before merging or shipping the component. Record the selected versions, source location, license text, and reasoning alongside the result so later maintainers can revisit the decision when dependencies change.

License Compatibility Limitations and Assumptions

This license compatibility calculator is an informational screening tool rather than legal advice. It assumes the displayed project and dependency licenses and a distribution that combines the dependency’s code with the project. It does not evaluate ownership, contributor agreements, exceptions, local law, patent portfolios, or the technical facts that can affect a legal conclusion. Consult a lawyer experienced in software licensing when the release decision carries meaningful risk.

Formula: License Compatibility Lookup Logic

This calculator does not calculate a numeric formula. It looks up the selected project license and dependency license in its compatibility matrix and returns the matching outcome. Select the license identifiers that apply to the code being distributed, and double-check whether a GPL component is version-specific or offered under a later-version option before interpreting the lookup.

Arcade Mini-Game: Open Source License Compatibility Calculator Calibration Run

Use this short arcade run to practice identifying the selected project and dependency licenses while avoiding stale assumptions before interpreting a compatibility result.

Score: 0 Timer: 30s Best: 0

Start the game, then use your pointer or arrow keys to catch license inputs and avoid stale licensing assumptions.

Select licenses to see compatibility.

Status messages will appear here.