Billinski · Rechtliches

Open-Source- und Drittanbieter-Hinweise (Third-Party Notice)

Entwurf, vor Veröffentlichung anwaltlich prüfen lassen. Stand: 2026-10-14.

Billinski wird als Dienst betrieben und nicht an Händler ausgeliefert. Die meisten Open-Source-Lizenzen knüpfen ihre Pflichten an die Weitergabe der Software; für den reinen Betrieb genügt in der Regel das Beibehalten der Urheber- und Lizenzhinweise. Ausnahmen sind Lizenzen mit Netzwerk-Copyleft (AGPL) und kommerzielle Schriften. Dieses Dokument listet die Bestandteile, nennt die Lizenz je Bestandteil und markiert, was vor dem Go-live geklärt werden muss. Veröffentlichung unter billinski.de/lizenzen und als Link in der App.

1. Methode

2. Web-App (apps/web, Next.js/TypeScript)

2.1 Zusammenfassung nach Lizenz

Laufzeit-Abhängigkeiten (--prod, 127 Pakete):

Lizenz Pakete
MIT 75
Apache-2.0 35
ISC 7
Unlicense 2 (postgres, fast-sha256)
MIT-0 2 (nodemailer, postal-mime)
LGPL-3.0-or-later 1 (@img/sharp-libvips-*)
CC-BY-4.0 1 (caniuse-lite, Daten)
BSD-3-Clause 1 (source-map-js)
0BSD 1 (tslib)
MIT OR GPL-3.0-or-later (Wahl: MIT) 1 (jszip)
MIT AND Zlib 1 (pako)

Alle Pakete einschließlich Entwicklung und Test (447 Pakete): MIT 355, Apache-2.0 52, ISC 15, BSD-2-Clause 7, MPL-2.0 3 (axe-core, lightningcss, lightningcss-darwin-arm64), BSD-3-Clause 3, Unlicense 2, MIT-0 2, Python-2.0 1 (argparse), LGPL-3.0-or-later 1, CC0-1.0 1 (language-subtag-registry), CC-BY-4.0 1, BlueOak-1.0.0 1 (minimatch), 0BSD 1, MIT OR GPL-3.0-or-later 1, MIT AND Zlib 1.

2.2 Direkte Abhängigkeiten

Paket Version Lizenz Verwendung
next 16.4.0 MIT Web-Framework (Admin, API)
react, react-dom 19.3.0 MIT UI
drizzle-orm 0.45.4 Apache-2.0 Datenbankzugriff
postgres 3.4.9 Unlicense PostgreSQL-Treiber
bullmq 6.3.14 MIT Warteschlangen
ioredis 6.0.0 MIT Redis-Client
@aws-sdk/client-s3 3.1150.0 Apache-2.0 Objektspeicher (Object Lock)
nodemailer 10.1.0 MIT-0 SMTP-Versand
resend 6.32.1 MIT Resend-API
jose 6.2.12 MIT Signierte Token (Sitzung, Links)
jszip 3.10.2 MIT OR GPL-3.0-or-later Export-ZIPs; Billinski nutzt die MIT-Option
iconv-lite 0.7.3 MIT Windows-1252 für DATEV
yaml 2.9.1 ISC OpenAPI-Synchronisation
zod 4.6.7 MIT Validierung
typescript 5.9.3 Apache-2.0 Entwicklung
tailwindcss, @tailwindcss/turbopack 4.3.3 MIT Styles (Build)
drizzle-kit 0.31.11 MIT Migrationen (Entwicklung)
eslint, eslint-config-next 9.39.5 / 16.4.0 MIT Entwicklung
vitest 5.0.4 MIT Tests
@playwright/test 1.64.0 Apache-2.0 Tests
fast-xml-parser 5.11.2 MIT Tests
tsx 4.23.15 MIT Skripte, Worker

2.3 Hinweise zu einzelnen Paketen

3. Mustang-Service (services/mustang, Java 21)

Direkte Abhängigkeiten laut pom.xml und wesentliche transitive Bestandteile (118 Laufzeit-Artefakte). Lizenzen zu bestätigen (Abschnitt 1).

