KOP-3527 license compatability check
Überprüfung auf mit der EUPL kompatiblen Lizenzen, bei Benutzung als Bibliothek, die statisch in unsere Software hineinkompiliert wird.
Die Überprüfung wird bei der Ausführung des Maven Goals mvn license:add-third-party durchgeführt, wenn entweder Abhängigkeiten oder ihre Versionen geändert wurden, oder die THIRD_PARTY_LICENSES.md Datei nicht im Repo vorhanden ist und deshalb neu generiert wird.
Die Überprüfung verwendet nur die in den POM Dateien der Dependencies angegebenen Lizenzangaben und führt keine inhaltliche Analyse auf LICENSE Dateien oder Lizenz-Header im Code durch.
Ich habe aus der Kompatibilitätsmatrix diejenigen Lizenzen übernommen, die es erlauben, den unter ihnen lizensierten Code per Static Linking einzubinden. Ich schätze das passt am Besten auf unseren Fall. Außerdem habe ich die Liste zulässiger Lizenzen ergänzt um:
- Apache-2.0
- In der EUPL-Matrix ist nur Version 1.1 aufgeführt, die für Einbindung als Bibliothek relevanten Abschnitte sind gleich.
- Creative Commons CC0
- Public Domain, keine Lizenzbedingungen.
- Eclipse Distribution License 1.0
- Entspricht der BSD-3-Clause Lizenz.
- Eclipse Public License 2.0
- Die EUPL-Matrix führt nur Version 1.0 auf. In Klärung, ob Version 2.0 auch kompatibel ist.
- GNU General Public License, version 2 with the GNU Classpath Exception
- Eine Adaption der GPL, die Verwendung als Bibliothek explizit erlaubt. Quasi eine LGPL spezifisch für Java Code.
Für OpenSAML fehlt die Angabe der anzuwendenden Lizenzbedingungen in der POM Datei der Dependencies. Meine Recherche hat ergeben, dass OpenSAML unter einer Apache-2.0 Lizenz freigegeben ist, weshalb ich einen entsprechenden Override hinzugefügt habe.