Skip to content

Correct the licence declaration: the listed plugins question was answered (#1) - #143

Merged
iderex merged 1 commit into
mainfrom
decisions/entry-1-the-listed-plugins-question-is-answered
Aug 25, 2026
Merged

Correct the licence declaration: the listed plugins question was answered (#1)#143
iderex merged 1 commit into
mainfrom
decisions/entry-1-the-listed-plugins-question-is-answered

Conversation

@iderex

@iderex iderex commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Scope: decisions/

A correction to decisions/licensing.md, which landed at 3678529 from #142.

What was wrong

The file ended with a section headed "What this does not settle", saying that
entry 1 of #1 raises in its own body the question whether the plugin
repositories the catalogue lists should carry the same licence as the catalogue,
and that no answer in that issue reaches it.

An answer does reach it, and it is one of the oldest in the issue. The comment of
2026-08-08 takes AGPL-3.0 for this tree and, in the same paragraph, says the
twelve Jellyfin plugins stay GPL-3.0 because Jellyfin itself is under GPL-2.0 and
AGPL-3.0 is incompatible with it.

How it was found

By re-reading the issue body against the comments before acting on the issue's
state, rather than reading the comments once and writing the section from what
was left in mind afterwards. The section had been written from the entry's own
body, which raises the question and does not answer it, and the answer was three
comments further down.

That is the ordinary way this defect arrives, and it is worth naming: a residual
section is the part of a document nobody checks, because it claims an absence and
an absence looks the same whether it was verified or assumed.

What is here instead

The section states the answer, its date and its reason, and it reads the twelve
repositories rather than asserting what they carry. At e6d57c8:

gh api "orgs/Flowfin/repos?per_page=100" --jq '.[] | select(.name|startswith("jellyfin-plugin-")) | .name + " " + .license.spdx_id' | sort
jellyfin-plugin-discover GPL-3.0
jellyfin-plugin-invites GPL-3.0
jellyfin-plugin-metadata-sync GPL-3.0
jellyfin-plugin-requests GPL-3.0
jellyfin-plugin-server-pairing GPL-3.0
jellyfin-plugin-share-links GPL-3.0
jellyfin-plugin-smart-collections GPL-3.0
jellyfin-plugin-sso GPL-3.0
jellyfin-plugin-stats GPL-3.0
jellyfin-plugin-watchlist GPL-3.0
jellyfin-plugin-watch-sync GPL-3.0
jellyfin-plugin-whisper-subtitles GPL-3.0

Run 2026-08-25. Twelve repositories, all GPL-3.0, which is what the answer of
2026-08-08 said they would stay.

The twelve are named as a reading of what they carry rather than as a claim this
tree makes on their behalf, and the sentence that listing something is not a
statement about its licence is kept.

What the correction does not change

Which licence reaches which byte of this tree. The declaration's parts are
untouched, and the only other residual the file states, that the CC-BY-4.0 text
is not carried here, is unchanged and still points at #140.

The means

Markdown in decisions/, the same form as the file being corrected. It adds no
language, no runtime and no dependency, and site-links-resolve, format and
editorconfig read its bytes as they read the rest.

The gate

go run . gate

green at e6d57c8, 14 of 14 legs examined and passed.

The harness did not run and none of its three requirements was asked for:
needs-network, needs-browser, needs-jellyfin. No leg depends on any of them, so
this verdict is complete for what the gate covers and says nothing about what the
harness would have measured.

Guards

None added. This change is prose, and no leg of this gate has a licence as its
subject, which the file itself says in its own "What refuses a departure"
section.

The reader

There is no second reader on this board tonight. Every claim above carries the
command that produced it, re-runnable at e6d57c8, and that stands in place of
one.

…ered (#1)

`decisions/licensing.md` landed at 3678529 with a section saying no answer in #1
reaches the question that entry 1's own body raises, whether the plugin
repositories the catalogue lists carry the same licence as the catalogue. That
is wrong. The comment of 2026-08-08 answers it in the same breath as it takes
AGPL-3.0 for this tree: the twelve Jellyfin plugins stay GPL-3.0, because
Jellyfin itself is under GPL-2.0 and AGPL-3.0 is incompatible with it.

It was found by re-reading the issue body against the comments before closing
the issue, rather than by reading the comments once and writing from what was
left in mind afterwards. The section had been written from the entry's body
alone.

The failure this prevents is the expensive one for a file of this kind: a
declaration that names a licence question as unanswered is believed, so the
question gets asked again, and the answer that already exists is re-taken by
somebody who does not know it was taken. A residual invented in the one file a
reader trusts about licences costs more than a residual left out of it.

The replacement section states the answer, its date and its reason, and reads
the twelve repositories rather than asserting what they carry.

Signed-off-by: Nils Lehnen <30603423+iderex@users.noreply.github.com>
@iderex iderex added the documentation Improvements or additions to documentation label Aug 25, 2026
@iderex iderex self-assigned this Aug 25, 2026
@iderex iderex added this to the 1. Decisions of record milestone Aug 25, 2026
@iderex
iderex merged commit 24c2587 into main Aug 25, 2026
36 checks passed
@iderex
iderex deleted the decisions/entry-1-the-listed-plugins-question-is-answered branch August 25, 2026 06:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant