diff options
| -rw-r--r-- | FASSUNGEN.txt | 122 | ||||
| -rw-r--r-- | README.adoc | 42 | ||||
| -rw-r--r-- | pom.xml | 20 | ||||
| -rw-r--r-- | src/main/resources/eu/mulk/aendggner/web/impressum.html | 7 | ||||
| -rw-r--r-- | src/main/resources/eu/mulk/aendggner/web/index.html | 4 |
5 files changed, 192 insertions, 3 deletions
diff --git a/FASSUNGEN.txt b/FASSUNGEN.txt index bf9cff3..0e4879d 100644 --- a/FASSUNGEN.txt +++ b/FASSUNGEN.txt @@ -21,6 +21,128 @@ Vorbemerkung zur Führung dieses Verzeichnisses ════════════════════════════════════════════════════════════════════════════════ + Fassung vom 23. August 2026, + zuletzt geändert durch die am 23. August 2026 vorgenommenen Änderungen +════════════════════════════════════════════════════════════════════════════════ + +Das Erzeugnis steht seit seinem ersten Tage unter der GNU Affero General Public +License; ausgesprochen war das indes nur an drei verstreuten Stellen — im +Lizenzvolltext „COPYING“, in einem Satz des Impressums und in einer Bemerkung der +Datei „.gitattributes“. Keine einzige Quelldatei nannte ihren Urheber oder ihre +Lizenz. Wer eine Datei für sich betrachtete — und so betrachtet sie jeder, der +sie übernimmt —, fand daran nichts. + +Erschwerend tritt die Eigenart dieses Erzeugnisses hinzu: Sein Prüfbestand +besteht aus fünfundvierzig PDF-Dateien, fünf EPUB-Dateien und den XML-Fassungen +fremder Werke, nämlich der Gesetzblätter, Drucksachen und Entwürfe des Bundes und +der Länder. Deren Rechtsstellung — gemeinfrei nach § 5 UrhG, gleichwohl gebunden +an Änderungsverbot und Quellenangabe nach §§ 62 und 63 UrhG — war bislang nur +menschenlesbar in den „SOURCES“-Dateien niedergelegt. Sie ist nunmehr auch +maschinenlesbar erfasst, und zwar nach Herkunft geschieden. + +Maßstab ist die REUSE-Spezifikation in der Fassung 3.3. + + +Artikel 1 +Lizenzbezeichnung + +(1) Der eigene Quelltext steht fortan unter „AGPL-3.0-or-later“, also unter der + Version 3 der Lizenz oder, nach Wahl des Empfängers, einer späteren Fassung. + Bislang sprach das Impressum von der „Version 3“ ohne Nachfolgeklausel. + +(2) Die Angabe ist an allen Stellen dieselbe: im Impressum, im Fußzeilenverweis + der Startseite, in einem neu aufgenommenen „licenses“-Block der „pom.xml“ und + im Abschnitt „Lizenz“ des Handbuchs. + + +Artikel 2 +Verzeichnis der Lizenztexte + +(1) Das Verzeichnis „LICENSES“ nimmt die Wortlaute auf: „AGPL-3.0-or-later.txt“, + „Apache-2.0.txt“ für den unverändert mitgelieferten Maven-Wrapper und + „LicenseRef-AmtlichesWerk.txt“. + +(2) „COPYING“ bleibt an seiner Stelle, tritt aber als symbolische Verknüpfung + auf. Der gewohnte Pfad trägt damit fort, ohne dass zwei Wortlaute + nebeneinander zu pflegen wären; die Prüfung übergeht Verknüpfungen, sodass + für den Lizenztext selbst keine sachfremde Lizenzangabe zu erfinden war. + + +Artikel 3 +Amtliche Werke + +(1) „LICENSES/LicenseRef-AmtlichesWerk.txt“ bezeichnet keine erteilte Lizenz, + sondern hält die gesetzliche Rechtslage fest: die Gemeinfreiheit nach § 5 + Abs. 1 UrhG für Verkündungsblätter, Drucksachen und Plenarprotokolle, nach + § 5 Abs. 2 UrhG für ministerielle Entwürfe und Synopsen, ferner das + fortbestehende Änderungsverbot und Gebot der Quellenangabe. + +(2) Ausdrücklich festgehalten ist, dass die technische Aufbereitung durch die + Rechtsportale kein eigenes Recht am Text begründet und dass der Prüfbestand + kein „Corresponding Source“ im Sinne der AGPL ist. + +(3) Maßgeblich für die Fundstelle der einzelnen Datei bleibt die Datei „SOURCES“ + des jeweiligen Verzeichnisses; die Lizenzdatei nimmt sie in Bezug. + + +Artikel 4 +Zuordnung im Einzelnen + +(1) Dateien mit Kommentarsyntax tragen ihre Angabe in sich: zwei Zeilen + „SPDX-FileCopyrightText“ und „SPDX-License-Identifier“ im jeweils üblichen + Stil, vor dem vorhandenen erläuternden Kommentar und ohne diesen anzutasten. + Bei „index.html“ und den übrigen Seiten steht sie hinter der Typangabe, bei + „webpaket.sh“ und „cloudflare.sh“ hinter der Aufrufzeile, bei den + AsciiDoc-Dateien innerhalb des Dokumentenkopfes. + +(2) Für Binärdateien, für JSON und für reinen Text ordnet „REUSE.toml“ zu. Der + Prüfbestand ist darin nach Herkunft geschieden: Bund (Verkündung und + Parlament), Bund (ministerielle Entwürfe), gesetze-im-internet.de nebst der + Aufbereitung durch die juris GmbH, sodann neun Länder je einzeln. + +(3) Die selbst abgeleiteten Textfassungen („*-alt.txt“) tragen „AGPL-3.0-or-later + AND LicenseRef-AmtlichesWerk“: Der Wortlaut ist amtlich, die Aufbereitung — + Einrückung, Superskript-Satznummern, Gliederungsüberschriften — eigene + Arbeit. + +(4) „mini-gii.xml“ und „.mvn/maven.config“ erhalten bewusst keine Kopfzeile, + sondern einen Eintrag in „REUSE.toml“: Ersteres liest der GiiXmlLoader, + Letzteres Maven vor jedem Bau, und beide sollen von der Auszeichnung + unberührt bleiben. + + +Artikel 5 +Fortdauernde Prüfung + +(1) Spotless pflegt die Kopfzeilen der Java-Dateien („licenseHeader“). Der Lauf + von „spotless:check“ ist an die Phase „verify“ gebunden und hält den Bau an, + sobald eine Quelldatei ohne Kopfzeile oder ohne die vereinbarte Formatierung + hinzukommt. + +(2) Dabei hat sich ergeben, dass „src/wasm/java“ der Formatprüfung bislang + verborgen war: Das Verzeichnis tritt dem Quellbaum erst im Profil „wasm“ bei. + Die Quellverzeichnisse sind nunmehr ausdrücklich benannt; die beiden + Wasm-Klassen sind erstmals umformatiert worden. + +(3) Ein Ausrollwerkzeug hinterließ mit „.wrangler“ ein Zwischenverzeichnis im + Arbeitsbaum; es ist fortan übergangen. + + +Artikel 6 +Nachweis + +(1) Die Prüfung meldet Konformität mit der Fassung 3.3 der Spezifikation: + einhundertvierundfünfzig von einhundertvierundfünfzig Dateien tragen Urheber- + und Lizenzangabe, keine Lizenz bleibt ungenutzt, keine fehlt. + +(2) Dreihundertfünfundzwanzig Testfälle bestehen unverändert; am Verhalten des + Erzeugnisses ändert sich nichts. + +(3) Das ausgelieferte Quelltextarchiv ist von sich aus konform, denn + „.gitattributes“ nimmt den Prüfbestand von ihm aus. + + +════════════════════════════════════════════════════════════════════════════════ Fassung vom 22. August 2026, zuletzt geändert durch die am 22. August 2026 vorgenommenen Änderungen ════════════════════════════════════════════════════════════════════════════════ diff --git a/README.adoc b/README.adoc index a5ae13e..36c3aef 100644 --- a/README.adoc +++ b/README.adoc @@ -1,5 +1,7 @@ = ÄndGgner -- Nichtamtliche Zentralstelle für die maschinelle Fortschreibung von Stammgesetzen anhand von Änderungsvorschriften des Bundes und der Länder Matthias Andreas Benkard +// SPDX-FileCopyrightText: 2020 Matthias Andreas Benkard <code@mail.matthias.benkard.de> +// SPDX-License-Identifier: AGPL-3.0-or-later // Meta :experimental: :data-uri: @@ -650,3 +652,43 @@ vollständige Änderungshefte auf die zugehörige Stammfassung anwenden und das Ergebnis gegen die amtliche Nachfassung stellen. Die hierfür verwendeten Beispieldaten nebst Herkunftsnachweis (`SOURCES`) liegen unter `src/test/resources/sampledata/`. + +== Lizenz + +Der Quelltext steht unter der GNU Affero General Public License, Version 3 oder +(nach Wahl) einer späteren Fassung — `AGPL-3.0-or-later`. Den Wortlaut trägt +`LICENSES/AGPL-3.0-or-later.txt`; `COPYING` verweist als symbolische Verknüpfung +darauf. + +Das Erzeugnis folgt der https://reuse.software/spec/[REUSE-Spezifikation]: Jede +Datei ist einer Urheberschaft und einer SPDX-Lizenz zugeordnet, entweder durch +eine Kopfzeile in der Datei selbst oder — bei Binärdateien und Dateien ohne +Kommentarsyntax — durch einen Eintrag in `REUSE.toml`. Geprüft wird das mit: + +[source,shell script] +---- +uvx reuse lint +---- + +Drei Lizenzen kommen vor: + +`AGPL-3.0-or-later`:: + Der eigene Quelltext samt Weboberfläche, Bauwerk und Dokumentation. + +`Apache-2.0`:: + Der unverändert mitgelieferte Maven-Wrapper (`mvnw`, `mvnw.cmd`, + `.mvn/wrapper/`). + +`LicenseRef-AmtlichesWerk`:: + Der Beispielkorpus unter `src/test/resources/sampledata/`: Gesetzblätter, + Drucksachen, Plenarprotokolle und ministerielle Entwürfe des Bundes und der + Länder. Sie sind nach § 5 UrhG amtliche Werke und damit gemeinfrei; das + Änderungsverbot und das Gebot der Quellenangabe (§§ 62, 63 UrhG) bleiben + unberührt. Die Fundstellen weist die Datei `SOURCES` des jeweiligen + Verzeichnisses nach. Der Korpus ist kein „Corresponding Source“ im Sinne der + AGPL — gebaut wird ohne ihn —, und `.gitattributes` nimmt ihn deshalb vom + Quelltextarchiv aus. + +Die Kopfzeilen der Java-Dateien pflegt Spotless (`licenseHeader`); der an die +Phase `verify` gebundene Lauf von `spotless:check` hält den Bau an, sobald eine +Quelldatei ohne Kopfzeile hinzukommt. @@ -12,6 +12,15 @@ <artifactId>aendggner</artifactId> <version>${revision}</version> + <licenses> + <license> + <name>AGPL-3.0-or-later</name> + <url>https://www.gnu.org/licenses/agpl-3.0.html</url> + <distribution>repo</distribution> + <comments>Wortlaut im Quelltext unter LICENSES/AGPL-3.0-or-later.txt (COPYING).</comments> + </license> + </licenses> + <properties> <maven.compiler.parameters>true</maven.compiler.parameters> <maven.compiler.release>21</maven.compiler.release> @@ -216,6 +225,17 @@ </licenseHeader> </java> </configuration> + <executions> + <!-- Hält den Bau an, sobald eine Quelldatei ohne SPDX-Kopfzeile oder ohne + die vereinbarte Formatierung hinzukommt. --> + <execution> + <id>spotless-check</id> + <phase>verify</phase> + <goals> + <goal>check</goal> + </goals> + </execution> + </executions> </plugin> <plugin> diff --git a/src/main/resources/eu/mulk/aendggner/web/impressum.html b/src/main/resources/eu/mulk/aendggner/web/impressum.html index 3832d03..8003af0 100644 --- a/src/main/resources/eu/mulk/aendggner/web/impressum.html +++ b/src/main/resources/eu/mulk/aendggner/web/impressum.html @@ -1,4 +1,6 @@ <!doctype html> +<!-- SPDX-FileCopyrightText: 2020 Matthias Andreas Benkard <code@mail.matthias.benkard.de> + SPDX-License-Identifier: AGPL-3.0-or-later --> <html lang="de"> <head> <meta charset="utf-8"> @@ -45,8 +47,9 @@ </p> <p> Die zugrunde liegende Software steht unter der GNU Affero General Public License, - Version 3 (Wortlaut in der Datei <code>COPYING</code> des Quelltextes), und wird - ausdrücklich ohne jede Gewährleistung überlassen. Den + Version 3 oder (nach Ihrer Wahl) einer späteren Fassung (Wortlaut in der Datei + <code>COPYING</code> des Quelltextes), und wird ausdrücklich ohne jede + Gewährleistung überlassen. Den <a href="aendggner-quelltext.tar.gz">Quelltext der betriebenen Fassung</a> gibt es zum Herunterladen; fortlaufend auch über <a href="https://gerrit.benkard.de/plugins/gitiles/aendggner">Gerrit</a>. diff --git a/src/main/resources/eu/mulk/aendggner/web/index.html b/src/main/resources/eu/mulk/aendggner/web/index.html index 56fd88b..8b85f52 100644 --- a/src/main/resources/eu/mulk/aendggner/web/index.html +++ b/src/main/resources/eu/mulk/aendggner/web/index.html @@ -1,4 +1,6 @@ <!doctype html> +<!-- SPDX-FileCopyrightText: 2020 Matthias Andreas Benkard <code@mail.matthias.benkard.de> + SPDX-License-Identifier: AGPL-3.0-or-later --> <html lang="de"> <head> <meta charset="utf-8"> @@ -133,7 +135,7 @@ <footer> <a href="impressum.html">Impressum</a> · <a href="datenschutz.html">Datenschutz</a> · - <a href="aendggner-quelltext.tar.gz">Quelltext dieser Fassung (AGPLv3)</a> + <a href="aendggner-quelltext.tar.gz">Quelltext dieser Fassung (AGPLv3 oder später)</a> <span class="nebenquelle">(<a href="https://gerrit.benkard.de/plugins/gitiles/aendggner">Git</a>)</span> </footer> </body> |
