|
| 1 | +# SPDX-License-Identifier: MPL-2.0 |
| 2 | +# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk> |
| 3 | +# |
| 4 | +# Licence invariant for arghda-core — machine-readable declaration of the rule |
| 5 | +# enforced by scripts/check-spdx.sh (run in `just check` + Rust CI). The split |
| 6 | +# itself comes from hyperpolymath/standards LICENCE-POLICY.adoc Rule 1. |
| 7 | + |
| 8 | +[invariant] |
| 9 | +enforced = true |
| 10 | +checker = "scripts/check-spdx.sh" |
| 11 | +wired-into = ["Justfile (just check / just license-check)", ".github/workflows/rust-ci.yml"] |
| 12 | + |
| 13 | +[licences] |
| 14 | +# By content type, not by directory. |
| 15 | +code = "MPL-2.0" # *.rs, *.toml, *.a2ml, *.yml, *.sh, Justfile, .gitignore, .well-known/* |
| 16 | +prose = "CC-BY-SA-4.0" # *.adoc, *.md narrative |
| 17 | +# Canonical texts: MPL-2.0 -> ./LICENSE ; CC-BY-SA-4.0 -> standards/LICENSES/CC-BY-SA-4.0.txt |
| 18 | + |
| 19 | +[excluded] |
| 20 | +# NOT ours, generated, or test-input data. These never carry the repo's |
| 21 | +# licence choices; the checker skips them. |
| 22 | +paths = [ |
| 23 | + "Cargo.lock", # generated by cargo; enumerates third-party dependencies |
| 24 | + "LICENSE", # the MPL-2.0 licence text itself |
| 25 | + "target/", # cargo build output (gitignored) |
| 26 | + "tests/fixtures/", # Agda test-input data (some deliberately malformed) |
| 27 | +] |
| 28 | + |
| 29 | +[third-party] |
| 30 | +# arghda-core vendors NO third-party source in-tree: every dependency is |
| 31 | +# fetched by cargo (declared in Cargo.toml, pinned in Cargo.lock) and is never |
| 32 | +# relicensed. If third-party source is ever vendored in-tree, add its path to |
| 33 | +# [excluded] above and preserve its ORIGINAL SPDX header verbatim. The checker |
| 34 | +# fails on any unrecognised in-tree file until it is excluded — that failure is |
| 35 | +# the intended guard against silently relicensing others' code. |
| 36 | +vendored-in-tree = [] |
0 commit comments