¿Cómo incluir una biblioteca apache con mi código de código abierto?

9

Tengo este código fuente abierto con licencia MIT que usa una biblioteca con licencia Apache 2.0.

Quiero incluir esto en mi proyecto, para que pueda construirse de inmediato.

En el punto 4 de esa licencia se explica cómo redistribuirla:

extracto:

4) La redistribución . Puede reproducir y distribuir copias de la Obra u Obra derivada de la misma en cualquier medio, con o sin modificaciones, y en forma de Fuente u Objeto, siempre que cumpla las siguientes condiciones:

Debe proporcionar a cualquier otro destinatario de la Obra u Obra derivada una copia de esta Licencia; y

Debe hacer que los archivos modificados lleven avisos destacados que indiquen que cambió los archivos; y

Debe conservar, en la forma Fuente de cualquier Obra Derivada que distribuya, todos los avisos de derechos de autor, patente, marca registrada y atribución de la forma Fuente de la Obra, excluyendo aquellas notificaciones que no pertenecen a ninguna parte de la Obra Derivada; y

Si la Obra incluye un archivo de texto "AVISO" como parte de su distribución, cualquier Obra Derivada que usted distribuya debe incluir una copia legible de los avisos de atribución contenidos en dicho archivo de AVISO, excluyendo aquellos avisos que no pertenecen a ninguna parte del Obras Derivadas, en al menos uno de los siguientes lugares: dentro de un archivo de texto AVISO distribuido como parte de las Obras Derivadas; dentro del formulario Fuente o documentación, si se proporciona junto con los Trabajos derivados; o, dentro de una pantalla generada por Derivative Works, si y donde normalmente aparecen dichos avisos de terceros. El contenido del archivo AVISO es solo para fines informativos y no modifica la Licencia. Puede agregar sus propios avisos de atribución dentro de los trabajos derivados que distribuya, junto o como un anexo al texto de AVISO del trabajo, siempre que dichos avisos de atribución adicionales no puedan interpretarse como una modificación de la Licencia. Puede agregar su propia declaración de derechos de autor a sus modificaciones y puede proporcionar términos y condiciones de licencia adicionales o diferentes para el uso, reproducción o distribución de sus modificaciones, o para cualquier obra derivada en su conjunto, siempre que su uso, reproducción y distribución de el Trabajo cumple con las condiciones establecidas en esta Licencia.

No estoy creando un trabajo derivado (planeo proporcionarlo tal como está).

No tengo un archivo de AVISO, solo mi propio archivo LICENSE.txt.

Pregunta: ¿Dónde debo poner algo en la línea: "Este proyecto usa la biblioteca Xyz distribuida bajo Apache 2.0 ..."? ¿Qué se recomienda?

¿Debo proporcionar el archivo de licencia de Apache también? O sería suficiente si solo dijera "Encuentra la licencia en línea aquí ... "

Espero que alguien que haya hecho esto en el pasado pueda arrojar algo de luz sobre el asunto.

OscarRyz
fuente

Respuestas:

3

Pregunta: ¿Dónde debo poner algo en la línea: "Este proyecto usa la biblioteca Xyz distribuida bajo Apache2.0 ..."? ¿Qué se recomienda?

La licencia implica que debe incluir algún tipo de archivo de AVISO en la distribución de su software. Te recomiendo que hagas eso.

¿Debo proporcionar el archivo de licencia de Apache también? O sería suficiente si solo dijera "Encuentre la licencia en línea aquí ... http://www.apache.org/licenses/LICENSE-2.0.html "

La licencia le exige explícitamente que proporcione una copia de la licencia.


Si considera que los requisitos de Apache establecidos o implícitos son objetables, hable con un abogado con experiencia en problemas de IP de software ... antes de decidir ignorarlos.

Stephen C
fuente
8

No he hecho esto en el pasado, pero su segmento citado deja muy claro lo que se necesita. Específicamente, solo la siguiente línea es relevante para usted: "Debe proporcionar a cualquier otro destinatario del Trabajo u Obra derivada una copia de esta Licencia";

Esto significa que debe incluir el archivo de licencia en sí, no solo un enlace.

En cuanto a su otra pregunta, el extracto de licencia no requiere que llame explícitamente el uso de la biblioteca, pero dicha información sería más útil en un archivo README.txt o Dependencies.txt.

Jay Lindquist
fuente
5

También debe proporcionar una copia de la licencia de Apache versión 2.0 (APLv2). Lo dice en la cita: "Debe entregar una copia de esta Licencia a cualquier otro destinatario del Trabajo u Obra derivada".

No se requiere ninguna atribución aparte de eso. Por lo tanto, poner "este proyecto usa la biblioteca Xyz distribuida bajo Apache 2.0" en algún lugar no es necesario. El código fuente (el Trabajo) y la licencia hablan por sí mismos en este asunto.

Por supuesto, es una buena etiqueta incluir una atribución como esa. A dónde va depende del tipo de software que esté creando.

Dicho esto, parece que está haciendo un trabajo derivado: está creando un binario con el software con licencia APLv2. Eso es un trabajo derivado. (No está claro en su pregunta si está distribuyendo un binario o no, en realidad). Si ese es el caso, debe tratar el archivo AVISO de manera adecuada. Usted dice que usted no tiene un archivo de AVISO, pero hace el software APLv2 tener un archivo de AVISO? En caso afirmativo, debe tener algún método para mostrar los avisos allí con su software (binario).

robinbb
fuente
con respecto al "trabajo derivado" ... no está claro si el OP está creando un trabajo derivado o no. PERO, "construir un binario con el software con licencia APLv2" no implica un trabajo derivado. La licencia dice específicamente "Las obras derivadas no incluirán obras que permanezcan separables de, o simplemente se vinculen (o se vinculen por nombre) a las interfaces de la obra y las obras derivadas de las mismas".
Andy Dennie