Estoy creando una aplicación interna para la empresa con la que estoy contratado. Deseamos utilizar una biblioteca con licencia GPLv2 en esta aplicación. Algunos puntos
- La aplicación se debe utilizar dentro de los límites de la empresa y nunca estará disponible para uso público. Es solo para uso interno de la empresa.
- ¡Nunca se venderá, nunca! . Por lo tanto, no se obtendrá dinero directamente de la venta del código. No es un producto.
- Hay dos formas de uso de la aplicación.
- Su forma nativa, que está basada en la consola exe (que utiliza la biblioteca GPL); y
- Uso a través de una interfaz web que llama al ejecutable.
- El código fuente permanecerá cerrado (solo para uso de la compañía) y será propiedad
He pasado por numerosas preguntas sobre SO sobre esto ( una cerrada como fuera de tema y otra sin marcar de parte de los Programadores ), pero he tenido dificultades para comprender si mi interpretación de la licencia es correcta.
Según mi comprensión hasta el momento, se me permite usar esta biblioteca sin ninguna preocupación. No estoy modificando el código fuente ni estoy distribuyendo la aplicación o haciendo que la aplicación esté disponible públicamente. La aplicación no se venderá ni se distribuirá a nadie fuera de la compañía (sin embargo, estará disponible en las instalaciones de DR externas de nuestra compañía). Es muy probable que use los binarios de las versiones publicadas y no vuelva a compilar desde la fuente.
La siguiente pregunta de las preguntas frecuentes de GNU parece apoyar mis pensamientos.
¿La GPL requiere que el código fuente de las versiones modificadas se publique al público?
La GPL no requiere que lance su versión modificada, ni ninguna parte de ella. Usted es libre de hacer modificaciones y usarlas de forma privada, sin liberarlas nunca. Esto también se aplica a las organizaciones (incluidas las empresas); una organización puede hacer una versión modificada y usarla internamente sin liberarla nunca fuera de la organización.
Pero si lanza la versión modificada al público de alguna manera, la GPL requiere que ponga el código fuente modificado a disposición de los usuarios del programa, bajo la GPL.
Por lo tanto, la GPL da permiso para lanzar el programa modificado de ciertas maneras, y no de otras maneras; pero la decisión de si liberarlo depende de usted.
¿Se puede usar cualquier biblioteca con licencia GPLv2 en la aplicación de intranet interna de una empresa?
Respuestas:
La GPL, en todas sus variantes, es una licencia de redistribución . Simplemente no se aplica en absoluto si no redistribuye el código. Puede aplicarse en el futuro si, algún día, decide hacer un producto con su aplicación, pero no ahora.
fuente
Creo que has citado la respuesta, así que la tienes.
Mi conocimiento de la GPL es que, para lo que quieres hacer, no tienes ningún problema.
fuente
La respuesta aquí depende de la definición legal de distribución .
Si dar un programa a sus empleados para que lo ejecute es distribuirlo, entonces se aplican los requisitos de GPL, y también debe darles a los empleados que reciben el programa la fuente.
Si dar a sus empleados una copia del programa no es distribución, entonces no tiene requisitos, ya que no lo ha distribuido.
Las preguntas frecuentes que ha citado le dicen que no tiene que hacer que su código esté disponible públicamente . (Es decir, a cualquier persona al azar en la calle).
Tenga en cuenta que está claro que bajo GPLv2 que un servicio web no se considera distribución. Es solo la aplicación de consola lo que es confuso.
Le sugiero que obtenga asesoramiento legal del abogado de su empresa.
fuente
Sí, puede PERO tener en cuenta la cooperación con subcontratistas, empresas asociadas y similares. Esto ha llegado a morder a muchos administradores en la parte trasera, ya que "solo para uso interno" se convirtió en "compartido entre socios" y luego en "producto en venta". Entonces, o bien las partes de la GPL deben reescribirse desde cero o liberar fuentes en su Intranet.
fuente
La versión 2 de LGPL le permite redistribuir la fuente y el binario.
Incluso puedes venderlo.
La única restricción real es la siguiente:
Si modifica la biblioteca y la distribuye, debe publicar los cambios que ha realizado en la biblioteca públicamente. Lea el punto 2 de la LGPL.
Si no lo modifica, realmente no tiene un problema.
fuente
No creo que eso sea un problema. Las aplicaciones web que usan código GPL'd pero no están disponibles en forma de código fuente para los usuarios es uno de los problemas que la GPLv3 cambió en comparación con la GPLv2, cerrando esa "laguna". Esto parece en gran medida la misma pregunta.
Dependiendo de para qué es exactamente la biblioteca, otra forma obvia de evitar todo el problema es crear un contenedor muy simple alrededor de la biblioteca. Si la biblioteca es GPL, entonces el contenedor podría terminar necesitando GPL, pero si las interfaces están claramente separadas, entonces la licencia del código del contenedor no debería (casi dije que no, pero consulte con un legal debidamente calificado practicante) tiene algún impacto en los requisitos de licencia de la aplicación principal.
fuente
Es importante recordar en todos estos consejos de "programador a programador" que ninguno de ellos es asesoría legal. Como deja claro este hilo, hay espacio para la interpretación con GPL.
Debe sopesar el costo de exponer a su organización a acciones legales si viola la GPL en lugar de obtener una buena y sólida opinión legal . Hay buenas ideas en este hilo, pero no tomaría una decisión sobre esta entrada solo.
-
Por ejemplo, aquí hay una arruga: ¿Qué sucede si el código GPL'd es JavaScript?
Cuando un usuario accede a un sitio web con código JavaScript GPL, técnicamente el "código fuente" (en este caso, un archivo JS) se "distribuye" al usuario final. ¿Eso significa que todo tu sitio web necesita ser GPL? También hay un debate completo sobre eso .
Si bien odio pagar a los abogados tanto como al próximo trabajador, dado el riesgo, esta es un área en la que generalmente es mejor no depender de los consejos de Internet (a excepción de estos consejos, por supuesto).
fuente
Como los carteles anteriores han dicho, la licencia GPL solo se aplica si libera su aplicación, si queda solo para uso interno, entonces no hay problema. Sin embargo, vale la pena considerar las implicaciones independientemente, en caso de que esto cambie.
Mi comprensión básica de la licencia es que le permite modificar el código fuente, luego vender la aplicación resultante si lo desea, pero con la condición de que ponga el código fuente a disposición de cualquiera que lo solicite, incluidos los cambios que haya realizado.
En el caso de una biblioteca compilada, el código GPL está separado de su base de código principal y, como tal, solo se requiere liberar el código fuente de la biblioteca compilada, no el resto de su base de código.
Cuando la biblioteca no está compilada, es decir, en una aplicación PHP, creo que la separación aún existe. Digamos, por ejemplo, que su aplicación usa una biblioteca de código abierto para generar archivos PDF: cualquier modificación al código generador de PDF estaría cubierta por la licencia y cualquier mejora debe ser liberada, sin embargo, no es necesario liberar ningún código dentro de su aplicación que use esta biblioteca. .
Tenga en cuenta que esto cambia con GPL v3 por lo que su código debe ser de código abierto si se vincula a una biblioteca de código abierto ...
fuente
No estoy seguro de si está bien prohibir a los empleados redistribuir esa aplicación, ya que la aplicación en sí también es GPL. Entonces, ¿qué crees que puede ser una "aplicación interna" podría filtrarse (legalmente) junto con el código fuente?
fuente