What Is Open Source License Compliance and How Do You Manage It?

Written by the Rafter Team

Open source license compliance is the practice of identifying every open source component in your codebase, understanding the legal obligations each license imposes, and ensuring your distribution model satisfies those obligations. Every open source library you import carries a license — and that license is a legal contract. Violating it can force source code disclosure, trigger litigation, or block a product release entirely.
Most teams track their direct dependencies but ignore the transitive tree beneath them. A single npm install can pull in hundreds of packages, each with its own license. One GPL-licensed library buried five levels deep can change the legal obligations for your entire application.
Copyleft licenses propagate through linking. If a transitive dependency uses GPL-2.0 and your application links to it, the GPL's terms may require you to release your proprietary source code under the same license. This obligation exists even if you never directly imported the package.
Scan your dependencies for license risk with Rafter — get a full license inventory across your entire dependency tree in under two minutes.
GPL vs MIT vs Apache 2.0: What You Risk
Not all open source licenses carry the same risk. The three most common licenses differ dramatically in what they require.
MIT is the most permissive. You can use, modify, and redistribute MIT-licensed code in proprietary software. The only requirement is preserving the copyright notice. MIT dependencies rarely create compliance problems.
Apache 2.0 adds a patent grant — contributors explicitly license their patents to you. It also requires you to state changes made to the original code. Apache 2.0 is safe for commercial use, but the change-notification requirement catches teams that modify vendored libraries without documenting it.
GPL-2.0 and GPL-3.0 are copyleft licenses. Any software that incorporates GPL code must itself be distributed under the GPL. This means publishing your source code. For proprietary products, a GPL dependency anywhere in the dependency tree is a potential legal crisis. LGPL offers a narrower copyleft that applies only to modifications of the library itself, but the boundary between linking and modification is legally contested.
How Copyleft Contamination Spreads
Your application declares 20 direct dependencies. Those dependencies declare their own dependencies, forming a transitive tree that can contain thousands of packages. GPL license risk enters through this tree — not through packages you chose deliberately.
A common scenario: your team selects a well-known MIT-licensed library. That library depends on a utility package licensed under GPL-3.0. Your application now transitively includes GPL code, and the copyleft obligation flows upward through the dependency chain. Without automated scanning, this risk is invisible until a legal audit or acquisition due diligence uncovers it.
SCA License Scanning for Legal Exposure
Software Composition Analysis tools solve this problem by parsing your lockfiles, resolving the full transitive dependency tree, and mapping every package to its declared license. SCA tools flag GPL dependencies, detect license conflicts between packages, and generate the license inventory that legal teams need for audits.
Effective license scanning runs in CI on every pull request — not as a quarterly exercise. License risk enters your codebase the moment a developer adds or upgrades a dependency. Catching it at the pull request level is orders of magnitude cheaper than catching it during M&A due diligence.
Add Rafter to your CI pipeline — detect license violations and vulnerable dependencies on every commit.