law-source-bund/MODULE.de.md
flemming-it ba0ab31ede
All checks were successful
CI / Linux x86_64 (Forgejo) (push) Successful in 1m44s
docs: declare where the data comes from, and under what terms
The module's own Apache-2.0 licence covers its code and says nothing
about the material it fetches. STORE.yaml now carries a data_source
block (publisher, url, terms, required attribution, and bundled:
false), and MODULE.md/MODULE.de.md explain it in both languages,
including the sentence that the retrieved text does not replace the
official version.

Enforced platform-side by data_source_gap in chain_hub::store_index;
the four rules are written up in docs/architecture/store-format.md of
the platform repo.

Signed-off-by: flemming-it <sf@flemming.it>
2026-09-09 12:32:47 +02:00

79 lines
2.6 KiB
Markdown

# source.bundesrecht
<!-- chain:io-card:start -->
<!-- Generated by `chain doc` from module.yaml — do not edit by hand. -->
![law-source-bund inputs and outputs](law-source-bund.io.de.svg)
<!-- chain:io-card:end -->
Deutsches Bundesrecht von gesetze-im-internet.de per Kürzel holen
## Was es tut
Löst ein gesetze-im-internet.de-Kürzel (z. B. `bgb`, `estg`, `gg`,
`stromnzv`) gegen die öffentliche BMJ-Publikationsseite auf, lädt das
`xml.zip` des Gesetzes, entpackt das BMJ-Normen-XML (gii-norm-DTD)
und liefert es samt Metadaten. Die entpackten Bytes sind
inhaltsadressiert (SHA-256) — das Prüfprotokoll des Flows hält den
exakt verarbeiteten Gesetzesstand fest.
Anders als EUR-Lex liefert gesetze-im-internet nur den AKTUELLEN
konsolidierten Stand — es gibt keine URL für ältere Fassungen. Der
SHA-256 (plus das BMJ-`builddate` aus dem XML-Kopf) macht einen
späteren Re-Fetch vergleichbar: Eine Änderung upstream wird sichtbar
statt still.
Nur öffentliche BMJ-Daten; die Netzwerk-Berechtigung ist auf
`www.gesetze-im-internet.de` festgelegt.
## Verwendung
```yaml
steps:
- id: fetch
use: source.bundesrecht@^0
with:
gesetz: stromnzv
- id: normalize
use: text.akoma-normalize@^0
with:
content: $fetch.xml
```
Das Kürzel ist das Pfadsegment der Gesetzes-Seite auf
gesetze-im-internet.de: `https://www.gesetze-im-internet.de/<slug>/`.
## Ausgaben
- `xml` — das BMJ-Normen-XML wie aus dem Archiv der Seite entpackt.
Für die strukturierte Akoma-Ntoso-Darstellung an
`text.akoma-normalize` weiterreichen (dessen BMJ-Adapter aus v0.1
versteht dieses Format nativ).
- `meta` — JSON-SourceMeta: `gesetz`, `url`, `source_sha256`,
`byte_len` und `builddate`, sofern der XML-Kopf eines trägt.
## Fehler
- Unbekanntes Kürzel → klare Eingabefehler-Meldung mit der geprüften
URL.
- Kein ZIP, kein XML im Archiv, HTML-Fehlerseiten → interner Fehler
mit Ursache; HTML wird nie an nachgelagerte Schritte durchgereicht.
## Datenquelle
gesetze-im-internet.de (BMJ / juris GmbH)
Namensnennung: `Quelle: gesetze-im-internet.de (Bundesministerium der Justiz)`
Die Gesetzestexte selbst sind amtliche Werke nach § 5 UrhG und damit
gemeinfrei. Das Modul holt je Aufruf ein einzelnes Gesetz von der
öffentlichen BMJ-Seite und liefert keinen Bestand mit; es entnimmt der
dortigen Sammlung damit keinen wesentlichen Teil.
**Die zurückgegebene Fassung ersetzt nicht die amtliche Verkündung.**
Sie belegt, was die Quelle zu einem Zeitpunkt ausgeliefert hat: dafür
führt das Modul den SHA-256 und das BMJ-Builddate im `meta`-Ausgang mit.
## Lizenz
Apache-2.0 — ein Ch∆In-Plattformmodul (Flemming.AI).