Replace sl:agreement-supplied IRI with SPDX NoAssertionLicense Drops the self-referential Sourcelume-native IRI in favor of an externally-grounded SPDX standard IRI, per the alignment principle (Sourcelume aligns with existing efforts rather than inventing slightly different conventions). Change: - license field: 5 records that carried https://sourcelume.apache.org/ns#agreement-supplied now carry https://spdx.org/rdf/3.0.1/terms/ExpandedLicensing/NoAssertionLicense (bloom-roots-pseudo-crawled-websites, bloom-roots-s2orc-academic-papers, dfm-mimir-dbc, dfm-mimir-lexdk-articles, olmo-dolma-the-stack-code). - licenseNote: added/adjusted on those 5 records to carry the private/non-redistributable qualifier (the nuance SPDX's NoAssertionLicense doesn't express by itself — it signals "no public license assertion", licenseNote says "because the terms are private"). - licenseCategory: "agreement-supplied" KEPT as an enum value — it's a Sourcelume classification of the licensing *model*, not a license IRI. 4 records now set licenseCategory: agreement-supplied explicitly. - schema + spec: licenseCategory description and License IRI conventions subsection (b) updated to point at the SPDX NoAssertionLicense IRI and describe the licenseNote + licenseCategory pairing. - notes: updated the 4 stress-test notes' IRI references. Honesty caveat (flagged on dev list): SPDX defines NoAssertionLicense for "cannot determine / made no attempt / intentionally no info", not explicitly for "license exists but is private". We extend its use slightly; licenseNote carries the distinction. The dev-list thread proposes this and awaits consensus. Validation: 30/30 records PASS (JSON Schema + SHACL) with the new IRI. Apache-ai: Yes Generated-by: pi (anthropic/claude-opus-4-1) Reviewed-by: anierbeck
sourcelume-spec)This repository contains our Apache Sourcelume specification.
ssourcelume-spec/ ├── LICENSE # Apache 2.0 (code/tooling) ├── README.md ├── NOTICE # required for ASF releases ├── CHANGELOG.md ├── context/ │ ├── 0.0.1/ │ │ └── sourcelume.jsonld # the JSON-LD @context document, pinned │ └── latest -> 0.0.1/ # symlink or redirect, NOT a moving target for actual releases ├── schema/ │ ├── 0.0.1/ │ │ ├── sourcelume.schema.json # JSON Schema for structural validation │ │ └── sourcelume.shacl.ttl # SHACL shapes for RDF-level validation (optional but common for JSON-LD vocabs) │ └── ... ├── spec/ # the prose specification │ ├── 0.0.1/ │ │ └── index.md (or .adoc) # human-readable spec text, versioned alongside schema ├── examples/ │ ├── minimal-record.jsonld │ ├── full-provenance-card.jsonld │ └── crosswalk/ # worked examples showing mapping to Croissant / SPDX / OTDI fields ├── mappings/ │ ├── croissant-crosswalk.md │ ├── spdx-ai-profile-crosswalk.md │ └── otdi-crosswalk.md ├── tools/ │ ├── validate.py # or JS — validates examples/ against schema/shacl on every PR │ └── render-docs.py # generates human-readable HTML/MD from schema ├── .github/workflows/ │ └── validate.yml # CI: lint JSON-LD, run schema+SHACL validation, check examples └── .gitignore
This project follows Semantic Versioning. See VERSIONING.md for how MAJOR, MINOR, and PATCH apply to specification changes, and for the rules around the latest pointer and immutable released versions.
This project is licensed under Apache License, Version 2.0.