Software License Compatibility Checker
Check whether code under one licence can be used in a project under another, for commercial, SaaS, proprietary, modification and distribution scenarios. Free, no registration.
Using Apache-2.0-licensed code in a project under GPL-3.0
Compatible With Conditions
Using Apache-2.0-licensed code in a project under GPL-3.0 is generally possible if the listed conditions are met.
Confidence: high
Compatibility is directional: using License A code in a License B project is a different question from using License B code in a License A project. Check the reverse direction.
Commercial Use
No issueApache-2.0 permits commercial use.
Modification
No issueThe scenario does not include modifying the component. Modification under Apache-2.0: permitted.
Distribution
ConditionsApache-2.0 code can be included in a project under GPL-3.0; the combined work is distributed under the GNU licence while the Apache-2.0 notices are retained. This is one-directional: GPL-3.0 code cannot be relicensed under Apache-2.0.
Source Disclosure
ConditionsApache-2.0 code can be included in a project under GPL-3.0; the combined work is distributed under the GNU licence while the Apache-2.0 notices are retained. This is one-directional: GPL-3.0 code cannot be relicensed under Apache-2.0.
Attribution
ObligationsApache-2.0 requires the copyright and licence notices to be kept with copies you distribute. If the Apache-2.0 component ships a NOTICE file, its attribution notices must be reproduced in your distribution (section 4(d)).
Patent Considerations
No issueApache-2.0 includes an express patent licence from contributors. That patent licence terminates for anyone who initiates patent litigation alleging that the work infringes a patent.
Copyleft
ConditionsApache-2.0 code can be included in a project under GPL-3.0; the combined work is distributed under the GNU licence while the Apache-2.0 notices are retained. This is one-directional: GPL-3.0 code cannot be relicensed under Apache-2.0.
SaaS / Network Use
No issueThe scenario does not include offering the software over a network. Apache-2.0 has no network-use clause.
Proprietary Use
No issueThe project is not declared proprietary.
Why?
- Apache-2.0 code can be included in a project under GPL-3.0; the combined work is distributed under the GNU licence while the Apache-2.0 notices are retained. This is one-directional: GPL-3.0 code cannot be relicensed under Apache-2.0.
- Apache-2.0 permits commercial use.
- Apache-2.0 does not require you to publish source code.
- Apache-2.0 requires the copyright and licence notices to be kept with copies you distribute.
- If the Apache-2.0 component ships a NOTICE file, its attribution notices must be reproduced in your distribution (section 4(d)).
- Apache-2.0 permits distribution.
- Apache-2.0 includes an express patent licence from contributors. That patent licence terminates for anyone who initiates patent litigation alleging that the work infringes a patent.
What do I need to do?
- Distribute the combined work under GPL-3.0.
- Retain Apache-2.0 notices and any NOTICE file content.
- Include the Apache-2.0 copyright notice and licence text with the distributed software (source, binary documentation or an "open-source notices" screen).
- Reproduce the contents of any Apache-2.0 NOTICE file in your distribution's notices.
Risks
- Initiating patent litigation over the Apache-2.0 work ends your patent licence for it.
Authoritative Sources
- Licence stewardApache Software Foundation: Apache License v2.0 and GPL Compatibility
- FSFGNU Project: Various Licenses and Comments about Them
- SPDXSPDX License List: Apache-2.0
- OSIOpen Source Initiative: Apache License, Version 2.0
- Official textApache License, Version 2.0 (official text)
- SPDXSPDX License List: GPL-3.0-only
- OSIOpen Source Initiative: GNU General Public License version 3
- Official textGNU GPL v3.0 (official text)
- FAQGNU Project: Frequently Asked Questions about the GNU Licenses
Rules applied
APACHE_GPL3_COMPATIBLE (CONDITION), APACHE_COMMERCIAL_USE (INFO), NO_SOURCE_DISCLOSURE (INFO), APACHE_ATTRIBUTION (INFO), APACHE_NOTICE_FILE (INFO), APACHE_DISTRIBUTION (INFO), APACHE_PATENT_NOTICE (INFO)
This tool provides general software licensing information and is not legal advice. License obligations may depend on how software components are combined, modified, distributed and used.
How the checker works
Results come from a deterministic rule engine, not from AI. Each supported licence is described by structured facts taken from SPDX, the Open Source Initiative, the GNU Project and the licence stewards: copyleft strength, source-disclosure scope, attribution, patent and network-use terms. Rules combine those facts with your scenario, and every rule that fires is listed with its identifier.
Compatibility is directional. Using MIT code in a GPL-3.0 project is generally fine, but using GPL-3.0 code in an MIT project means the distributed result must be licensed under GPL-3.0. License A is always the code you want to use; License B is the project it goes into.
Commercial use is not the same as proprietary use. Almost every open-source licence allows commercial use; the question that usually matters is whether you can keep your own source code closed when you distribute or host the result.
The engine is open source: @esdecode/license-checker on GitHub, including every rule and its tests.
What the results mean
- Generally Compatible
- The licence terms generally allow this use; notice obligations may still apply.
- Compatible With Conditions
- The use is generally possible if specific conditions are met, such as providing source code or allowing relinking.
- Potential Conflict
- A conflict is plausible depending on how the code is combined, distributed or licensed.
- Likely Incompatible
- The licence terms, as generally understood, do not permit this combination.
- Manual Review Required
- The terms are proprietary, custom or product-specific and must be read individually.
- Unknown
- A licence could not be identified, so no conclusion is drawn.