Skip to content

p7-f8: persist import attribution (ODbL) into the exported file #497

Description

@JArmandoAnaya

Filed by #244 (p7-s4). Named in osm_mapping.md §6 and ADR-0012.

The obligation

OpenStreetMap data is licensed ODbL 1.0, which requires that any produced work derived from it carry attribution. A .xodr built by importing an OSM extract is such a work.

What p7-s4 does today

The importer reports the licence and the source file in the import diagnostics, and states plainly that attribution remains the user's obligation. That is honest but weak: the notice lives in a panel the user closes, and nothing travels with the exported file.

Why it was not done in p7-s4

There is no free-text provenance field in OpenDRIVE's <header>, so the carrier would have to be an rm: <userData> code — and under ADR-0008 every rm: code owes a parser, a fuzz-corpus sample, a round-trip test and a registry row in the ADR table, all gated by core/tests/test_rm_registry.cpp. That is a feature, not a line of code, and bundling it into an import sprint is how it would get done badly.

Note the roads already carry provenance — the OpenDRIVE id is osm.<way>.<segment> — which is machine-readable and survives a round trip. What is missing is the licence statement, not the lineage.

Scope

  • A new registered rm: code (something like rm:attribution, root scope) carrying source name, licence identifier and import date.
  • The full ADR-0008 obligation set: parser, writer, fuzz-corpus sample, round-trip test, registry row, rm_codes.hpp entry.
  • Decide whether this is OSM-specific or a general import-provenance carrier. It should almost certainly be general — GIS layers and lidar tiles have the same question and today have the same non-answer.
  • Surface it somewhere a user can read it without opening the XML.

Worth checking first

Whether ASAM has added a provenance element in a revision newer than 1.9.0. If a normative carrier exists, use it and do not invent an rm: code — that is the ADR-0008 rule.

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

    pillar:P7Road to Parity pillar P7

    Type

    No type

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions