chore: strip per-file license headers; LICENSE is single source of truth#260
Merged
Conversation
Removes the 4-line `// Copyright ... Maintainers of Fallout. // Originally based on NUKE ...` block from 614 first-party .cs files under src/, tests/, build/, and the repo root. MIT compliance is already satisfied at the top level: - LICENSE preserves "Maintainers of NUKE 2017-2025" (matkoch's attribution) alongside "Maintainers of Fallout 2026". - README acknowledges the NUKE origin and links upstream. - Every NuGet package declares MIT via PackageLicenseExpression in Directory.Build.props. Vendored third-party code keeps its own copyright headers untouched - files under src/Persistence/Fallout.Persistence.Solution/ retain Microsoft's MIT notice as required, and the .Generated.cs tool wrappers + Verify snapshots keep their auto-generated headers. Rationale: - One source of truth is easier to maintain than 614 copies. - The header URL "github.com/ChrisonSimtian/Fallout/blob/main/LICENSE" would have rotted across hundreds of files the moment the repo transfers to the Fallout-build org (#11). - Cleaner source files; things live where they belong. - Housekeeping aligned with the rebrand cleanup. Convention docs updated to match: - AGENTS.md rule #4 replaced with explicit no-headers rule - docs/agents/conventions.md license-header bullet rewritten - docs/architecture.md mandate replaced with "no per-file headers" - CONTRIBUTING.md "license headers are mechanical" aside dropped Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.
Why
Per-file license headers duplicate a 4-line block across 614 source files. MIT compliance only requires the notice in distributed copies of the software —
LICENSEat the repo root andREADME.mdboth already preserve matkoch's attribution, and every NuGet package declares MIT viaPackageLicenseExpressioninDirectory.Build.props. So the per-file blocks are pure overhead.The concrete trigger: the header URL
https://github.com/ChrisonSimtian/Fallout/blob/main/LICENSEwould have rotted across hundreds of files the moment the repo transfers to theFallout-buildorg (#11). Better to consolidate once than to mass-edit a stale URL later.One source of truth, cleaner source files, things live where they belong instead of being duplicated 614 times. #housekeeping
What
// Copyright … Maintainers of Fallout. // Originally based on NUKE …block from 614 first-party.csfiles undersrc/,tests/,build/, and the repo root.src/Persistence/Fallout.Persistence.Solution/(inlined Microsoftvs-solutionpersistence) keep their// Copyright (c) Microsoft Corporation.headers — MIT requires it.*.Generated.cstool wrappers and.verified.cssnapshot fixtures keep their existing auto-gen comments.AGENTS.md(rule chore(deps): patch vulnerable transitives (CVE-2026-33116, Scriban) #4 replaced with explicit no-headers rule),docs/agents/conventions.md,docs/architecture.md,CONTRIBUTING.md.CHANGELOG.mdentry under[Unreleased] — 11.0→### Misc.Legal check
LICENSEpreservesCopyright 2017-2025 Maintainers of NUKE(matkoch's attribution) alongsideCopyright 2026 Maintainers of Fallout.README.mdlines 34-38 explicitly credit Matthias Koch and the NUKE origin.<PackageLicenseExpression>MIT</PackageLicenseExpression>+<Copyright>Copyright … Maintainers of Fallout</Copyright>viaDirectory.Build.props.Verification
git grep "Maintainers of Fallout" -- '*.cs'→ 0 hits (was 614).git grep "Copyright (c) Microsoft Corporation" -- '*.cs'→ unchanged (Persistence files preserved)../build.sh Compilepasses (verified on a parallel worktree carrying the same strip).Test plan
.csfile still contains "Maintainers of Fallout"Fallout.Persistence.Solution/unchanged.Generated.csand.verified.csfiles unchanged🤖 Generated with Claude Code