Creé un programa basado en un proyecto LGPL, y no tengo permiso para publicar el código fuente

13

Pensé que LGPL era una licencia permisiva, como MIT, BSD o Apache. Pero hoy leí, que solo se permite vincular a LGPL (bibliotecas, etc.) a partir de código de código cerrado (aparte de eso, es copyleft), por lo que tengo que publicar un código basado en un programa LGPL.

Creé un programa para mi empleador que se basa en un programa LGPL, pero tiene modificaciones considerables. Por supuesto, no tengo permiso para poner ese código fuente modificado por ahí. Al mismo tiempo, tengo que hacerlo, si lo distribuyo (¿verdad?).

Así que me pregunto si hay una solución para esto, por lo que puedo mantener este código cerrado (me gustaría poder publicar la fuente). ¿Alguna sugerencia?

Mi idea: ¿puedo colocar la mayoría de las funciones de la aplicación LGPL original en una biblioteca externa, escribir el ejecutable central desde cero, pero volver a la biblioteca para ver todas las funciones que no he modificado?

Actualmente, todo está en un archivo .jar (es Java / Swing). Si crees que mi idea es legal / técnicamente viable, ¿cuánto esfuerzo sería separar lo que escribí y cuál es el original? No soy el más experto en java.

    
pregunta Esuus 17.05.2011 - 22:25

8 respuestas

13

En primer lugar, no es una buena idea recibir asesoramiento legal aquí (como en: los Internet).

En segundo lugar, y solo soy yo quien habla, no un abogado, deberías haberlo pensado antes de tomar un programa LGPL y modificarlo para tu empleador.

Si la licencia fuera algo que pudieras ignorar solo porque no te gustaba, no tendría mucho sentido tener una ahora, ¿verdad?

Si usted y / o su empleador no están dispuestos a publicar el código fuente con sus modificaciones, debe dejar de usar ese código LGPL'ed y deshacerse de él.

Una vez más, solo soy yo quien habla.

Obtenga consejo de un abogado de verdad.

En respuesta a su pregunta sobre eludir la licencia al agregar el código a una DLL, supongo que funcionaría de la siguiente manera.

Lo que harías sería cambiar el programa original lo suficiente para que pueda llamar a funciones en bibliotecas externas. Tendría que hacerlo sin hacer que ese fragmento de código sea específico para sus necesidades, bibliotecas, nombres de funciones, etc.

Esos cambios que usted publica, según los requisitos de la licencia.

Luego crea su propia biblioteca externa con su propio código de propiedad y le pide a ese programa que la cargue y la ejecute, utilizando las modificaciones que le haya hecho.

No sabiendo la extensión total de la licencia LGPL, no puedo decir si eso es suficiente para evitar tener que publicar su biblioteca, aunque sospecho que lo hará.

Sin embargo, otra vez ...

Obtenga consejos de un abogado

    
respondido por el Lasse Vågsæther Karlsen 17.05.2011 - 22:36
4

La mayoría de las bibliotecas de código abierto publicadas bajo licencia LGPL o similar, al menos unas lo suficientemente buenas para usar en sus proyectos, se crean utilizando el principio abierto / cerrado: enlace .

Debería poder refactorizar su código para que su aplicación esté vinculada a la biblioteca LGPL y todas las extensiones estén contenidas en su código de aplicación cerrada.

    
respondido por el Olaf 17.05.2011 - 22:42
2

Mismo descargo de responsabilidad: IANAL.

Algo que nadie más ha mencionado hasta ahora es que incluso si separa el código, aún tiene que distribuir el código fuente a las partes de LGPL, o al menos dar información sobre dónde se pueden descargar.

La única forma de evitarlo es no distribuirlos en primer lugar.

    
respondido por el Per Johansson 08.08.2011 - 16:56
2

No creo que necesite un abogado para comprender que tratar de eludir una licencia no es algo bueno. El sentido común es suficiente.

En su lugar, puede ponerse en contacto con el autor original del programa LGPL y solicitar / comprar una licencia diferente y propietaria.

