Skip to main content

License Classification

This page is the canonical reference for open source license classification. When the policy, process, or SBOM chapters cover license classification, they use this table as the baseline and link here.

Open source licenses fall into four broad categories by the strength of their obligations. Because the application criteria for each category depend on your company's distribution method, understand them before writing a policy.

Classification Table

CategoryRepresentative licensesCore obligationDistribution caution
PermissiveMIT, Apache-2.0, BSDCopyright and license noticeSafe in almost every distribution method
Weak CopyleftLGPL, MPLDisclose source only for modified files and librariesMostly safe with dynamic linking
Strong CopyleftGPL-2.0, GPL-3.0Disclose the full source of derivative worksNo obligation for SaaS; arises on binary distribution
Network CopyleftAGPL-3.0Disclose source even for network provision (SaaS)Obligation arises even for SaaS — review required before use
Key insight

For the same code, whether an obligation arises depends on the distribution method. In particular, GPL does not treat server execution (SaaS) as "distribution," so no obligation arises, whereas AGPL imposes an obligation even for network provision.

Impact by Distribution Method

Distribution method is the key factor that determines whether a license obligation arises.

  • SaaS (server-provided): Running GPL code on a server does not count as "distribution," so GPL obligations do not arise. However, AGPL-3.0 imposes a source-disclosure obligation even when providing a service over a network, so caution is required.
  • App store distribution (mobile/desktop): Because the software is distributed to users as a binary, copyleft obligations arise. Including a GPL component may create a full source-disclosure obligation.
  • Embedded (firmware/hardware): The strictest case. Binary distribution triggers GPL obligations, and because software embedded in hardware is hard to modify and reinstall, GPL compliance is more demanding.

Distribution Channel × License Allow Matrix

A matrix to consult when deciding which categories to allow per channel. The actual allow list for your company policy is generated by the policy-generator agent to match your distribution method.

LicenseCategoryInternal useSaaS distributionApp distributionEmbedded
MITPermissive✅ Allowed✅ Allowed✅ Allowed✅ Allowed
Apache-2.0Permissive✅ Allowed✅ Allowed✅ Allowed✅ Allowed
LGPL-2.1Weak Copyleft✅ Allowed✅ Allowed⚠️ Conditional⚠️ Conditional
GPL-2.0Strong Copyleft✅ Allowed✅ Allowed❌ Prohibited❌ Prohibited
AGPL-3.0Network Copyleft✅ Allowed❌ Prohibited❌ Prohibited❌ Prohibited

The symbols follow the same three-level notation as the Policy Deliverable Best Practices.

SymbolMeaning
✅ AllowedUsable without separate approval
⚠️ ConditionalUsable after prior review and approval by the open source Program Manager
❌ ProhibitedProhibited in principle (exceptions require review by the Program Manager and legal team)
info

This classification is foundational knowledge for ISO/IEC 5230 3.1.4 (program scope definition), 3.1.5 (identifying and reviewing license obligations), and 3.3.2 (handling license use cases).