Bestandteil Version Lizenz Rolle
Mustangproject library, validator 2.26.0 Apache-2.0 ZUGFeRD-Einbettung, EN-16931-Validierung
Apache PDFBox (pdfbox, fontbox, xmpbox, preflight, pdfbox-io) 3.0.8 Apache-2.0 PDF-Verarbeitung, PDF/A-Prüfung
veraPDF (core-jakarta, parser, pdf-model, validation-model-jakarta, verapdf-xmp-core-jakarta, feature-reporting-jakarta, metadata-fixer-jakarta) 1.30.2 GPL-3.0-or-later OR MPL-2.0-or-later (Doppellizenz; Wahl: MPL-2.0) PDF/A-Validierung im Mustang-Validator
Saxon-HE 12.10 MPL-2.0 XSLT/Schematron
Mozilla Rhino 1.7.15.1 MPL-2.0 JavaScript-Engine (veraPDF)
xmlresolver 5.3.3 Apache-2.0 XML-Katalog
Apache FOP, Batik, XML Graphics Commons 2.11 / 1.19 / 2.11 Apache-2.0 Rendering (Mustang-Abhängigkeit)
ph-commons, ph-xml, ph-jaxb, ph-datetime, ph-cii-d16b, ph-ubl21–24, ph-xsds-, ph-schematron-, en16931-cii2ubl (Philip Helger) 11.2.6 u. a. Apache-2.0 CII/UBL-Modelle, Schematron
Javalin 7.2.3 Apache-2.0 HTTP-Server
Eclipse Jetty (server, http, util, io, ee10-servlet, security, session, websocket, annotations, plus, jndi, webapp, xml) 12.1.12 Apache-2.0 OR EPL-2.0 (Doppellizenz; Wahl: Apache-2.0) HTTP-Server (Javalin)
Jakarta APIs (servlet, annotation, cdi, inject, interceptor, transaction, enterprise.lang-model) diverse EPL-2.0 (mit GPL-2.0 Classpath Exception als Alternative) Schnittstellen
jakarta.xml.bind-api, jakarta.activation-api, JAXB-Runtime (jaxb-runtime, jaxb-core, txw2, istack-commons-runtime), angus-activation 4.x / 2.x EDL-1.0 (BSD-3-Clause) XML-Bindung
Jackson (core, databind, annotations) 2.20.x Apache-2.0 JSON
Kotlin stdlib, JetBrains annotations 2.2.20 / 13.0 Apache-2.0 Javalin-Abhängigkeit
SLF4J (api, simple) 2.0.x MIT Logging
ASM (asm, asm-commons, asm-tree) 9.10.1 BSD-3-Clause Bytecode (Jetty)
dom4j 2.2.0 BSD-ähnlich (dom4j-Lizenz) XML
commons-io, commons-logging 2.22.0 / 1.3.0 Apache-2.0 Hilfsbibliotheken
qdox 1.12 Apache-2.0 FOP-Abhängigkeit
stax-utils 20070216 BSD-3-Clause XML
jsr305 3.0.2 BSD-3-Clause Annotationen
JUnit Jupiter 5.13.4 EPL-2.0 nur Test
Eclipse Temurin JRE 21 (Basis-Image) 21 GPL-2.0 with Classpath Exception Laufzeit
Ghostscript (Debian-Paket im Image) 10.x AGPL-3.0 (oder kommerzielle Lizenz von Artifex) PDF → PDF/A-3b, siehe Abschnitt 5
DejaVu-Schriften (fonts-dejavu-core im Image) Bitstream-Vera-Lizenz (mit Public-Domain-Ergänzungen) Fallback-Schrift für Ghostscript

4. Systemkomponenten (Container und Server)

Komponente Quelle Lizenz Hinweis
Gotenberg gotenberg/gotenberg:8 MIT HTML → PDF über Chromium; das Image enthält außerdem LibreOffice (MPL-2.0) und weitere Werkzeuge, die Billinski nicht aufruft
Chromium (in Gotenberg) BSD-3-Clause (plus Lizenzen enthaltener Bibliotheken) Rendering
PostgreSQL postgres:16-alpine PostgreSQL License Datenbank
Redis redis:7-alpine Redis 7.2: BSD-3-Clause; ab 7.4: RSALv2 oder SSPLv1 (Doppellizenz), ab 8.0 zusätzlich AGPL-3.0 Das Tag 7 kann auf 7.4.x zeigen; Version festlegen und Lizenz prüfen (Abschnitt 5)
versitygw versity/versitygw Apache-2.0 S3-kompatibler Objektspeicher mit Object Lock
Mailpit axllent/mailpit MIT nur Entwicklung
cloudflared Cloudflare Apache-2.0 Tunnel-Client auf dem Server
Docker CE, Compose Apache-2.0 Laufzeit
Debian / Alpine Basis-Images diverse (GPL, LGPL, MIT, BSD …) Betriebssystempakete, nicht weitergegeben
Umami eigener Server MIT Reichweitenmessung

5. Copyleft- und prüfpflichtige Bestandteile (ausdrücklich)

