You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

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.