Open Source License Compatibility Calculator

JJ Ben-Joseph headshot JJ Ben-Joseph

Select licenses to see compatibility.

Understanding License Compatibility

Open source software thrives on code reuse, but each license carries conditions governing how that code may be combined and redistributed. Compatibility refers to whether a project under one license can legally incorporate code under another license and distribute the resulting work. Incompatible licenses can create legal conflicts, forcing developers to remove components or change licensing strategies. This calculator offers a simplified matrix for several common licenses to provide quick guidance. It is not a substitute for professional legal advice, but it helps developers flag potential issues early.

How the Matrix Works

The compatibility database behind this tool classifies pairs of licenses into three outcomes:

The matrix focuses on situations where you distribute binaries that include the dependency’s code. Using a library merely as a separate service (e.g., via network APIs) may trigger different rules like the AGPL. Always read the full license text.

Compatibility Table

Project \ DependencyMITApache-2.0GPLv3GPLv2BSD-3LGPLv3
MITConditionalConditional
Apache-2.0IncompatibleIncompatible
GPLv3Requires GPLv3Requires GPLv3✔ (if v2+Requires GPLv3
GPLv2Requires GPLv2IncompatibleIncompatibleRequires GPLv2Conditional
BSD-3ConditionalConditional
LGPLv3Requires GPLv3 if linked staticallyIncompatible

Legend: ✔ = compatible; “Requires GPL” indicates you must relicense your project under GPL to incorporate that dependency.

Step-by-Step Use

  1. Select your project’s license. If you haven’t chosen one yet, pick the license you intend to apply to your distribution.
  2. Select the dependency’s license. This is typically found in the library’s repository or package metadata.
  3. Click check compatibility. The result highlights whether the combination is safe, requires re-licensing, or is incompatible.
  4. Copy the result. Use the copy button to save the outcome in your project documentation.

Example Scenarios

Imagine your project is licensed under MIT, and you want to include an LGPLv3 library. The matrix shows compatibility, but you must allow users to replace the LGPL component, typically by providing dynamic linking. If you instead wish to include a GPLv3 library, your project must also adopt GPLv3 to comply with copyleft terms.

Another example: an Apache-2.0 project cannot include a GPLv2-only library because Apache’s patent termination clause conflicts with GPLv2, which lacks explicit patent grants. However, GPLv2+ (or LGPLv2.1+) permits relicensing under later versions, enabling compatibility if you adopt GPLv3.

Caveats and Nuances

License compatibility can depend on factors beyond the license text:

Frequently Asked Questions

Does compatibility guarantee compliance? No. You must still follow attribution, notice, and source availability requirements described in each license.

What about proprietary software? Many permissive licenses like MIT or BSD are compatible with closed-source distribution, but copyleft licenses may require releasing source. Consult legal counsel for commercial use.

Is LGPLv3 compatible with MIT? Yes, but if you modify the LGPL library or statically link it, you must distribute source and allow relinking.

Why is GPLv3 incompatible with Apache-2.0 in this matrix? Actually, the Free Software Foundation considers Apache-2.0 compatible with GPLv3. However, Apache-licensed code cannot be included in GPLv2-only projects. Our matrix reflects the direction from project license to dependency; an Apache project cannot include GPLv3 code without changing its own license to GPLv3.

Using the Result

If the tool flags incompatibility, consider alternative libraries, seeking a dual-licensed version, or contacting the author for a commercial license. For conditional cases, weigh the implications of switching licenses or providing source code. Document the decision in your project’s README or CONTRIBUTING file to guide future contributors.

Disclaimer

This calculator provides informational guidance only and does not constitute legal advice. Software licensing can be complex, and interpretations vary by jurisdiction. When in doubt, consult a lawyer experienced in intellectual property law.

Related Calculators

Relationship Compatibility Score Calculator - Gauge Your Partnership Potential

Rate how well two partners align across communication, interests, lifestyle, and values. Get a quick compatibility percentage based on your responses.

relationship compatibility score calculator partner match analysis couple assessment

Software License Cost-Benefit Calculator - Evaluate ROI

Compare software license expenses with productivity gains to determine if commercial tools are worth it.

software license ROI calculator productivity software cost

Zodiac Compatibility Calculator - Explore Astrological Matches

Discover how your sun sign pairs with another using this zodiac compatibility calculator. Learn about the elements and qualities that influence astrological relationships.

zodiac compatibility calculator astrology match horoscope