Skip to content

Reference pages never render license_url, hiding rights for 54,380 targets #144

Description

@maehr

Problem

src/pages/id/ref/[uuid]/index.astro renders t.license and has never rendered t.license_url. After #137 split the two — license is dcterms:license, license_url is dcterms:rights — that omission hides the only rights information the registry holds for most targets.

Counted over the compiled registry (86,397 references, 172,376 resolver targets):

targets license license_url rendered
27,803 SPDX — licence chip
50,047 SPDX rights page licence chip; the rights page is invisible
54,380 — rights page nothing
40,146 — — nothing, correctly

The 54,380 are exactly two providers, and both carry access: open:

  • https://www.die-bibel.de/impressum — 31,167 targets (Deutsche Bibelgesellschaft)
  • https://www.sefaria.org/terms — 23,213 targets (Sefaria)

So a reader sees the row Nestle-Aland, Novum Testamentum Graece, 28th edn (NA28) with a single open chip and nothing else, and can reasonably read that as "freely usable". What the registry actually recorded is "these terms are not SPDX-expressible; here is the provider's statement". Under-reporting rights is a worse failure than #133's long URL, and it affects more targets.

Why it is a design question and not a typo

A rights-page URL has no short canonical label to derive from it, the way an SPDX IRI has. There are only six distinct values in the registry, and they are heterogeneous: a project's open-source page, a German legal Impressum, a terms-of-use page, a licensing page, and two Creative Commons deeds. Any label derived from the URL — hostname, path, page title — would either duplicate the provider name already shown as the row's link text, or assert a distinction the registry does not record.

Suggested fix

Render license_url as its own chip labelled Rights, beside the SPDX chip rather than instead of it.

  • Rights is the one word true of all six values without inspecting any of them, and it matches dcterms:rights, so the chip and the JSON-LD agree. An Impressum is not "terms"; a terms page is not a "licence".
  • Beside, not instead of: suppressing it when an SPDX id exists would re-flatten the distinction fix(standard): publish license_url as dcterms:rights, not dcterms:license #137 established in the data model, and it would be a second rule to maintain.
  • Give each chip an aria-label naming the provider. A reference page carries several targets, so otherwise a screen reader announces several identical Rights links.

Related

Found while reviewing #143, which fixes the sibling defect (#133) in the same block. Not caused by it.

The two Creative Commons values are a separate, registry-side problem — see textrefs/registry.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions