aboutsummaryrefslogtreecommitdiff
path: root/deploy/cloudflare.sh
diff options
context:
space:
mode:
authorMatthias Andreas Benkard <code@mail.matthias.benkard.de>2026-08-23 08:31:49 +0200
committerMatthias Andreas Benkard <code@mail.matthias.benkard.de>2026-08-23 08:31:49 +0200
commita5d554451ab352f27dc26b70ae0a417816dee3f6 (patch)
tree8250a371098a5aea15da9694ea92a66960b44208 /deploy/cloudflare.sh
parentd31973aa6fa6dec11c9b587e5889d8e92d6d5637 (diff)
Jede Datei nennt fortan ihren Urheber und ihre Lizenz
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 betrachtet — und so betrachtet sie jeder, der sie übernimmt —, fand daran nichts. Maßstab ist die REUSE-Spezifikation in der Fassung 3.3. Das Verzeichnis „LICENSES“ nimmt die Wortlaute auf: die AGPL in der Fassung 3 oder später, die Apache-Lizenz für den unverändert mitgelieferten Maven-Wrapper und „LicenseRef-AmtlichesWerk.txt“. „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, und die Prüfung übergeht Verknüpfungen, sodass für den Lizenztext selbst keine sachfremde Lizenzangabe zu erfinden war. Die dritte Datei bezeichnet keine erteilte Lizenz, sondern hält die gesetzliche Rechtslage des Prüfbestandes fest. Fünfundvierzig PDF-Dateien, fünf EPUB-Dateien und die XML-Fassungen sind fremde Werke: Verkündungsblätter, Drucksachen, Plenarprotokolle und Entwürfe des Bundes und der Länder. Sie sind nach § 5 Abs. 1 UrhG gemeinfrei, die ministeriellen Entwürfe und Synopsen nach § 5 Abs. 2, und gleichwohl gebunden an Änderungsverbot und Quellenangabe nach §§ 62 und 63. Ausdrücklich festgehalten ist, dass die technische Aufbereitung durch die Rechtsportale kein eigenes Recht am Text begründet und dass der Bestand kein „Corresponding Source“ im Sinne der AGPL ist — gebaut wird ohne ihn. „REUSE.toml“ ordnet zu, was keinen Kommentar verträgt, und scheidet den Prüfbestand nach Herkunft: Bund in Verkündung und Parlament, Bund in den ministeriellen Entwürfen, gesetze-im-internet.de nebst der Aufbereitung durch die juris GmbH, sodann neun Länder je einzeln. Die selbst abgeleiteten Textfassungen tragen „AGPL-3.0-or-later AND LicenseRef-AmtlichesWerk“, denn der Wortlaut ist amtlich, die Aufbereitung — Einrückung, Superskript-Satznummern, Gliederungsüberschriften — eigene Arbeit. Maßgeblich für die Fundstelle der einzelnen Datei bleibt die Datei „SOURCES“ des jeweiligen Verzeichnisses; die Lizenzdatei nimmt sie in Bezug, wie es § 63 UrhG verlangt. Die übrigen Dateien tragen ihre Angabe in sich, im jeweils üblichen Kommentarstil, vor dem vorhandenen erläuternden Text und ohne diesen anzutasten. „mini-gii.xml“ und „.mvn/maven.config“ bleiben bewusst unberührt und erhalten stattdessen einen Eintrag: Ersteres liest der GiiXmlLoader, Letzteres Maven vor jedem Bau. Ein Ausrollwerkzeug hinterließ mit „.wrangler“ ein Zwischenverzeichnis im Arbeitsbaum; es ist fortan übergangen. Die Java-Dateien und die Angleichung der Lizenzaussage folgen gesondert. An diesem Stand bestehen dreihundertfünfundzwanzig Testfälle unverändert; am Verhalten des Erzeugnisses ändert sich nichts. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Change-Id: Id08e26d8e15545b2d00dd3d4fa7ffca86cf14944
Diffstat (limited to 'deploy/cloudflare.sh')
-rwxr-xr-xdeploy/cloudflare.sh3
1 files changed, 3 insertions, 0 deletions
diff --git a/deploy/cloudflare.sh b/deploy/cloudflare.sh
index d64325f..5f18f62 100755
--- a/deploy/cloudflare.sh
+++ b/deploy/cloudflare.sh
@@ -1,4 +1,7 @@
#!/bin/sh
+# SPDX-FileCopyrightText: 2020 Matthias Andreas Benkard <code@mail.matthias.benkard.de>
+# SPDX-License-Identifier: AGPL-3.0-or-later
+
# Baut die Browserfassung und schiebt sie zu Cloudflare Workers (README § 15).
#
# 1. ./mvnw -Pwasm package — erzeugt target/web und lässt deploy/webpaket.sh darüber