Skip to content

Clean LICENSE.txt to verbatim PSF-2.0; move CCP attribution to NOTICE.md#16

Merged
ccpvertex merged 1 commit into
mainfrom
clean-license-split
May 21, 2026
Merged

Clean LICENSE.txt to verbatim PSF-2.0; move CCP attribution to NOTICE.md#16
ccpvertex merged 1 commit into
mainfrom
clean-license-split

Conversation

@ccpvertex
Copy link
Copy Markdown
Contributor

@ccpvertex ccpvertex commented May 20, 2026

Summary

  • The previous `LICENSE.txt` was structurally PSF-2.0 but with "Python Software Foundation"/"PSF" → "CCP Games"/"CCP" and "Python" → "CARBON.IO" substituted throughout. The substitutions, while preserving the substance of the licence terms, mean downstream license-detection tools (GitHub's `licensee` gem, anything that matches against SPDX templates) can't classify the file. The repo currently shows "Other" in GitHub's sidebar and `licenseInfo.spdxId` comes back null on the API.
  • This change follows the Apache pattern:
    • `LICENSE.txt` is now the verbatim SPDX PSF-2.0 template — Python/PSF references intact, canonical 2001-2006 copyright years kept (those are part of what tools match against, not a substantive claim).
    • New `NOTICE.md` carries the CCP attribution and makes explicit that CARBON.IO is a derivative work distributed by CCP Games on the same PSF-2.0 terms, with CCP Games as licensor in place of PSF and CARBON.IO as the licensed work in place of Python. No modification to the licence terms themselves.
    • `README.md` license section now points readers at `NOTICE.md` alongside `LICENSE.txt`.

What is and isn't changing

Before After
Grant of rights, retention requirement, derivative-work summary obligation, AS-IS, liability cap, termination, agency disclaimer, deemed acceptance LICENSE.txt LICENSE.txt + NOTICE.md (combined). Substance unchanged.
Named licensor / licensed-work in the operative text CCP Games / CARBON.IO (modified) PSF / Python (verbatim PSF-2.0), with NOTICE.md making explicit that CCP Games is licensor of CARBON.IO on the same terms
Machine-classifiability Not detected — shows "Other" Verbatim PSF-2.0 template (note: PSF-2.0 isn't yet in choosealicense.com's corpus, so GitHub's sidebar won't auto-detect it — but downstream SPDX-matching tools will, and any future addition of PSF-2.0 to that corpus will Just Work)

Legal has signed off on this approach (subject to the wording not materially changing and being clear to readers what licence is covering what bits).

Note on GitHub's sidebar

PSF-2.0 is not currently in choosealicense.com/_licenses, which is the corpus GitHub's `licensee` gem uses for detection. So even after this PR merges, the GitHub repo page will still show "Other" until choosealicense adds PSF-2.0. The clean LICENSE.txt is still worth having for SPDX-aware tooling, future detector improvements, and basic license hygiene.

Test plan

  • Sanity check that the LICENSE.txt content matches https://spdx.org/licenses/PSF-2.0.html (verbatim).
  • Read NOTICE.md and confirm the substantive licence terms remain unchanged from the previous LICENSE.txt.
  • Confirm README.md license section reads clearly with the new file split.

🤖 Generated with Claude Code

The previous LICENSE.txt was the PSF-2.0 license with "Python Software
Foundation"/"PSF" → "CCP Games"/"CCP" and "Python" → "CARBON.IO"
substituted throughout. This made downstream license-detection tools
(GitHub's licensee gem, anything that matches SPDX templates) unable
to classify the repo — they look for the unmodified PSF-2.0 text.

This change follows the Apache pattern:

- LICENSE.txt is now the verbatim SPDX PSF-2.0 template (Python/PSF
  references intact, including the canonical 2001-2006 copyright
  years from the SPDX template — those are part of what tools
  match against, not a substantive claim).

- NOTICE.md carries the CCP attribution and makes explicit that
  CARBON.IO is a derivative work distributed by CCP Games on the
  same PSF-2.0 terms, with CCP Games as licensor in place of PSF
  and CARBON.IO as the licensed work in place of Python. No
  modification to the license terms themselves.

- README.md license section now points readers at NOTICE.md
  alongside LICENSE.txt.

Substance of the licence terms (grant, retention, derivative-work
summary, AS-IS, liability, termination, agency, deemed acceptance)
is unchanged from the previous LICENSE.txt; what's changed is where
the attribution / parties lives, so the license text itself is
machine-classifiable.

Legal has signed off on this approach.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@ccpvertex ccpvertex merged commit 5c4c669 into main May 21, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants