Skip to content

Licensing: DeMoD LLC as holder, LICENSE.GRANTS for the custos inputs, REUSE in CI - #17

Merged
ALH477 merged 4 commits into
mainfrom
ccr-08f057a2-l4wyo1
Oct 3, 2026
Merged

ALH477 merged 4 commits into
mainfrom
ccr-08f057a2-l4wyo1

Conversation

@ALH477

@ALH477 ALH477 commented Oct 3, 2026

Copy link
Copy Markdown
Owner

What changed, and why

Licensing hygiene only. No compiler, spec or test semantics change.

  • Holder. The 361 headers that read "Copyright (C) 2026 The Exsecutor authors." now read "Copyright (C) 2026 DeMoD LLC." on the same line. No line is added or moved in any file, so every line number and diagnostic is unchanged.

    • The prelude's header is among them, so the comment the reference backend copies into emitted programs changes text, not length.
    • AUTHORS now states the holder (DeMoD LLC) and the author: Asher LeRoy (ALH477) conceived, designed and directed Exsecutor, with Claude as the AI pair programmer.
  • LICENSE.GRANTS (new). DeMoD LLC additionally licenses three files under LGPL-3.0-only, for every published version of each:

    • tests/conformance/entry23_demodframe_golden_vectors.exsc
    • tests/conformance/entry23/codex.exsc
    • examples/custos/custos.exsc

    DeMoD's bridges link the C that exsc --emitte c emits from these files (custos.gen.c) and ship it LGPL-3.0-only. Exception A frees compiled output from the compiler's licence, not from the compiled program's, so this grant supplies the second permission. The three files are not edited; a header would shift their line numbers. Pairs with Licensing cleanup: accurate licence statements, DeMoD LLC as holder, REUSE in CI DeMoD#6.

  • REUSE. REUSE.toml declares every file's holder and licence:

    • GPL-3.0-or-later, DeMoD LLC, as the catch-all;
    • the three grant files as GPL-3.0-or-later OR LGPL-3.0-only;
    • vendor/ by directory: fasmg BSD-3-Clause (Tomasz Grysztar); the HydraMesh and HydraModem copies LGPL-3.0-only and StreamDB LGPL-2.1-or-later (DeMoD LLC);
    • the Unicode tables Unicode-3.0.

    Licence texts are in LICENSES/. Test programs, fixtures and generated files get no header, and LICENSE.EXCEPTION now says so.

  • Licence notes. LICENSE.EXCEPTION's third-party section listed only fasmg and called vendor/ third-party. It now lists every vendored directory with its licence, the four MIT metronomus files, LICENSE.GRANTS and the Unicode tables. The operative text of Exceptions A and B is unchanged. README's layout line and Licence section are corrected the same way, through the README gate.

  • Contributions. CONTRIBUTING.md gains the contribution policy (outside PRs wait for a contributor licence agreement), and ci.yml gains a reuse lint job.

What measuring it found

  • trvthnvke verify --fail: PASS, 36/36 claims (warnings only: unbound path tokens).
  • reuse lint: compliant, 1430/1430 files.
  • First attempt at recording the holder change: I appended an amendment to docs/decisions/0006. README says ADRs are immutable once written, so I reverted it; AUTHORS and LICENSE.EXCEPTION carry the fact instead.
  • make check and make reproduce were run inside nix develop on this branch.

Checklist

  • The spec is untouched; docs/spec/ has no change in this PR.

  • No error code was invented or renumbered.

  • The syscall allowlist is unchanged; make audit passes on the real binary.

  • The macro dialect is unchanged.

  • Every new fixture was proven non-vacuous by mutation: no fixtures added.

  • UNIT_FIXTURE_FLOOR raised: no fixtures added.

  • New and touched source is UTF-8, no BOM, LF, NFC (checked on every new file; entry20_crlf.exsc kept its CR).

  • Nothing new is ordered by a pointer value or by hash iteration.

  • What was run, with the numbers:

    ```
    tests/run.sh:               pass: 2454  fail: 0  (RESULT: PASS)
    make audit:                 AUDIT: PASS -- build/exsc (9 syscalls, all allowlisted)
    make reproduce:              REPRODUCE: PASS (every unit byte-identical across cwd/TZ/locale/SOURCE_DATE_EPOCH/umask/hostname)
    tools/spec-check.sh:         RESULT: PASS
    ```
    

🤖 Generated with Claude Code

https://claude.ai/code/session_01YEapehGd6iN1d5vu53PEN7


Generated by Claude Code

claude added 4 commits October 3, 2026 04:23
The owner's decision: DeMoD LLC holds the copyright in the project's own work,
by an assignment from the author. The 361 file headers that read
"Copyright (C) 2026 The Exsecutor authors." now read
"Copyright (C) 2026 DeMoD LLC." on the same line; no line is added or moved
in any file, so line numbers and diagnostics are unchanged. The prelude's
header is among them, so the comment the reference backend copies into every
program it emits changes text, not length in lines.

AUTHORS now says who holds the copyright (DeMoD LLC) and who wrote the tree
(Asher LeRoy, ALH477, with Claude under his direction), and that most of
vendor/ is DeMoD LLC's own work from other repositories, fasmg excepted.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YEapehGd6iN1d5vu53PEN7
…L-3.0-only

DeMoD's bridges link custos.gen.c, the C exsc emits from
tests/conformance/entry23_demodframe_golden_vectors.exsc,
tests/conformance/entry23/codex.exsc and examples/custos/custos.exsc, and ship
it under LGPL-3.0-only. LICENSE.EXCEPTION's Exception A frees compiled output
from the licence of the compiler, not from that of the program compiled, so
that label needed a grant on the three inputs. DeMoD LLC, the holder, gives it
here, for every version of each file published in this repository; recipients
may use them under LGPL-3.0-only or GPL-3.0-or-later. The three files are not
edited (a header would shift their line numbers).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YEapehGd6iN1d5vu53PEN7
…omplete; reuse lint in CI

REUSE.toml: GPL-3.0-or-later DeMoD LLC as the catch-all; the three
LICENSE.GRANTS files as GPL-3.0-or-later OR LGPL-3.0-only; vendor/ by
directory (fasmg BSD-3-Clause, Tomasz Grysztar; the HydraMesh and HydraModem
copies LGPL-3.0-only and StreamDB LGPL-2.1-or-later, DeMoD LLC); the Unicode
tables Unicode-3.0. reuse lint: 1430/1430 files. Test programs, fixtures and
generated files get no header; LICENSE.EXCEPTION now says so.

LICENSE.EXCEPTION's third-party section listed only fasmg and called vendor/
third-party. It now lists every vendored directory with its licence, the four
MIT metronomus files, LICENSE.GRANTS and the Unicode tables. The operative text
of Exceptions A and B is unchanged. README's layout line and Licence section
are corrected the same way; trvthnvke verify --fail: PASS, 36/36 claims.
CONTRIBUTING gains the contribution policy; ci.yml gains a reuse job.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YEapehGd6iN1d5vu53PEN7
…de was the pair programmer

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YEapehGd6iN1d5vu53PEN7
@ALH477
ALH477 merged commit c6360ac into main Oct 3, 2026
4 of 5 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