Skip to content

chore(compliance): artifact-level third-party notices + BitNet.cpp interpretation credits (#1166) - #1177

Merged
michalharakal merged 6 commits into
developfrom
feature/1166-compliance-closeout
Aug 27, 2026
Merged

michalharakal merged 6 commits into
developfrom
feature/1166-compliance-closeout

Conversation

@michalharakal

Copy link
Copy Markdown
Contributor

Part of #1166 (the final gate of #1136) — the items that don't need a release or a model file.

What

  • META-INF/THIRD-PARTY-NOTICES.md in skainet-backend-native-cpu (verified: lands in the jvm jar next to the bundled libskainet_kernels) and skainet-backend-jni-cpu (AAR) — NeoGPU copyright + full MIT text + the BitNet.cpp format-knowledge note. This is the artifact-level obligation reuse lint can't see: compiled copies of the vendored kernel travel in published artifacts.
  • Interpretation credits for the I2_S wire format: BitNet.cpp (MIT, © Microsoft) named in I2sRepack.kt and the Constants.kt header, following the existing llama.cpp precedent.
  • Vendor README cross-references the notices for re-vendoring hygiene.

#1166 checklist status after this PR

  • ✅ reuse lint in CI — already existed (reuse-compliance.yml), green on every ternary PR
  • ✅ Vendored file byte-identical — re-verified now: a560ffcf… matches the recorded anjaustin/neogpu@0846b24
  • ✅ LICENSES/ audit — Apache-2.0 and CC0-1.0 are referenced (gradle wrapper, onnx-ml.proto3; FSFE/Scorecard workflows): justified, kept
  • ✅ BitNet.cpp interpretation note (this PR)
  • ✅ Artifact-level notices (this PR)
  • ⬜ POM/release-notes mention + BOM — at release cut
  • ⬜ Upstream courtesies (comment on Porting the ternary LUT kernel into SKaiNET (Kotlin Multiplatform ML runtime) — a few questions anjaustin/neogpu#1, "used by" PR) — proposed text in the tracking issue, needs the maintainer's go
  • ⬜ Real microsoft/bitnet-b1.58-2B-4T GGUF verification — needs the model file
  • ⬜ Close-out summary + CHANGELOG — at release cut

🤖 Generated with Claude Code

…n credits

The repo-level compliance was already in place (REUSE CI green, .license
sidecar, byte-identical vendor re-verified: sha256 a560ffcf... matches the
recorded upstream commit). What reuse lint cannot see is the artifact
level: the published jar/klibs and the AAR ship COMPILED copies of the
vendored NeoGPU kernel, and MIT's notice obligation follows them.

- META-INF/THIRD-PARTY-NOTICES.md in skainet-backend-native-cpu (jvm
  resources — lands in the jar next to the bundled libskainet_kernels)
  and in skainet-backend-jni-cpu (AAR classes.jar), carrying the NeoGPU
  copyright + MIT text and the BitNet.cpp format-knowledge note.
- Interpretation credits for the I2_S wire format: BitNet.cpp (MIT,
  Microsoft) named in I2sRepack.kt and the Constants.kt header, following
  the existing llama.cpp precedent — reimplemented layout rules, not
  copied code.
- Vendor README cross-references the artifact notices so re-vendoring
  keeps them in sync.

LICENSES/ audit result, recorded rather than changed: Apache-2.0.txt and
CC0-1.0.txt are genuinely referenced (gradle wrapper + onnx-ml.proto3;
FSFE/Scorecard workflow files) — justified, kept.

Refs #1166, #1136

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Comment thread skainet-backends/skainet-backend-native-cpu/native/src/vendor/neogpu/README.md Outdated
Comment thread skainet-io/skainet-io-gguf/src/commonMain/kotlin/sk/ainet/io/gguf/I2sRepack.kt Outdated
michalharakal and others added 3 commits August 27, 2026 09:02
…guf/Constants.kt

Co-authored-by: MacOS <stefan.bachhofner@magenta.at>
…guf/I2sRepack.kt

Co-authored-by: MacOS <stefan.bachhofner@magenta.at>
…inaries in repo (#1166)

Review follow-up on #1177: add explicit SPDX copyright/license headers to the
vendor README and both THIRD-PARTY-NOTICES.md files (the vendored C file keeps
its REUSE .license sidecar to stay byte-identical to upstream), and reword the
notices so it is clear the compiled libraries exist only in the published
Maven Central artifacts — no binaries are checked into the repository.
@michalharakal
michalharakal requested a review from MacOS August 27, 2026 07:12
Comment thread skainet-backends/skainet-backend-native-cpu/native/src/vendor/neogpu/README.md Outdated
Comment thread skainet-backends/skainet-backend-native-cpu/native/src/vendor/neogpu/README.md Outdated
…entical rationale (#1166)

Review follow-up on #1177: the notice/readme files are text, not code, so
their SPDX headers now use CC0-1.0 (the repo convention for non-code files,
see .github/workflows/*.yml) instead of MIT. Also reword the vendor README to
state why the vendored C file stays byte-identical: the recorded SHA-256
verifies provenance against the upstream commit — nothing to do with
compilation output — which is why its SPDX info lives in the REUSE .license
sidecar.
@michalharakal
michalharakal requested a review from MacOS August 27, 2026 08:29
@michalharakal

Copy link
Copy Markdown
Contributor Author

@MacOS re-requesting review — every thread is addressed on the branch:

  • SPDX headers for the notice/README files → 5c4ea90 (and per your follow-up, the markdown files are CC0-1.0, not MIT → 36dc067d)
  • "binaries in the repo?" → no; the notices cover compiled copies inside the published Maven artifacts (jar/klib/AAR), which is where MIT's notice obligation follows them. Nothing compiled is committed.
  • "byte-identical after compilation?" → wording fixed in 36dc067d: byte-identical refers to the vendored source file (SHA-256-verifiable against upstream); the REUSE .license sidecar exists precisely so the hash-checked file needs no in-file header.
  • Your two suggestions on Constants.kt / I2sRepack.kt → applied as committed (351f2e84, e2536293).

One consideration on that last point, for your call: under REUSE precedence = "closest" the in-file SPDX-FileCopyrightText: Microsoft now overrides the blanket SKaiNET attribution for those two files — recording clean-room reimplementations as © Microsoft. reuse lint stays green either way. If you'd rather keep the machine-readable attribution with the SKaiNET contributors (the llama.cpp precedent note deliberately carries no tags), say the word and I'll adjust; otherwise happy to leave your version.

CI is fully green on the head, including test-reuse-compliance.

@michalharakal
michalharakal merged commit b02639c into develop Aug 27, 2026
17 checks passed
@michalharakal
michalharakal deleted the feature/1166-compliance-closeout branch August 27, 2026 14:40
@michalharakal michalharakal mentioned this pull request Sep 1, 2026
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants