Repository navigation
chore(license): Apache 2.0 licensing for CNCF: verbatim LICENSE, NOTICE and source headers - #46
Merged
Merged
Conversation
Replace LICENSE with the text published at https://www.apache.org/licenses/LICENSE-2.0.txt, byte for byte, so licence scanners, including GitHub's, match it to Apache-2.0. Move NOTICE, the README licence line and the four source headers to the CNCF copyright notice, "Copyright The CryptOS Authors.", with no year and no single holder. The source headers become the verbatim Apache 2.0 appendix notice, without golic's "Apache License 2.0" title line. The Taskfile licence tasks pass the new copyright to golic. Refs CryptOS-PKI/.github#4 Signed-off-by: Bugs5382 <12115015+Bugs5382@users.noreply.github.com>
3 tasks done
golic v1.2.0 renders apache2 as the verbatim notice these files already carry. license and license:fix pass --license-file, so task license (and CI) also checks that LICENSE is the verbatim Apache 2.0 text. Signed-off-by: Bugs5382 <12115015+Bugs5382@users.noreply.github.com>
This was referenced Sep 30, 2026
Bugs5382
marked this pull request as ready for review
September 30, 2026 09:35
Signed-off-by: Bugs5382 <12115015+Bugs5382@users.noreply.github.com>
Signed-off-by: Bugs5382 <12115015+Bugs5382@users.noreply.github.com>
Contributor
Author
|
Closing summary: brought up to date with main (6 commits since the pin, including the theme and the alpha page rewrite). Main added src/css/theme.css with the old header, outside golic's allow-list, so its header was fixed by hand to match the other sources; that commit changes header lines only. |
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.
What and why
One licensing PR for CNCF readiness: the verbatim Apache 2.0
LICENSE,NOTICE, the README licence line and every source header, in one change (owner decision; this folds in #41, which only replacedLICENSE). It matches the combined PRs in the code repos: CryptOS-PKI/cryptos-node#291, CryptOS-PKI/api#126, CryptOS-PKI/cryptos-manager#132, CryptOS-PKI/cryptos-web#134 and CryptOS-PKI/helm#26.The copyright notice follows the CNCF guidance (cncf/foundation copyright-notices.md): "Copyright The XYZ Authors.", with no year and no single holder name.
Refs CryptOS-PKI/.github#4
1. LICENSE: the verbatim Apache License 2.0 text
LICENSEis now the text published at https://www.apache.org/licenses/LICENSE-2.0.txt, byte for byte (sha256cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30), the same file CryptOS-PKI/.github#6, CryptOS-PKI/cryptos-lab#3 and the code repos carry. The old file had sections 6 and 9 and the appendix reworded, and the appendix filled in with a copyright line, so GitHub reportedNOASSERTION. On this branch GitHub detectsApache-2.0(GET /repos/CryptOS-PKI/docs/license?ref=chore/4-cncf-licensing).What the old file said that the published text does not (
-old,+verbatim):2. NOTICE and README
NOTICEline 2 and the README licence line now sayCopyright The CryptOS Authors.. NOTICE keeps the attribution.3. Source headers
The four hand-stamped sources (
docusaurus.config.ts,sidebars.ts,src/pages/index.tsx,src/components/HomepageFeatures/index.tsx) go straight to the final header, the verbatim Apache 2.0 appendix notice with the CNCF copyright line. docs has no.golic.yaml, so they were edited by hand; the golic-managed files in the code repos carry the same text:The site footer (
Copyright © <year> Shaneindocusaurus.config.ts) is left to the theme change in #38.4. Taskfile and CI
Taskfile.ymlpins golic v1.2.0 (go install github.com/Bugs5382/golic/cmd/golic@v1.2.0, inlicenseandlicense:fix; it was v0.3.0). golic v1.2.0 rendersapache2as the verbatim notice these four files already carry, so the GoLic check now passes.license(the CI check) isgolic inject -t apache2 -c "The CryptOS Authors." --license-file --dry -x, andlicense:fixis the same without--dry -x.--license-filemakes golic checkLICENSEagainst the official Apache 2.0 text too, so a rewordedLICENSEfails CI. The task descriptions say so..github/workflows/job-golic.yamlrunstask license, so it follows the Taskfile: it has no golic version or template of its own. Unchanged.license-checker-rseidelsohnallowlist injob-license-check-npm.yaml) checks third-party npm dependencies, not this repo's ownLICENSEor headers, andApache-2.0is already allowed, so it is unaffected and unchanged.The license page on #28 now shows the same copyright line and header (commit bdc6ee2).
Verification
LICENSEis byte for byte the published text (sha256 above), and golic's--license-filecheck agreesApache-2.0golic inject -t apache2 -c "The CryptOS Authors." --license-file --dry -x: exit 0, 0/4 changed; a secondinject -xchanges 0 filestask license: exit 0npm run typecheckandnpm run buildpassHow this was verified
shasum -a 256 LICENSEmatchescurl -sSL https://www.apache.org/licenses/LICENSE-2.0.txt | shasum -a 256, andgh api "repos/CryptOS-PKI/docs/license?ref=chore/4-cncf-licensing"returnsspdx_id: Apache-2.0. With golic v1.2.0,task licenseexits 0 with 0/4 changed, a secondgolic inject ... --license-file -xchanges nothing, and a deliberately editedLICENSEmakes the check exit 1.npm ci --ignore-scripts,npm run typecheckandnpm run buildpass.git diff origin/main...HEADtouches 8 files:LICENSE,NOTICE,README.md,Taskfile.ymland the four source headers.git grep "2026 Shane"finds nothing; the site footer (Copyright © <year> Shane) is left to #38.Before merging: add a closing comment summarizing what was actually done in this PR
(not just the checked boxes).