Thanks for helping grow the Republic. Adding a work is a one-file change to
data/works.json.
Append an object to the works array:
{
"id": "unique-kebab-case-slug",
"title": "Title of the Work",
"creator": "Author / Director / Composer",
"category": "book",
"published": 1930,
"enteredPD": 2026,
"status": "free",
"country": "US",
"notes": "One or two sentences on what it is and any caveats.",
"venture": "One concrete way to make money from it.",
"playbooks": ["adaptation", "audiobook"],
"source": "https://a-URL-that-proves-the-copyright-status"
}| Field | Rule |
|---|---|
id |
Unique, lowercase, kebab-case. |
category |
One of: book, film, cartoon, music-composition, sound-recording, art, character, other. |
published |
Original publication/release/recording year (number). |
enteredPD |
Year it entered (or enters) the US public domain, or null if it's been free for many decades. |
status |
free if it's public domain in the US now, or upcoming if it's still counting down. |
playbooks |
Any of the playbooks[].id values already in the file (e.g. print-on-demand, sync-recording). |
source |
Required. A URL backing the copyright claim. |
- Cite a real source. Prefer the Duke CSPD, Wikipedia's "YEAR in public domain" pages, or the U.S. Copyright Office.
- Compositions ≠ recordings. A 1930 song can be free while a specific recording of it
isn't (and vice-versa under the Music Modernization Act). Pick the right
category. - Watch trademarks & later versions. If a name or character is still a live trademark, or a
later version is still protected (Mickey, Pooh, Betty Boop), say so in
notes. - US status. This register tracks US public-domain status. Note other jurisdictions in
notesif relevant, but don't change the schema.
The venture is the point of difference for this project. Keep it concrete and honest:
name a specific, legal way to add value and sell it. "Sell the free PDF" is not a venture;
"produce a full-cast audiobook you own the recording of" is.
- Fork, edit
data/works.json. - Make sure it's still valid JSON (most editors will flag errors;
python -m json.tool data/works.jsonchecks it). - Open a pull request describing the work(s) you added and linking your source.
That's it. No build, no framework, no ceremony.