Skip to content

license and license_url both expand to dcterms:license, giving a target two licence IRIs #129

Description

@maehr

Problem

license and license_url both expand to an IRI-valued dcterms:license. A resolver target that carries both fields publishes two different licence IRIs on one node.

public/contexts/v1.jsonld maps both terms to {"@id": "dcterms:license", "@type": "@id"}. scripts/compile.ts rewrites license to https://spdx.org/licenses/{id}. Both values are now IRIs, so a consumer cannot tell them apart.

The real registry has 50,047 published resolver targets that carry both fields. Example output for one node:

dcterms:license  <https://spdx.org/licenses/CC-BY-SA-3.0>
dcterms:license  <https://www.perseus.tufts.edu/hopper/opensource>

Why it matters

Specification §9 treats license_url as the fallback for non-SPDX terms, used when license is absent. The data and the context disagree with that rule. A consumer that reads dcterms:license gets two conflicting answers and no way to rank them.

Suggested fix

Give license_url its own predicate, or stop emitting both fields on one target.

Found during review of #127. Not caused by that PR.

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 workingconformanceSpec and implementation disagreestandardThe published specification and schemas

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions