¿Cómo incluir licencias para dependencias de Maven de terceros?

19

Estoy produciendo un binario distribuible para mi proyecto Java. Lo estoy lanzando de dos maneras:

  1. Maven Central

  2. Cremallera distribuible en el código de Google

Mi proyecto está licenciado bajo la licencia Apache 2.0. Utilizo un pequeño número de terceros, uno de los cuales tiene licencia del MIT. Creo que es mi obligación informar a los usuarios de mi proyecto sobre el contenido de la licencia, según el siguiente texto de la licencia:

El aviso de copyright anterior y este aviso de permiso se incluirán en todas las copias o partes sustanciales del Software.

¿Cómo puedo hacer referencia a esto dentro de mi fuente y mis distribuibles? Actualmente estoy pensando:

  1. Mis archivos de origen no necesitan hacer referencia a nada. Solo incluyen mi aviso de placa base Apache 2.0.

  2. Agrego un archivo LICENSE.txt en la raíz de mi proyecto, incluido el texto de la licencia Apache 2.0.

  3. Para mi distribuible comprimido, también necesito agregar algo que indique que un componente tiene licencia MIT. Tal vez un archivo de AVISO?

  4. Para mi distribución de Maven Central, no necesito hacer nada ya que mi artefacto solo declara sus dependencias, pero en realidad no las incluye.

¿Esto parece un plan válido? Si es así, ¿alguien puede aconsejar cómo lograr el punto 3?

Duncan Jones
fuente

Respuestas:

5

Con el complemento de licencia de Maven , puede generar un archivo de texto con todas las licencias ( license:add-third-party). Este archivo se puede incluir como recurso en su proyecto o en su paquete zip.

J. Fabian Meier
fuente