¿Cómo afecta el uso de una gema LGPL a mi aplicación con licencia MIT?

21

Estoy desarrollando una aplicación ruby ​​de código abierto bajo la licencia MIT. Estoy usando esta licencia porque no quiero imponer restricciones a los usuarios de la aplicación. También puedo leer y entender esta licencia.

Recientemente comencé a usar otra gema de rubí en mi proyecto (requiere "somegem"). Esta gema de rubí está bajo la licencia LGPL.

¿Tengo que cambiar algo sobre mi proyecto porque estoy usando esta otra gema de rubí con licencia LGPL? Mi proyecto no contiene el código fuente de la otra gema y no se envía con mi proyecto. Simplemente aparece como una dependencia para que Ruby Gems lo instale y mi proyecto lo invoque desde mi código.

Además, sería útil saber si hay alguna licencia que deba "vigilar" porque su uso afectaría la licencia de mi proyecto.

Hay alguna otra publicación sobre este tema, pero redactada de diferentes maneras. Como encuentro que esta licencia es complicada, espero obtener una respuesta dirigida a mi situación.

Gracias
Corsen

Corsen
fuente
1
Esto parece una pregunta para abogados, no para programadores. (Es decir: esta es una buena pregunta, bien formulada, con la que algunos programadores pueden tener experiencia ... pero eso no lo hace apropiado para Stack Overflow, ya que tiene muy, muy poco que ver con la programación)
Phrogz
77
Phrogz: estás exagerando. Es una simple pregunta de licencia, que se responde explícitamente por el texto de la licencia y por numerosas preguntas frecuentes. Realmente no necesitas un abogado para leer.
vartec

Respuestas:

26

No afecta

LGPL - significa GPL Menor (usado para significar GPL de Biblioteca). La diferencia significativa con GPL es que no impone la licencia en el software que utiliza la biblioteca. Solo si modifica la biblioteca o incluye directamente partes del código en su software, entonces su código debería ser LGPL. Por otro lado, si solo está utilizando gem en su aplicación, está perfectamente bien mantener su aplicación con cualquier licencia que desee.

La parte mencionada de LGPL:

Un programa que no contiene derivadas de ninguna parte de la Biblioteca, pero está diseñado para trabajar con la Biblioteca al compilarse o vincularse con él, se denomina "trabajo que utiliza la Biblioteca". Tal trabajo, de forma aislada, no es un trabajo derivado de la Biblioteca y, por lo tanto, queda fuera del alcance de esta Licencia.

vartec
fuente
1
Hay algunos requisitos más para la biblioteca LGPL que debe cumplir, especialmente si codifica la importación dentro de un programa cerrado. Decir eso no significa que deba poner su código bajo LGPL, sino que hay requisitos que se deben cumplir. No soy firme con el mecanismo de enlace de Rubygen, probablemente sea comparable a la importación de Java: LGPL y Java .
Hakre
0

¿Tengo que cambiar algo sobre mi proyecto porque estoy usando esta otra gema de rubí con licencia LGPL? Mi proyecto no contiene el código fuente de la otra gema y no se envía con mi proyecto. Simplemente aparece como una dependencia para que Ruby Gems lo instale y mi proyecto lo invoque desde mi código.

El software LGPL es una dependencia de su software. Por lo tanto, en realidad es parte de su software. El LGPL permite ser utilizado desde software no libre (mientras que MIT es incluso software libre), por lo que ser una dependencia no es un bloqueador.

Sin embargo, como es una dependencia, debe ofrecer el código fuente si distribuye su software. No tengo idea de si el mecanismo de requerimiento dentro de ruby ​​siempre proporciona fuentes también. Si es así, diría que ya distribuye con las fuentes. De lo contrario, debe tener cuidado de que para cada versión de esa gema que necesite con su software ofrezca fuentes.

Probablemente deberías ocuparte de las fuentes de todos modos porque podría ser que el proyecto de terceros (la gema) se desconecte y tu proyecto se rompería, ya que ya no requiere una gema existente.

Este no es un consejo legal, solo desde la perspectiva de los programadores. Tenga en cuenta que los usuarios de su software le solicitan fuentes a medida que su software hace uso de la biblioteca y en realidad puede verse como una distribución porque usted escribió require "somegem"allí. La definición legal de distribución podría no coincidir con las expectativas diarias de los programadores de grabar archivos en un CD-ROM. Por lo tanto, es aconsejable tener una concepción más amplia aquí para mantenerse proactivo en caso de que las cosas no salgan como se esperaba.

hakre
fuente
1
"debe ofrecer el código fuente si distribuye su software". no, no lo haces si está disponible públicamente.
vartec
1
@vartec: si distribuye necesita ofrecer la fuente. Solo en caso de no ser comercial y el código no se cambia, puede delegar ese requisito al proyecto ascendente (consulte GPL). Si la biblioteca no es distribuida por usted (sin embargo, en este caso hay instrucciones de configuración codificadas que el usuario no puede cambiar, y en realidad hay requisitos para que la LGPL sea reemplazable, por lo que esto podría incluso romper la compatibilidad LGPL), creo que es más seguro proporcionar fuentes para que la ingeniería inversa y los requisitos de reemplazo sean fáciles de cumplir.
Hakre
@vartec: estar disponible públicamente significa que no distribuye. Si el distribuidor de gemas no puede ofrecer fuentes, la copia de la gema podría no ser legítima.
Hakre
LGPL, sección 4.e "Proporcione información de instalación, pero solo si de lo contrario se le exigiría que brinde dicha información en la sección 6 de la GNU GPL, y solo en la medida en que dicha información sea necesaria para instalar y ejecutar una versión modificada del Trabajo combinado producido al recombinar o volver a vincular la aplicación con una versión modificada de la versión vinculada ".
vartec
1
@vartec: Exactamente. 4.e continúa: "(Si usa la opción 4d0, la Información de instalación debe acompañar a la Fuente mínima correspondiente y al Código de aplicación correspondiente. Si usa la opción 4d1, debe proporcionar la Información de instalación de la manera especificada en la sección 6 de la GNU GPL para transmitir la fuente correspondiente. ""
hakre