¿Se puede usar cualquier biblioteca con licencia GPLv2 en la aplicación de intranet interna de una empresa?

13

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

  1. 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.
  2. ¡Nunca se venderá, nunca! . Por lo tanto, no se obtendrá dinero directamente de la venta del código. No es un producto.
  3. 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.
  4. 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?

Ahmad
fuente
2
Esta es una pregunta legal que debe decidir el abogado de la compañía o el cónsul legal principal.
hotpaw2
1
@ hotpaw2: su sugerencia definitivamente tiene sus méritos y es la mejor guía que una vez puede dar, realmente me desconcierta que con todos los desarrolladores del mundo, estas preguntas aún se hacen y aún en algunos casos siguen sin estar claras. Supongo que la jurisdicción local se aplica , pero en serio, creo que la licencia no es deliberadamente clara acerca de ciertos aspectos. Ahora, si los desarrolladores que usan este software no han podido obtener respuestas claras, la OMI tratando de explicar los conceptos a los abogados y obtener su interpretación de la licencia es un Hay mucho que preguntar. Una respuesta para desarrolladores por desarrolladores es el camino a seguir
Ahmad
@ Ahmad: Los únicos aspectos que he encontrado muy poco claros son las partes que deben respetar la ley de derechos de autor: qué es un trabajo derivado, qué es la distribución, etc. Hasta que tengamos una aclaración legal (en los EE. UU., Eso podría implicar cambiar el texto de la ley o sentencias judiciales que producen jurisprudencia), nadie lo sabrá con seguridad.
David Thornley
Como mencionó que hay dos formas de uso de la aplicación 1) Su forma nativa que es un exe basado en consola (que usa la biblioteca GPL); y 2) Uso a través de una interfaz web que llama al ejecutable. Para el primero, aclare que '¿Es una llamada a la biblioteca GPL a través de llamadas de un sistema o mediante llamadas personalizadas'?

Respuestas:

22

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.

Kilian Foth
fuente
Mientras nunca se redistribuya, la licencia no tiene ningún efecto en usted. Ninguna. Por supuesto, consulte con su abogado si no está seguro, y asegúrese de que estén familiarizados con la ley de licencias de derechos de autor.
Michael Trausch
2
En otras palabras, todos aquellos que tienen el binario, también deben tener la fuente correspondiente para que puedan corregir errores y crear un nuevo binario.
2
Entonces, ¿esto significa que también puedo usar el sitio web GPLv2 dentro de la empresa, sin vender su funcionalidad?
Johnny_D
3

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.

rápidamente_ahora
fuente
3

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.

Sean McMillan
fuente
2

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.

SF.
fuente
44
OTOH, la mayoría de los sueños de ganar dinero con las herramientas desarrolladas para el uso interno que los gerentes sueñan se ven truncados al darse cuenta de cuán específica y corporativa es la aplicación. La licencia siempre fue el último problema que encontré, cuando ocurrieron tales escenarios.
keppla
@keppla: Sí, y eso significa: Úselo, pero tenga en cuenta. Mantenga límites semi claros entre su propiedad y GPL, de modo que si llega el momento del cambio no se encuentre enredado sin remedio. Los "secretos comerciales" se separaron con una buena capa de abstracción de cierta lógica de pegamento de las partes de la GPL.
SF.
1

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.

Jaydee
fuente
0

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.

un CVn
fuente
0

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).

Todd
fuente
Irrelevante: el OP pregunta por una aplicación completamente interna. En ese caso, ninguna versión de la GPL dice nada acerca de tener que distribuir algo (aunque puede ser un problema vincularlo a un software no compatible con la GPL), y las preguntas frecuentes de Gnu abordan esa falta de requisitos directamente.
David Thornley
-1

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 ...

Gavin Coates
fuente
1
"solo se requiere el lanzamiento del código fuente para la biblioteca compilada" - esto describe la LGPL, no la GPL. La GPL funciona bajo el supuesto de que vincular a una biblioteca hace que su aplicación sea un trabajo derivado de la biblioteca y, por lo tanto, está sujeta a la propia GPL.
Sean McMillan
-2

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?

zvrba
fuente
Explique 'ya que la aplicación en sí misma también es GPL'. ¿A qué te refieres? Si alguien quiere tomar solo la biblioteca GPL y distribuirla, la licencia entra en juego por lo que entiendo hasta ahora. La aplicación de intranet (consola n web) NO es para distribución y si algún empleado decide 'redistribuir' la aplicación de la compañía, estoy bastante seguro de que no será empleado por mucho tiempo después ...
Ahmad
El EXE basado en la consola es GPL ya que usa una biblioteca GPL y, como tal, la GPL requiere que deba permanecer libremente redistribuible por cualquier persona que acceda a ella. Sí, un empleado puede perder su trabajo por hacerlo, pero tiene derecho a redistribuir el EXE GPL con la fuente. Sin embargo, podrían aplicarse otras reglas y leyes (por ejemplo, secreto comercial). Verifique con un abogado si realmente puede responsabilizar a los empleados "desleales" por hacer lo que le otorga la GPL.
zvrba
Por favor, vuelva a leer la pregunta. La mayoría de las respuestas parecen estar en desacuerdo con usted o ¿hay algo que nos falte a todos? La aplicación (incluida la parte de GPL) NO es para distribución / redistribución, se utilizará solo internamente, no se venderá, no se hará pública. La biblioteca GPL NO se modificará de ninguna manera. Usted sabe que Google usa versiones modificadas de linux kernal solo para uso interno y no distribuye esta versión. Destaqué solo el uso interno.
Ahmad
Si tiene la intención de distribuir la aplicación o no es irrelevante. La GPL es clara en lo siguiente: cualquier persona que tenga en sus manos una obra GPL puede distribuirla libremente más (y puede exigir el código fuente). Hable con un abogado para averiguar qué más se puede retener contra sus empleados si deciden distribuir el trabajo de GPL, según lo permita la licencia de GPL.
zvrba
1
La aplicación no es automáticamente GPL al incluir una biblioteca GPL. Sin embargo, si desea distribuir una aplicación que incluya una biblioteca GPL, debe tener una licencia compatible con GPL. La Sección 7 de GPL V2 establece: Si no puede distribuir para satisfacer simultáneamente sus obligaciones bajo esta Licencia y cualquier otra obligación pertinente, entonces, como consecuencia, no puede distribuir el Programa en absoluto. Entonces, si no tiene permiso para distribuir el código de la aplicación de su empresa, no puede distribuir la aplicación.
KeithB