Las únicas otras alternativas son liberar la fuente o reescribirla por completo.

    
respondido por el amadvance 08.08.2011 - 17:08
1

IANAL, TINLA, etc.

  

Pensé que LGPL era una licencia permisiva, como MIT, BSD o Apache. Pero hoy leí que solo se puede enlazar a LGPL (bibliotecas, etc.) desde un código de código cerrado (aparte de eso, es copyleft), así que tengo que publicar un código basado en un programa LGPL.

Sí, la LGPL requiere que usted haga disponible el código fuente a cualquier persona que reciba una copia del trabajo, o que distribuya su trabajo en una forma en que los destinatarios del software puedan reemplazar su versión del trabajo LGPL. Con una nueva versión. En cualquier caso, todas las modificaciones a la parte LGPL del trabajo deben deben estar disponibles para todos los destinatarios del trabajo.

  

Creé un programa para mi empleador que se basa en un programa LGPL, pero tiene modificaciones considerables. Por supuesto, no tengo permiso para poner ese código fuente modificado por ahí. Al mismo tiempo, tengo que hacerlo, si lo distribuyo (¿verdad?).

Correcto. La licencia exige que todos los destinatarios del software tengan acceso al código fuente.

  

Mi idea: ¿puedo colocar la mayoría de las funciones de la aplicación LGPL original en una biblioteca externa, escribir el ejecutable central desde cero, pero volver a la biblioteca para ver todas las funciones que no he modificado?

Eso puede constituir un trabajo derivado, y aún se te pedirá que distribuyas todos los scripts de compilación que simplifican el programa a una biblioteca.

  

Actualmente, todo está en un archivo .jar (es Java / Swing). Si crees que mi idea es legal / técnicamente viable, ¿cuánto esfuerzo sería separar lo que escribí y cuál es el original? No soy el más experto en java.

Java agrega un montón de nuevos problemas a la LGPL, ya que no está claro qué constituye un enlace "estático" y "dinámico". Dado que las excepciones de la LGPL sobre la GPL se basan en ese concepto, en la mayoría de los casos, la LGPL es realmente equivalente a la GPL. Deberá consultar al equipo legal de la compañía para responder cualquier pregunta que surja.

Mi consejo es que si alguien ajeno a su empresa tendrá acceso al programa, descárguelo y comience de nuevo. Si no puede cumplir con los requisitos de la licencia, no tiene permiso para distribuirla. , en absoluto.

Si el programa solo estará disponible dentro de la compañía, entonces solo se requiere que la fuente esté disponible para los empleados de la compañía. Sugeriría agregarlo a su control de fuente de la compañía existente. Esto cumplirá con los requisitos de la LGPL, siempre y cuando nadie fuera de la empresa tenga acceso.

    
respondido por el greyfade 08.08.2011 - 17:14
1

puede usar un patrón de adaptador y no tocar el código original. Además, LGPL le permite heredar clases y anular la funcionalidad de sus clases en su propio proyecto.

    
respondido por el sky 02.04.2012 - 08:13
0

Este es mi entendimiento, IANAL.

Verifique el texto de la versión LGPL que cubre el código que está usando. Creo que el requisito es que cualquier código LGPL deba poder intercambiarse, generalmente mediante el uso de un archivo de biblioteca / jar compartido. Si puede separar el código que usa que es LGPL en una biblioteca, puede liberarlo bajo la licencia LGPL, mientras libera su aplicación bajo la licencia que desee.

    
respondido por el Sean McMillan 08.08.2011 - 15:54
0

No puedes burlar la licencia. Incluso si encuentra una laguna, sigue siendo poco ético (aunque esa es una pregunta diferente para algunas personas). Lo que PUEDE hacer es ponerse en contacto con el autor de dicho software, explicar la situación y solicitar una licencia por separado. Si está dispuesto a otorgarle una licencia especial por un precio, puede comparar esto con el costo de reescribir su software sin utilizar el componente en cuestión. Y simplemente ve con el más barato.

    
respondido por el Tamás Szelei 08.08.2011 - 17:14

Lea otras preguntas en las etiquetas