chore(license): centralize crate license inheritance under Apache-2.0 - #848
Merged
Conversation
Main already ships an Apache-2.0 LICENSE (#836), but the crate manifests still declared `license = "MIT OR Apache-2.0"`. Align them: set the workspace package.license to Apache-2.0 and switch all 28 crates to `license.workspace = true`. Add a NOTICE covering the darwin release's redistribution of libkrun and gvproxy. Document the LGPL dependency exceptions in deny.toml (hakoniwa's linking exception; the malachite family, static-linked via nickel-lang-core) and drop the now-unused souk4711 git-source allowance. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (31)
📝 WalkthroughWalkthroughThe workspace now declares Apache-2.0 licensing, crate manifests inherit it, NOTICE documents third-party macOS artifacts, and cargo-deny licensing/source configuration is updated. ChangesLicensing metadata and compliance
Estimated code review effort: 2 (Simple) | ~10 minutes Suggested reviewers: Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Comment |
norrietaylor
marked this pull request as ready for review
July 20, 2026 20:56
twitchyliquid64
approved these changes
Jul 20, 2026
msample
approved these changes
Jul 20, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
First PR in the staged decomposition of
oss/integrationfor the OSS launch. Establishes the licensing baseline.What
package.license = "Apache-2.0"and switches all 28 crates tolicense.workspace = true(they previously declaredlicense = "MIT OR Apache-2.0"). Main already shipped an Apache-2.0LICENSEin docs(README, CLA, CODE_OF_CONDUCT, CONTRIBUTING, LICENSE): prep for open source #836 but the manifests still said dual — this aligns them.NOTICEcovering the darwin release artifacts' redistribution of libkrun (Apache-2.0) and gvproxy (Apache-2.0).deny.toml— hakoniwa (LGPL-3.0-only with linking exception) and the malachite family (LGPL-3.0-only, static-linked vianickel-lang-core) — and drops the now-unusedsouk4711git-source allowance.Decision: Apache-2.0-only
Not dual MIT/Apache. Rationale: uniform, non-optional patent grant; simpler attribution; and GPLv2-only downstream consumability is already precluded by the LGPL-3.0
malachitedependency, so the MIT arm bought little in practice. Main's #836LICENSEhad already committed to Apache-2.0.Verification
cargo deny check licenses bans sources→ ok / ok / okcargo metadata→ all 28 workspace crates resolve toApache-2.0Cargo.tomldiff is license-only (restored main'stracing-appenderline incrates/minvmd/Cargo.tomlthat a path-based checkout had briefly dropped).🤖 Generated with Claude Code
Summary by CodeRabbit
Documentation
Chores