Jak dołączyć licencje na zależności Maven innych firm?

19

Tworzę plik binarny do dystrybucji dla mojego projektu Java. Wydaję to na dwa sposoby:

  1. Maven Central

  2. Rozpakowany do dystrybucji w kodzie Google

Mój projekt jest objęty licencją Apache 2.0. Korzystam z niewielkiej liczby podmiotów zewnętrznych, z których jedna ma licencję MIT. Uważam, że moim obowiązkiem jest poinformowanie użytkowników mojego projektu o treści licencji na podstawie następującego tekstu z licencji:

Powyższa informacja o prawach autorskich i ta informacja o pozwoleniu będą zawarte we wszystkich kopiach lub znacznych częściach Oprogramowania.

Jak najlepiej odwoływać się do tego w moim źródle i materiałach dystrybucyjnych? Obecnie myślę:

  1. Moje pliki źródłowe nie muszą odnosić się do niczego. Zawierają tylko moje powiadomienie o płycie Apache 2.0.

  2. Dodaję plik LICENSE.txt w katalogu głównym mojego projektu, w tym tekst licencji Apache 2.0.

  3. Do mojego rozpakowanego pliku zip muszę również dodać coś , co wskazuje, że dany komponent ma licencję MIT. Być może plik NOTICE?

  4. W mojej dystrybucji Maven Central nie muszę nic robić, ponieważ mój artefakt po prostu deklaruje swoje zależności, ale tak naprawdę ich nie obejmuje.

Czy to wydaje się być prawidłowym planem? Jeśli tak, czy ktoś może doradzić, jak osiągnąć punkt 3.

Duncan Jones
źródło

Odpowiedzi:

5

Za pomocą wtyczki Maven License Plugin możesz wygenerować plik tekstowy ze wszystkimi licencjami ( license:add-third-party). Plik ten można następnie dołączyć jako zasób do projektu lub do skompresowanego pliku zip.

J. Fabian Meier
źródło