Generate complete third-party license notices
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 121
- Forks
- 45
- Avg merge
- 18h 43m
- Merged PRs (30d)
- 10
Description
Context
#417 ensured that THIRD_PARTY_LICENSES.md is included in release bundles. The remaining gap is completeness.
The current file contains notices only for:
- musl libc;
- LLVM libunwind.
The statically linked host also includes direct and transitive Rust crates such as crossterm, Hyper, rustls, ring, Tokio, and libsqlite3-sys. The Windows build copies a set of Windows SDK import libraries into the platform bundle in scripts/build.py:200-207.
This issue is about producing and validating a complete notice set, not merely ensuring the existing file is archived.
Suggested direction
Use a reproducible tool such as cargo-about or a suitably configured cargo-deny license report to generate notices from Cargo.lock. Add any non-Cargo inputs separately:
- musl and crt objects;
- LLVM libunwind;
- bundled SQLite/public-domain status;
- Windows SDK libraries and applicable redistribution terms;
- the external Roc HTTP package if its contents are redistributed transitively.
Have the release workflow fail when the generated notice differs from the committed/bundled notice.
This should receive an appropriate maintainership/legal review; the issue does not assume a particular legal conclusion for Windows SDK files.
Acceptance criteria
- Every statically linked Cargo dependency is represented in generated license metadata/notices.
- Non-Cargo binary inputs have documented source, version/provenance, and license status.
- Windows SDK redistribution is explicitly reviewed and documented.
- CI detects stale or incomplete notices.
- The generated notice remains included in the final
.tar.zstbundle. - The generation/update procedure is documented for contributors.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with Cargo.lock and the existing THIRD_PARTY_LICENSES.md, then inspect scripts/build.py:200-207 for the Windows SDK inputs. Research a reproducible license-report workflow and the listed non-Cargo dependencies, including the external Roc HTTP package. Done means complete metadata, documented provenance and review status, stale-notice detection, bundle inclusion, and contributor documentation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- ci-cd, cli, documentation, release
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100