Wie kann ich Lizenzen für Maven-Abhängigkeiten von Drittanbietern einbinden?

19

Ich erstelle eine Binärdatei für mein Java-Projekt. Ich veröffentliche es auf zwei Arten:

  1. Maven Central

  2. Auf Google-Code verteilbare ZIP-Datei

Mein Projekt ist unter der Apache 2.0 Lizenz lizenziert. Ich benutze eine kleine Anzahl von Drittanbietern, von denen einer MIT-lizenziert ist. Ich halte es für meine Pflicht, Benutzer meines Projekts auf den Inhalt der Lizenz aufmerksam zu machen, basierend auf dem folgenden Text aus der Lizenz:

Der obige Copyright-Hinweis und dieser Erlaubnishinweis sind in allen Kopien oder wesentlichen Teilen der Software enthalten.

Wie beziehe ich mich am besten in meiner Quelle und meinen verteilbaren Dateien darauf? Ich denke gerade:

  1. Meine Quelldateien müssen auf nichts verweisen. Sie enthalten lediglich meinen Hinweis auf das Apache 2.0-Boilerplate.

  2. Ich füge eine LICENSE.txt-Datei im Stammverzeichnis meines Projekts hinzu, die den Apache 2.0-Lizenztext enthält.

  3. Für meine ZIP-Datei muss ich auch etwas hinzufügen , das darauf hinweist , dass eine Komponente MIT-lizenziert ist. Vielleicht eine NOTICE-Datei?

  4. Für meine Maven Central-Distribution muss ich nichts tun, da mein Artefakt nur die Abhängigkeiten deklariert, diese aber nicht tatsächlich einbezieht.

Scheint dies ein gültiger Plan zu sein? Wenn ja, kann jemand raten, wie Punkt 3 erreicht werden soll.

Duncan Jones
quelle

Antworten:

5

Mit dem Maven License Plugin können Sie eine Textdatei mit allen Lizenzen erstellen ( license:add-third-party). Diese Datei kann dann als Ressource in Ihr Projekt oder Ihre gebündelte Zip-Datei aufgenommen werden.

J. Fabian Meier
quelle