Skip to content

License: copyright holder, SPDX headers, DCO for outside contributions - #17

Merged
SuruchBoss merged 1 commit into
mainfrom
claude/eager-shannon-ljqn1r
Sep 26, 2026
Merged

SuruchBoss merged 1 commit into
mainfrom
claude/eager-shannon-ljqn1r

Conversation

@SuruchBoss

Copy link
Copy Markdown
Owner

What changed

  • LICENSE: only the appendix line changes, to Copyright 2026 Suruch Chakrapeesirisuk. The Apache 2.0 text is byte-for-byte the same, so GitHub still detects the license as Apache-2.0.
  • NOTICE: the copyright holder in the Copyright and "developed by" lines is now the legal name. The GitHub/LinkedIn links and the Noto Sans Thai (OFL) attribution have not changed.
  • SPDX headers: every tracked source file (207 .ts, 51 .tsx, 13 .mjs, 1 .js (public/sw.js, hand-written), 1 .css) now starts with:
    // Copyright 2026 Suruch Chakrapeesirisuk
    // SPDX-License-Identifier: Apache-2.0
    
    The script puts the header after a shebang line. It adds a comment before "use client" directives, which Next allows, and the production build confirms it. Existing header comments stay below the new header.
  • scripts/license-headers.mjs: a new dependency-free script that checks the headers, or adds them with --fix. It is the same script used in the other ecosystem repos. Excludes: node_modules/ and migrations/. The migrations exclude covers supabase/migrations/*.sql, which are applied Supabase migrations. Editing one changes what a database already ran. No tracked file is generated (next-env.d.ts is gitignored), so nothing else needed excluding.
  • .github/workflows/license-check.yml: a "License headers" job that runs on every push and PR. A "DCO sign-off" job checks only pull requests from forks: each commit in them must carry a Signed-off-by: line for its author.
  • CONTRIBUTING.md: adds the DCO section (full DCO 1.1 text) and a "File headers" section. No existing content was changed.
  • AGENTS.md: adds a bilingual rule that new source files carry the header, that --fix adds it, and that CI fails without it. node scripts/license-headers.mjs is added to the command list.
  • README.md / README.en.md: the License sections, kept in sync, now name the copyright holder, mention the SPDX headers, and say outside contributions are signed off under the DCO, with a link to CONTRIBUTING.md.

Why

This names the copyright holder by legal name and makes the license of every file machine-readable. It also records where outside contributions come from, without asking the owner to sign off their own work.

Gates

npm run verify is green: lint, check:readme, check:screens, check:deps, 1363 tests, check:mutants 31/32, build, check:bundle, check:a11y 38 checks, check:e2e 12 flows. node scripts/license-headers.mjs passes.

The one surviving mutant (structuralShift.ts <= → <) was already there: it also survives on main with the same seed. This PR does not touch it.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Wvwwbj3f6bNuw8bF4cUg6M


Generated by Claude Code

Name the copyright holder by legal name (Suruch Chakrapeesirisuk) in the
LICENSE appendix and NOTICE; the Apache 2.0 text and the Noto font
attribution are unchanged.

Every tracked source file now starts with a copyright line and an
SPDX-License-Identifier: Apache-2.0 header, added by
scripts/license-headers.mjs (the same script as the other repositories
in the ecosystem). Applied Supabase migrations are excluded because
editing one changes what was applied. A new "License" workflow checks the
headers on every push and requires a DCO sign-off on every commit of a
pull request from a fork, so the origin of outside contributions is
recorded.

CONTRIBUTING.md gains the DCO and file-header sections, AGENTS.md the
rule and the check command, and both READMEs the holder, SPDX and DCO
notes in their License section.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Wvwwbj3f6bNuw8bF4cUg6M
@vercel

vercel Bot commented Sep 26, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
excel-to-go Ready Ready Preview Sep 26, 2026 6:24am UTC

@SuruchBoss
SuruchBoss merged commit 49c760f into main Sep 26, 2026
20 checks passed

This branch was successfully deployed

1 active deployment
Preview — 389d75d3 Deployed Sep 26, 2026 by vercel[bot]
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