Bagaimana cara memasukkan lisensi untuk dependensi Maven pihak ketiga?

19

Saya memproduksi biner yang dapat didistribusikan untuk proyek Java saya. Saya merilisnya dalam dua cara:

  1. Maven Central

  2. Zip dapat didistribusikan di kode Google

Proyek saya dilisensikan di bawah lisensi Apache 2.0. Saya menggunakan sejumlah kecil pihak ketiga, salah satunya adalah MIT berlisensi. Saya percaya ini adalah kewajiban saya untuk membuat pengguna proyek saya mengetahui konten lisensi, berdasarkan teks berikut dari lisensi:

Pemberitahuan hak cipta di atas dan pemberitahuan izin ini harus dimasukkan dalam semua salinan atau bagian penting Perangkat Lunak.

Bagaimana cara terbaik untuk merujuk ini dalam sumber saya dan yang dapat didistribusikan? Saya sedang berpikir:

  1. File sumber saya tidak perlu referensi apa pun. Mereka hanya memasukkan pemberitahuan boilerplate Apache 2.0 saya.

  2. Saya menambahkan file LICENSE.txt di root proyek saya termasuk teks lisensi Apache 2.0.

  3. Untuk dapat didistribusikan zip saya, saya juga perlu menambahkan sesuatu yang menunjukkan komponen berlisensi MIT. Mungkin file PEMBERITAHUAN?

  4. Untuk distribusi Maven Central saya, saya tidak perlu melakukan apa-apa karena artefak saya hanya menyatakan ketergantungannya, tetapi tidak benar-benar memasukkannya.

Apakah ini tampak seperti rencana yang valid? Jika demikian, adakah yang bisa menyarankan bagaimana mencapai poin 3.

Duncan Jones
sumber

Jawaban:

5

Menggunakan Plugin Maven License , Anda dapat membuat file teks dengan semua lisensi ( license:add-third-party). File ini kemudian dapat dimasukkan sebagai sumber daya ke proyek Anda atau zip yang dibundel Anda.

J. Fabian Meier
sumber