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.zst bundle.
- The generation/update procedure is documented for contributors.
Context
#417 ensured that
THIRD_PARTY_LICENSES.mdis included in release bundles. The remaining gap is completeness.The current file contains notices only for:
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-aboutor a suitably configuredcargo-denylicense report to generate notices fromCargo.lock. Add any non-Cargo inputs separately: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
.tar.zstbundle.