Add NOTICE identifying the copyright holder#4
Merged
Conversation
The repository shipped canonical Apache-2.0 at LICENSE but named no owner anywhere. The appendix line "Copyright [yyyy] [name of copyright owner]" is a template for marking your own files, not a field to fill in, so the repository asserted no copyright at all. Add a NOTICE naming Brian Jin, sole author of the repository to date, and add it to BUNDLE_PATHS so it ships in the release archives. LICENSE is deliberately left byte-identical to the canonical Apache-2.0 text. Editing its appendix costs a clean Apache-2.0 match on automated license scanners, and the copyright holder belongs in NOTICE instead. Because git archive fails on a pathspec that matches nothing and build_release.py runs it with check=True, the release build now hard-fails if NOTICE is ever removed rather than silently omitting it. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Signed-off-by: kikashy <kikashy@hotmail.com>
kikashy
force-pushed
the
feat/attribution-notice
branch
from
July 23, 2026 21:52
d0a9c0a to
55d667a
Compare
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
The repository ships canonical Apache-2.0 at
LICENSEbut names no copyright owner anywhere, and has noNOTICE. This adds one.NOTICE(new) — names Brian Jin, sole author of the repository to date.tools/build_release.py—NOTICEadded toBUNDLE_PATHSso it ships in the release archives.CHANGELOG.md—Unreleasedentry.Why the LICENSE file is untouched
LICENSEis byte-identical to the canonical Apache-2.0 text (sha256 cfc7749b…, 11358 bytes) and stays that way. Its appendix lineCopyright [yyyy] [name of copyright owner]is a template telling you how to mark your own files — not a field to fill in. Editing it costs a clean Apache-2.0 match onlicensee/SPDX/FOSSA scanners, which is a real adoption cost for a specification. The copyright holder belongs inNOTICE.Why a personal name rather than a collective one
The Judgment Pack Authorswould point at nothing: there is noAUTHORSfile, noCONTRIBUTORSfile, and no CLA, so the term is undefined.git shortlogshows one human across the repository's history. A copyright notice is a factual assertion, and this one is accurate and verifiable. It also names someone who can actually act — a collective label is not a legal person and cannot sign or grant anything.Contributors are unaffected: the DCO in
CONTRIBUTING.mdis a certification of origin, not an assignment. Every contributor retains copyright in their own work and licenses it under Apache-2.0. When a second human contributor lands, that is the moment to add anAUTHORSfile and switch to a collective form.Note on the runtime
judgment-pack-runtimeembeds 51 files from this repository into every shipped binary (//go:embed jps) with no attribution. Apache-2.0 §4(d) binds only "If the Work includes a NOTICE file" — so merging this PR is what creates that obligation. The corresponding runtime change (its ownNOTICEplus a specification entry inTHIRD_PARTY_NOTICES) is prepared and must land before the runtime's next release.Verification
python -m unittest discover -s tests— 26 passNOTICEalongsideLICENSENOTICEfrommainexits 128, confirminggit archive+check=Truemakes the release build hard-fail ifNOTICEis ever removed rather than silently omitting it🤖 Generated with Claude Code