12.5 License Compliance as a Parallel Concern¶
Security practitioners often encounter license compliance as an adjacent concern—sometimes welcomed, sometimes resisted as outside their scope. Yet license compliance and security share fundamental infrastructure: the same SBOMs that enable vulnerability management reveal license obligations; the same SCA tools that detect vulnerable dependencies identify license risks; the same governance processes that approve components for security should evaluate license implications.
This section explains why security teams should understand license compliance, not to become lawyers, but to recognize how license and security concerns intersect and to build unified governance approaches that address both.
Why License Compliance Matters for Security Teams¶
License compliance and security are often treated as separate concerns—legal owns licensing, security owns vulnerabilities. This separation creates inefficiencies and gaps.
Shared Infrastructure:
License and security scanning use identical foundations:
- Same inventory: Both require knowing what components you use
- Same SBOMs: License information is standard SBOM content
- Same tools: Most SCA tools perform both license and vulnerability detection
- Same workflows: Both require evaluation during development and procurement
Building separate processes for each wastes resources and creates inconsistency.
Overlapping Risk:
License violations create risks that affect security's mission:
- Legal injunctions: Courts can order you to stop distributing software
- Forced disclosure: Some licenses require source code release
- Reputational damage: Public license violations affect trust
- Acquisition barriers: License issues can block M&A transactions
These outcomes—service disruption, forced changes, reputational harm—parallel security incident impacts.
Governance Alignment:
Organizations increasingly recognize that component governance should be unified:
Leading organizations have moved from separate security and legal review gates to unified component approval processes, enabling teams to make better decisions using the same data and consistent governance frameworks.
Common Open Source License Types¶
Understanding major license categories helps security professionals participate in governance discussions.
License Categories:
| Category | Characteristics | Examples |
|---|---|---|
| Permissive | Minimal restrictions; can use in proprietary software | MIT, Apache 2.0, BSD |
| Weak Copyleft | Must share modifications to the library itself | LGPL, MPL |
| Strong Copyleft | Must share entire derivative work under same license | GPL, AGPL |
| Proprietary | Commercial terms; varies by vendor | Oracle, Microsoft EULA |
| Public Domain | No restrictions | CC0, Unlicense |
Major License Comparison:
MIT License: - Extremely permissive - Requires only attribution (copyright notice) - No patent grant - Very short and simple - Most popular license on GitHub
Apache License 2.0: - Permissive with patent grant - Contributors grant patent license to users - Requires attribution and notice of changes - Includes contributor agreement - Common in enterprise and Apache projects
BSD Licenses (2-clause, 3-clause): - Permissive, similar to MIT - 3-clause adds "no endorsement" restriction - Requires attribution - No patent grant - Common in BSD operating systems and derivatives
GNU General Public License (GPL): - Strong copyleft - Derivative works must use GPL - Must provide source code to recipients - No "Tivoization" (GPLv3) - Different versions (v2, v3) have important differences
GNU Affero GPL (AGPL): - GPL plus network use trigger - Providing network access to AGPL software requires source release - Important for SaaS and cloud services - Often restricted by organizations
License Selection Guidance:
| Use Case | Typical Approach |
|---|---|
| Internal tools | Most licenses acceptable |
| Proprietary product distribution | Prefer permissive licenses |
| SaaS without distribution | GPL often acceptable; AGPL problematic |
| Open source contribution | Match project license |
| Embedded/firmware | Copyleft requires careful analysis |
License Compliance Tooling¶
Multiple tools address license detection, often alongside security scanning.
Integrated SCA Tools:
Most SCA tools include license detection:
| Tool | License Detection | Security Scanning |
|---|---|---|
| Snyk | Yes | Yes |
| Black Duck | Yes (comprehensive) | Yes |
| FOSSA | Yes (primary focus) | Yes |
| Mend (WhiteSource) | Yes | Yes |
| Checkmarx SCA | Yes | Yes |
| JFrog Xray | Yes | Yes |
Dedicated License Tools:
FOSSA: - License-first design with security added - Deep license analysis including custom licenses - Policy engine for license approval - SBOM generation and analysis
Licensee: - Open source license detection - GitHub-native (used in repository insights) - Identifies license from files, not just metadata
ScanCode: - Open source toolkit - Detects licenses from source code patterns - Identifies copyrights and notices - Foundation for other tools
License Detection Approaches:
Tools identify licenses through:
- Manifest analysis: Reading
package.json,pom.xmllicense fields - License file detection: Finding LICENSE, COPYING, README
- SPDX identifiers: Standard license identifiers in files
- Pattern matching: Recognizing license text in source code
- Heuristics: Inferring from project metadata and patterns
Detection Challenges:
License detection isn't always straightforward:
- Missing declarations: Some packages don't declare licenses
- Multiple licenses: Dual-licensing or different licenses for different files
- Custom licenses: Non-standard license text requires interpretation
- License versions: GPL-2.0-only vs. GPL-2.0-or-later distinction matters
- Transitive licenses: Dependencies bring their own license obligations
The Intersection of License and Security Scanning¶
Integrating license and security scanning creates efficiency and consistency.
Shared Workflow:
Developer adds dependency
│
▼
┌───────────────────┐
│ SCA Tool Scan │
│ ┌─────────────┐ │
│ │ License │ │
│ │ Detection │ │
│ └─────────────┘ │
│ ┌─────────────┐ │
│ │ Vulnerability│ │
│ │ Detection │ │
│ └─────────────┘ │
└────────┬──────────┘
│
▼
┌───────────────────┐
│ Policy Engine │
│ - License rules │
│ - Security rules │
└────────┬──────────┘
│
┌────┴────┐
│ │
▼ ▼
Approved Blocked/Review
Policy Alignment:
Unified policies address both concerns:
# Example unified policy
component-policy:
approved:
licenses: [MIT, Apache-2.0, BSD-2-Clause, BSD-3-Clause]
max_vulnerability_severity: HIGH # Block CRITICAL
requires-review:
licenses: [LGPL-2.1, MPL-2.0]
min_vulnerability_count: 5
blocked:
licenses: [GPL-3.0, AGPL-3.0]
any_vulnerability_severity: CRITICAL
SBOM Integration:
SBOMs capture both license and component information:
{
"components": [
{
"name": "lodash",
"version": "4.17.21",
"licenses": [
{
"license": {
"id": "MIT"
}
}
],
"vulnerabilities": [...]
}
]
}
The same SBOM serves both compliance and security use cases.
Operational Risks from License Non-Compliance¶
License violations create tangible business risks that security teams should understand.
Legal Risks:
Litigation Examples:
- Cisco/Linksys (2008-2009): FSF sued over GPL violations in router firmware; settled with source code release and compliance director appointment1
- VMware (2015-2018): Linux developer sued over GPL compliance in VMkernel in German court; dismissed on procedural grounds without ruling on GPL merits2
- Artifex v. Hancom (2016-2017): US federal court ruled GPL constitutes an enforceable contract; case settled confidentially but established important precedent3
Enforcement Mechanisms:
- Copyright infringement lawsuits
- Injunctions stopping product distribution
- Damages and legal fees
- Required source code disclosure
Business Risks:
| Risk | Impact |
|---|---|
| Product recall/removal | Cannot distribute until compliant |
| Forced open sourcing | Competitive disadvantage |
| M&A complications | Deals delayed or killed |
| Customer loss | Enterprise customers audit suppliers |
| Reputational damage | Public criticism from OSS community |
Real Business Impact:
Synopsys OSSRA reports find:4
- 53% of audited codebases contain license conflicts
- 31% contain code with no identifiable license
- License issues are discovered in 80%+ of M&A audits
Supply Chain Implications:
Your license obligations extend through your supply chain:
- If you distribute software containing GPL code, you inherit GPL obligations
- Transitive dependencies bring their licenses with them
- Vendor software may contain open source with problematic licenses
- SaaS consumption doesn't eliminate all license concerns
Integrating License and Security Governance¶
Unified governance serves both license and security objectives more effectively than separate processes.
Organizational Models:
Separate Teams (Traditional): - Legal handles license compliance - Security handles vulnerability management - Coordination often ad-hoc - Different tools, different data, different processes
Unified Team (Emerging): - Single "component governance" or "open source program office" function - Combined tooling and workflow - Consistent policy framework - Shared expertise and efficiency
Unified Process Design:
- Single intake: One process for evaluating new components
- Combined policy: License and security rules in same policy engine
- Shared data: Same SBOMs and inventory serve both purposes
- Coordinated approval: One approval addresses both concerns
- Integrated reporting: Dashboard shows license and security status
Role Clarity:
Even with unified process, different expertise applies:
| Aspect | Primary Owner |
|---|---|
| License interpretation | Legal |
| Vulnerability assessment | Security |
| Policy definition | Collaborative |
| Tooling and automation | Engineering/Security |
| Developer guidance | Engineering |
| Escalation decisions | Risk committee |
Governance Framework:
┌─────────────────────┐
│ Risk Committee │
│ (escalation, policy)│
└──────────┬──────────┘
│
┌─────────────────────┼─────────────────────┐
│ │ │
▼ ▼ ▼
┌───────────┐ ┌─────────────┐ ┌─────────────┐
│ Legal │ │ Security │ │ Engineering │
│ (license │ │ (vulnerability│ │ (tooling, │
│ interpret)│ │ assessment) │ │ process) │
└───────────┘ └─────────────┘ └─────────────┘
│ │ │
└─────────────────────┼─────────────────────┘
│
┌──────────▼──────────┐
│ Unified Component │
│ Governance │
│ (SCA, SBOM, etc.) │
└─────────────────────┘
Recommendations¶
For Security Practitioners:
-
Learn license basics. You don't need to be a lawyer, but understanding permissive vs. copyleft helps you participate in governance discussions.
-
Enable license detection. If your SCA tool supports license scanning, enable it. Same data, minimal additional effort.
-
Coordinate with legal. Establish relationship with legal team handling open source. Share tooling and findings.
-
Include license in SBOMs. When generating or requiring SBOMs, include license information. It's standard practice for a reason.
For Engineering Managers:
-
Unify component approval. Create single process that addresses both license and security. Avoid requiring developers to navigate multiple approval workflows.
-
Automate where possible. Policy engines can automatically approve clearly acceptable components and flag only those needing review.
-
Provide clear guidance. Give developers simple rules: "These licenses are fine, these require review, these are blocked."
-
Track compliance continuously. Don't just approve at introduction—monitor for changes as dependencies update.
For Organizations:
-
Establish unified governance. Consider Open Source Program Office (OSPO) or similar function that spans license and security.
-
Define clear policies. Document approved licenses, restricted licenses, and the process for exceptions.
-
Budget for tools that do both. Evaluate SCA tools on license and security capabilities together.
-
Include license in M&A diligence. Technical due diligence should address license compliance alongside security (see Section 11.6).
License compliance and security share too much infrastructure to manage separately. Organizations that recognize this intersection—using the same SBOMs, same tools, and unified governance—manage both risks more effectively than those maintaining parallel processes. Security teams don't need to become license experts, but they should understand enough to collaborate effectively and build unified component governance.
-
Free Software Foundation, "Cisco/Linksys GPL Violations," FSF.org, 2008-2009, https://www.fsf.org/licensing/compliance ↩
-
Software Freedom Conservancy, "VMware Lawsuit," 2015, https://sfconservancy.org/copyleft-compliance/vmware-lawsuit-faq.html ↩
-
Artifex Software Inc. v. Hancom Inc., No. 3:16-cv-06982 (N.D. Cal. 2017) ↩
-
Synopsys, "Open Source Security and Risk Analysis Report," various years, https://www.synopsys.com/software-integrity/resources/analyst-reports/open-source-security-risk-analysis.html ↩