2.7 KiB
G-062 Canonical project license: BSD-2-Clause LICENSE file with SPDX-identified references
Status: achieved 2026-07-11 Scope: LICENSE.txt (new, repo root), README.md, punkproject.toml ([project] license field), AGENTS.md (Repo-wide Notes license mention) Goal: the repository declares exactly one canonical license: a root LICENSE.txt containing the verbatim BSD-2-Clause text, with README.md and root AGENTS.md naming the license by its SPDX identifier and pointing at LICENSE.txt, and punkproject.toml carrying the identifier machine-readably so tooling (the G-063 audit, derived-project seeding) can read the project license without parsing prose. Acceptance: LICENSE.txt exists at the repo root containing the standard BSD-2-Clause text with a real copyright line; README.md names BSD-2-Clause and points at LICENSE.txt; root AGENTS.md Repo-wide Notes names the license precisely; punkproject.toml [project] carries license = "BSD-2-Clause"; a repo-sweep for top-level license claims finds none contradicting it (sweep result recorded here).
Context
README has said only "BSD license" since 2023 with no LICENSE file anywhere at the repo root - every LICENSE file in-tree belongs to a vendored library. "BSD" without a variant is not a specific license; BSD-2-Clause is the chosen variant (decision 2026-07-11).
Notes
- Copyright holder: Julian Marcel Noble; year range: 2023-2026 (user-confirmed 2026-07-11).
- Seeding LICENSE.txt into generated project layouts is a natural follow-on but is deliberately not part of this goal's acceptance (src/project_layouts sync is restricted; see G-012/G-027 territory).
Sweep result (2026-07-11)
Repo-sweep for top-level license claims found none contradicting BSD-2-Clause:
README.md,AGENTS.md,punkproject.toml— now explicitly BSD-2-Clause (this goal's edits).src/embedded/md/doc/files/punk/_module_cap-0.1.0.tm.md— "Copyright © 2023 JMNoble - BSD licensed" is a module-level generated doc, not a project-level claim; the module author's own license indication, not the project's.src/vfs/punk9win.vfs/lib/materialicons0.2/README.md— "License: BSD" — vendored library (materialicons), not the project license.src/vfs/*/tdot0.3.1/tdot.md— "MIT License" — vendored library (tdot), its own license.src/vfs/critclxxx.vfs/embedded/md/files/critcl_license.md— "All packages are under the BSD license" — vendored critcl documentation, not the project's claim.- Goal files (G-060, G-063, G-064) reference "license" in their contracts — descriptive, not claiming a project license.
No contradictions. The project-level license declaration is unambiguous: BSD-2-Clause via LICENSE.txt, README.md, AGENTS.md, and punkproject.toml.