chore: correct copyright attribution across migrated and llm-d-original files - #2450
chore: correct copyright attribution across migrated and llm-d-original files#2450elevran wants to merge 8 commits into
Conversation
Files migrated from sigs.k8s.io/gateway-api-inference-extension must carry The Kubernetes Authors notice; llm-d-original files must carry The llm-d Authors notice; GAIE files modified locally must carry both. Current headers do not reliably match provenance. hack/copyright.sh derives provenance from local git history: GAIE commits are self-identifying (scripts/migrate-gaie-paths.sh rewrites bare #NNN issue refs in migrated commit messages to the qualified kubernetes-sigs/gateway-api-inference-extension#NNN form), and the import-path-rewrite commits it creates are isolated by subject line. Refs llm-d#2448 Signed-off-by: Etai Lev Ran <elevran@gmail.com>
Refs llm-d#2448 Signed-off-by: Etai Lev Ran <elevran@gmail.com>
mktemp creates files with mode 600; without chmod --reference before the final mv, fix strips the executable bit from shell scripts. Signed-off-by: Etai Lev Ran <elevran@gmail.com>
90 files with no notice, stamped The llm-d Authors via hack/copyright.sh fix; 2 files (internal/runnable/leader_election.go, pkg/epp/util/env/env_test.go) are unmodified GAIE imports per hack/copyright.sh classify and get The Kubernetes Authors instead. Refs llm-d#2448 Signed-off-by: Etai Lev Ran <elevran@gmail.com>
hack/copyright.sh classify flags 6 files with local changes beyond the mechanical import rewrite that carry only the llm-d notice; add the Kubernetes line above it per the both-notice convention. Refs llm-d#2448 Signed-off-by: Etai Lev Ran <elevran@gmail.com>
hack/copyright.sh classify flags GAIE-origin files with local changes beyond the mechanical import rewrite that carry only the Kubernetes notice; add the llm-d line beneath it per the both-notice convention. 5 generated files (zz_generated.*.go, vllm_engine.pb.go) carry no notice at all and are left to their codegen tooling. Refs llm-d#2448 Signed-off-by: Etai Lev Ran <elevran@gmail.com>
160 files created in llm-d org history carry only the Kubernetes Authors notice, likely copy-pasted from a neighboring GAIE-derived file. hack/copyright.sh classify confirms their creation commit is not GAIE-marked; replace the Kubernetes line with the llm-d one. Refs llm-d#2448 Signed-off-by: Etai Lev Ran <elevran@gmail.com>
|
Q. Together with the llm-d Authors copyright message, it adds the year 2026. The combination below can look strange. Is that what we want? Copyright 2025 The Kubernetes Authors.
Copyright 2026 The llm-d Authors. |
Yes. This reflects the commit history so the above means that the file was created and modifed in GAIE in 2025 and then migrated and changed in llmd during 2026. |
Signed-off-by: Etai Lev Ran <elevran@gmail.com>
|
|
||
| local llmd_only=0 k8s_only=0 both=0 | ||
| local f origin creator | ||
| while IFS= read -r f; do |
There was a problem hiding this comment.
nit: the loop has no is_generated check, unlike cmd_verify and cmd_fix. Running classify on the final tree reports 6 false positives (zz_generated.*.go x4, vllm_engine.pb.go, vllm_engine_grpc.pb.go) that are deliberately, correctly exempted everywhere else.
One-line fix: add is_generated "${f}" && continue to the loop, matching the other two modes.
| } | ||
|
|
||
| cmd_classify() { | ||
| echo "Building GAIE-commit marker set..." >&2 |
There was a problem hiding this comment.
classify's history heuristic self-pollutes after this PR's own commits
internal/runnable/leader_election.go and pkg/epp/util/env/env_test.go were manually classified (correctly) as "unmodified GAIE import" and given only the Kubernetes notice. Re-running classify on the final tree now flags both as NEEDS-LLMD-NOTICE, because the backfill commit itself (chore: backfill missing copyright notices) is not GAIE-marked or in the mechanical-rewrite grep list, so it counts as a "local touch" that flips the classification. This means any future incidental commit (a typo fix, a lint pass) will permanently and falsely flag an otherwise-untouched GAIE file.
Since only verify (not classify) is gated in make presubmit, this doesn't block anything today, but it's worth a one-line comment in the script noting the limitation, or excluding commits that touch only the license header from the "local touch" set.
What type of PR is this?
/kind cleanup
What this PR does / why we need it:
Corrects copyright notice attribution across the repo based on local git history provenance:
hack/copyright.sh(verify/fix/classify modes) and wiresverify-boilerplateintomake presubmitso new files can't drift..go/.shfiles that had no notice at all.Which issue(s) this PR fixes:
Fixes #2448
Release note (write
NONEif no user-facing change):