iText?
Sie möchten gerne unter Java pdf-Dokumente erzeugen? Dann ist iText schon seit vielen Jahren eine beliebte Bibliothek. Die Grundlagen von iText wurden schon 1998 im Rahmen eines Softwareprojektes an der Universität Gent entwickelt. Noch während der Projektlaufzeit wurde iText als Open Source Software freigegeben. Bis zur Version 4.2.0 stand die Software sowohl unter LGPL als auch MPL, und kam in dieser Version in hunderten von Projekten zum Einsatz.
Bei den Versionen von iText ab 5.1 wurde die Lizenz auf AGPL 3.0 geändert. Nutzer, denen eine derart restriktive Lizenz nicht zusagte, konnten eine kommerzielle Lizenz erwerben oder alternativ eine ältere Version der Bibliothek verwenden, z.B. 4.2.0 oder frühere Versionen. Dieser letzte Punkt hat dazu geführt, dass auch heute noch viele Nutzer ältere Versionen von iText verwenden, die unter der LGPL/MPL lizenziert sind.
Warum ist das für Sie wichtig?
Nach Angaben der iText-Autoren wurden während der Due-Diligence-Prüfung im Zusammenhang mit der Vorbereitung von iText 5 verschiedene Compliance-Probleme in der älteren Version aufgedeckt, die Urheberrechte oder IP-Rechte anderer verletzen. Einige Beispiele sind unten aufgeführt:
• Einige Codeschnipsel von iText wurden von Projekten mit zwei Lizenzen entliehen. Der ursprüngliche Entwickler dachte, es handele sich um eine „Doppellizenzierung“ und er könne sich an die permissive Lizenz halten, aber nach der neuen juristischen Beurteilung gelten beide Lizenzen.
• Einige Teile des Codes waren ohne Lizenz. Die ursprünglichen Autoren konnten für eine Klärung der Lizenz nicht erreicht werden. Der Code wurde dann trotzdem verwendet.
• In einigen Fällen musste ein CLA* ausgehandelt werden.
In den neueren Versionen wurden Teile mit unklarer Lizenz entfernt, oder die Lizenzen wurden geklärt und Schritte unternommen, um alle Verpflichtungen zu erfüllen. Unter dem Gesichtspunkt der Einhaltung der Lizenzbedingungen besteht daher bei älteren Versionen die Gefahr, dass die Rechte des geistigen Eigentums der jeweiligen Autoren verletzt werden.
Was sollten Sie tun?
Wann immer also eine ältere Version von iText (4.x oder früher) in einer unserer Prüfungen auftaucht, lautet unsere Empfehlung, entweder die neueste Version von iText zu nutzen (und möglicherweise eine kommerzielle Lizenz erwerben) oder auf eine verfügbare Alternative umzusteigen, z.B.: PDFBox, html2pdf oder eine andere.
Wie kann Bitsea helfen
Bitsea führt Software-Audits durch, die darauf abzielen, eine vollständige Liste von Drittanbieter- und Open-Source-Bibliotheken zu erstellen, die Sie in Ihrem Code verwenden. Wir verwenden umfassende Scantechniken für Ihren Code, die bis zur Erkennung von kopiertem Codeschnipseln von Drittanbietern gehen können, und liefern Ihnen SBOMs mit den Namen von Drittanbieter-Bibliotheken, Versionen, Lizenznamen und Schwachstellen im Zusammenhang mit diesen Bibliotheken.
* Ein Contributor License Agreement (CLA), auch Contributor Agreement genannt, ist ein Dokument, das die Bedingungen beschreibt, unter denen geistiges Eigentum zu einem Projekt oder Vorhaben beigetragen werden kann; in der Regel ein Softwareprojekt unter einer Open-Source-Lizenz [Wikipedia].