¿Qué debo hacer exactamente si uso una biblioteca con licencia LGPL?

48

He leído estas preguntas y respuestas , pero aún no entiendo qué debo hacer exactamente si me conecto dinámicamente con una biblioteca que utiliza una licencia LGPL (la biblioteca SDL en mi caso).

Si entiendo el texto LGPL correctamente, necesito de alguna manera proporcionar la fuente de la biblioteca. ¿Es suficiente? Si no, ¿qué más hay que hacer?

BЈовић
fuente

Respuestas:

47

El requisito básico de LGPL es separar la biblioteca con licencia LGPL y su propio producto lo suficientemente bien. Eso debería permitir a los usuarios proporcionar su propia versión de la biblioteca en lugar de la que ha enviado con su software (con los errores corregidos, por ejemplo). Para lograr esto, tiene dos opciones:

  • use el código LGPL como una biblioteca compartida (para que los usuarios simplemente copien su binario de la biblioteca sobre el que envía), o
  • proporcione el código fuente de todo el proyecto (para que los usuarios puedan copiar su fuente de la biblioteca y recompilar todo).

Tenga en cuenta, sin embargo, que la mera separación no es suficiente, aunque se requiere. Debe proporcionar a sus usuarios una forma documentada de reemplazar una biblioteca con su versión (es decir, cómo cargar firmware o recompilar un contenedor Python para una biblioteca LGPL C ++).

La segunda cláusula notable es el requisito de atribución . Esto debería ayudar a promover el nombre del desarrollador original de la biblioteca y establecer que lo que es un software genial podría haber sido desarrollado por otra persona :). En la sección correspondiente de la ventana "Acerca de" o un archivo README (si su licencia es Apache, este sería un NOTICEarchivo), debe enumerar el nombre del trabajo LGPL que utilizó.

Tenga en cuenta que no soy abogado, y este no es un consejo legal. Tenga en cuenta que tampoco soy fontanero, y esto no es un consejo sanitario.

P Shved
fuente
13

Si está vinculando estáticamente la biblioteca LGPL, debe proporcionar la fuente de la biblioteca y el código fuente u objeto de su aplicación.

Si está vinculando dinámicamente la biblioteca LGPL, puede distribuir su aplicación solo, sin la biblioteca y decirle a la gente desde dónde descargarla y cómo incluirla, para usarla. O puede incluir una copia de los binarios de la biblioteca y su fuente con su aplicación.

Esto lo explica bastante bien: http://answers.google.com/answers/threadview/id/439136.html (que tomé de una respuesta en la pregunta vinculada en el OP)

IANAS

Matt Ellen
fuente
2
^ Esto. La clave es esta: el consumidor del producto obtiene una aplicación con una biblioteca LGPL'd. ¿Pueden hacer una mejora en la parte LGPL y usar la nueva versión mejorada con el producto original? En caso afirmativo, ha cumplido con el propósito previsto de la LGPL. LGPLv3 hace explícito que incluso si el producto es firmware incorporado, aún debe permitir que el usuario final reemplace la parte LGPL . Eso significa poder recompilar el firmware completo con una nueva versión de la biblioteca y cargarlo en el dispositivo . (Entiendo, IANAL, esto no es un consejo legal.)
Scott Whitlock
@Scott: Creo que la parte integrada / firmware se aplica solo si es posible cambiar el firmware en el dispositivo.
David Thornley
¿Qué significa la "S" en "IANAS"?
Joe Z.
1
@JoeZeng Solicitor
Matt Ellen
1

IANAL, pero entiendo que el objetivo de la LGPL es que no "infecta" el código dependiendo de él, como la GPL o la AGPL. Por lo tanto, puede tener el código LGPL como una dependencia, y no tiene que hacer nada.

Dicho esto, si altera / modifica / distribuye el código LGPL con su aplicación, debe hacer que ese código esté disponible públicamente.

Jason Lewis
fuente
¿No hubo un acuerdo / entendimiento de que "hacer que la fuente esté disponible públicamente" podría satisfacerse incluyendo una URL que vincule a la fuente / repositorio original? (Suponiendo que usó una versión no modificada para su producto, por supuesto). Me sorprendió un poco cuando escuché esto, por lo que podría estar realmente equivocado :).
TMN