Bestandteil Lizenz Lage Handlung vor Go-live
Ghostscript AGPL-3.0 Läuft ausschließlich serverseitig im Mustang-Service (gs wandelt das Gotenberg-PDF in PDF/A-3b, api/mustang-service.md). Die AGPL knüpft an die Interaktion über ein Netzwerk an; Artifex vertritt öffentlich die Position, dass der Einsatz „as part of a server-based application or service“ ohne Offenlegung des Quellcodes der eigenen Anwendung unter AGPL eine kommerzielle Lizenz erfordert (artifex.com/licensing). Händler interagieren nicht direkt mit Ghostscript, die Anwendung aber schon. Anwaltlich prüfen; Optionen: kommerzielle Lizenz von Artifex, Ersatz der PDF/A-Konvertierung (z. B. PDF/A-3 direkt aus Chromium/PDFBox-Pipeline erzeugen) oder Offenlegung des Quellcodes der Anwendung unter AGPL. Bis zur Klärung keine Veröffentlichung im App Store.
veraPDF GPL-3.0-or-later OR MPL-2.0-or-later Transitive Abhängigkeit des Mustang-Validators, unverändert MPL-2.0 wählen und dokumentieren; keine weiteren Pflichten ohne Änderung der Dateien
Saxon-HE, Rhino MPL-2.0 unverändert, Mustang-Service keine Pflichten ohne Änderung; Hinweis beibehalten
lightningcss, axe-core MPL-2.0 Build/Test der Web-App keine
@img/sharp-libvips LGPL-3.0-or-later dynamisch gelinkt, optional keine; alternativ entfernen
jszip MIT OR GPL-3.0-or-later Web-App MIT gewählt
Jetty, Jakarta-APIs, JUnit EPL-2.0 (Jetty und Jakarta mit Alternativlizenz) unverändert Apache-2.0 (Jetty) bzw. EPL-2.0 ohne Änderung: keine Pflichten über den Hinweis hinaus
Redis 7.4+ RSALv2 / SSPLv1 mögliche Version hinter redis:7-alpine Image auf redis:7.2 festlegen (BSD-3) oder auf Valkey (BSD-3) wechseln; sonst RSALv2-Bedingungen (kein Angebot von Redis als Dienst an Dritte; für die interne Warteschlange voraussichtlich unkritisch) prüfen
caniuse-lite CC-BY-4.0 Daten Namensnennung (hier erfolgt)
Eclipse Temurin / OpenJDK GPL-2.0 with Classpath Exception Laufzeit keine Pflichten für den Betrieb

6. Schriften

7. Pflichten, die Billinski erfüllt

  1. Beibehalten der Urheber- und Lizenzhinweise aller Bestandteile (dieses Dokument; die Lizenztexte liegen in node_modules bzw. in den Maven-Artefakten und werden auf Anfrage bereitgestellt). Apache-2.0-NOTICE-Dateien werden mit den Artefakten unverändert mitgeführt.
  2. Keine Änderungen an MPL-, EPL- oder LGPL-lizenzierten Dateien; sollten Änderungen nötig werden, werden die geänderten Dateien unter derselben Lizenz veröffentlicht.
  3. Klärung der AGPL-Frage zu Ghostscript und der Redis-Version vor der Veröffentlichung (Abschnitt 5).
  4. Erwerb der Schriftlizenzen vor dem Go-live (Abschnitt 6).
  5. Aktualisierung dieses Dokuments bei jeder Änderung der Abhängigkeiten; Erzeugung nach Abschnitt 1.

8. Lizenztexte

Die vollständigen Lizenztexte sind unter den folgenden Adressen abrufbar: MIT (opensource.org/license/mit), Apache-2.0 (apache.org/licenses/LICENSE-2.0), ISC (opensource.org/license/isc-license-txt), BSD-2/3-Clause (opensource.org/licenses), MPL-2.0 (mozilla.org/MPL/2.0), EPL-2.0 (eclipse.org/legal/epl-2.0), EDL-1.0 (eclipse.org/org/documents/edl-v10.php), LGPL-3.0 und AGPL-3.0 (gnu.org/licenses), GPL-2.0 with Classpath Exception (openjdk.org/legal/gplv2+ce.html), PostgreSQL License (postgresql.org/about/licence), CC-BY-4.0 (creativecommons.org/licenses/by/4.0), Unlicense (unlicense.org), MIT-0 (opensource.org/license/mit-0), 0BSD (opensource.org/license/0bsd), BlueOak-1.0.0 (blueoakcouncil.org/license/1.0.0), RSALv2 (redis.io/legal/rsalv2-agreement), SSPLv1 (mongodb.com/licensing/server-side-public-license).