Pensé que LGPL era una licencia permisiva, al igual que MIT, BSD o Apache. Pero hoy leí, que solo se permite vincular a LGPL (bibliotecas, etc.) desde el código fuente cerrado, aparte de eso, es copyleft, así que tengo que publicar el código que se basa en un programa LGPL.
Creé un programa para mi empleador que se basa en un programa LGPL, pero tiene modificaciones considerables. Por supuesto, no se me permite publicar ese código fuente modificado. Al mismo tiempo, tengo que hacerlo, si lo distribuyo (¿verdad?).
Entonces, me pregunto si hay una solución alternativa para esto, de modo que pueda mantener esta fuente cerrada (ojalá pudiera publicar la fuente). ¿Alguna sugerencia?
Mi idea: ¿puedo poner la mayoría de las funciones de la aplicación LGPL original en una biblioteca externa, escribir el ejecutable principal desde cero, pero consultar la biblioteca para 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 factible, ¿cuánto esfuerzo sería separar lo que escribí y cuál es el original? No soy el más inteligente de Java.
Respuestas:
En primer lugar, no es una buena idea tomar asesoramiento legal aquí (como en: Internet).
En segundo lugar, y solo soy yo quien habla, no un abogado, debería haber pensado en eso antes de tomar un programa LGPL y modificarlo para su empleador.
Si la licencia fuera algo que podría ignorar solo porque no le gustó, ¿no tendría mucho sentido tener una ahora?
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 y deshacerse de él.
De nuevo, solo soy yo quien habla.
Obtenga consejos de un abogado real.
En respuesta a su pregunta sobre eludir la licencia agregando el código a un archivo DLL, supongo que funcionaría de la siguiente manera.
Lo que haría sería cambiar el programa original lo suficiente como para que pueda invocar funciones en bibliotecas externas. Tendría que hacerlo sin hacer que ese código sea específico para sus necesidades, bibliotecas, nombres de funciones, etc.
Esos cambios que luego publica, según los requisitos de la licencia.
Luego, crea su propia biblioteca externa con su propio código propietario y le pide a ese programa que lo cargue y lo ejecute, utilizando las modificaciones que le hizo.
Sin conocer el alcance completo 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, de nuevo ...
Obtenga asesoramiento de un abogado.
fuente
La mayoría de las bibliotecas de código abierto publicadas bajo LGPL o una licencia comparable, al menos las suficientemente buenas para usar en sus proyectos, se crean utilizando el principio abierto / cerrado: http://en.wikipedia.org/wiki/Open/closed_principle .
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 cerrado.
fuente
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.
fuente
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 contactar al autor original del programa LGPL y solicitar / comprar una licencia diferente y patentada.
Las únicas otras alternativas son liberar la fuente o reescribirla por completo.
fuente
IANAL, TINLA, etc.
Sí, la LGPL requiere que usted ponga a disposición el código fuente a cualquier persona que reciba una copia del trabajo, o que debe distribuir su trabajo de forma tal que los destinatarios del software puedan reemplazar su versión de la LGPL con un nuevo trabajo. versión. En cualquier caso, todas las modificaciones a la parte LGPL del trabajo deben estar disponibles para todos los destinatarios del trabajo.
Correcto. La licencia exige que todos los destinatarios del software tengan acceso al código fuente.
Eso puede constituir un trabajo derivado, y aún se le pedirá que distribuya todos los scripts de compilación que eliminan el programa a una biblioteca.
Java agrega una gran cantidad de nuevos problemas a la LGPL, ya que no está claro qué constituye la vinculación "estática" y "dinámica". Dado que las excepciones de la LGPL sobre la GPL se basan en ese concepto, la LGPL es realmente equivalente a la GPL en la mayoría de los casos. Deberá consultar al equipo legal de la compañía para responder cualquier pregunta que surja.
Mi consejo es que si alguien fuera de su empresa tendrá acceso al programa, deséchelo y comience de nuevo. Si no puede cumplir con los requisitos de la licencia, no se le permite distribuirla.
Si el programa solo estará disponible dentro de la empresa, entonces solo se le pedirá que ponga la fuente a disposición de los empleados de la empresa. Sugeriría agregarlo al control de fuente de su compañía existente. Esto satisfará los requisitos de la LGPL, siempre que nadie fuera de la empresa tenga acceso.
fuente
puede usar el patrón del 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.
fuente
Este es mi entendimiento, IANAL.
Verifique el texto de la versión LGPL que cubre el código que está utilizando. Creo que el requisito es que cualquier código LGPL'd debe ser intercambiable, generalmente mediante el uso de un archivo jar / biblioteca compartido. Si puede separar el código que usa que es LGPL'd en una biblioteca, puede liberarlo bajo LGPL, mientras libera su aplicación bajo la licencia que desee.
fuente
No puedes eludir la licencia. Incluso si encuentra una escapatoria, todavía no es ético (aunque esa es una pregunta diferente para algunas personas). Lo que PUEDE hacer es comunicarse 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 usar el componente en cuestión. Y simplemente ve con el más barato.
fuente