2009-04-26 12 views
7

Tengo una aplicación web comercial que usa un componente bajo LGPL. Dado que este componente tiene una arquitectura plug-in, , he creado un conector para este componente que utiliza una biblioteca (LGPL). Esta biblioteca utiliza una fuente de datos que es GPL.Licencia LGPL/GPL

¿Esto significa que tengo que liberar la fuente de mi aplicación web? ¿o solo es necesario liberar la fuente del complemento?

Gracias por cualquier aporte y consejo, y perdónenme por mi pobre inglés.

Respuesta

1

No soy abogado, pero .. siempre y cuando no distribuya el programa (haciéndolo disponible para su uso ya que la aplicación web no es distribución), no tiene que liberar la fuente para nada.

+0

Cierto, pero no muy aplicable a este caso por el sonido de la misma. –

10

Para estar 100% seguro, debe leer FAQ y luego contactar a un abogado que esté familiarizado con las licencias de software. No hable con los abogados que no lo son porque le dirán que no use nada gratis/código abierto solo para estar seguro, lo cual cualquiera puede decir.

De todos modos, ¿qué quiere decir con "fuente de datos que es GPL"? ¿El código fuente GPL está vinculado a su aplicación?

Hay varias preguntas en las preguntas frecuentes sobre el complemento y la licencia de GPL.

¿Puedo lanzar un programa no libre que está diseñado para cargar una cubierto por la GPL plug-in?

Depende de cómo el programa invoca sus plug-ins. Por ejemplo, si el programa utiliza tenedor sólo es simple y exec para invocar y comunicarse con plug-ins, a continuación, los plug-ins son programas separados, por lo que la licencia de el plug-in hace que no hay requisitos sobre las principales programa.

Si el programa enlaza dinámicamente plug-ins, y hacen la función de llamadas entre sí y compartir estructuras de datos, creemos que forman un solo programa, que debe ser tratados como una extensión tanto de la programa principal y los complementos. En fin de utilizar los plug-ins cubiertos por la GPL, el programa principal debe ser liberado bajo la GPL o una licencia de software libre compatible con la GPL, y que los términos de la GPL debe seguirse cuando el programa principal se distribuye para el uso con estos complementos.

Si el programa enlaza dinámicamente plug-ins, pero la comunicación entre ellos es limitada a la invocación de la función 'principal' de la plug-in con algunas opciones y esperando para que vuelva, que es una en el límite caso.

El uso de memoria compartida para comunicarse con estructuras de datos complejas es prácticamente equivalente a la vinculación dinámica.

Como han señalado otros, las aplicaciones web que no se distribuyen parecen considerarse de uso privado bajo licencia GPL (¿no en Affero GPL?).

Una empresa está ejecutando una versión modificada de un programa GPL en un sitio web. ¿La GPL dice que deben liberar sus fuentes modificadas?

La GPL permite que cualquiera pueda hacer una versión modificada y usarla sin siquiera distribuirla a otros. Lo que esta compañía está haciendo es un caso especial de eso. Por lo tanto, la compañía no tiene que liberar las fuentes modificadas.

Es esencial que las personas tengan la libertad de realizar modificaciones y usarlas de forma privada, sin publicar esas modificaciones. Sin embargo, poner el programa en una máquina servidor para que el público hable no es un uso "privado", por lo que sería legítimo exigir la liberación del código fuente en ese caso especial. Los desarrolladores que deseen abordar esto pueden querer utilizar GNU Affero GPL para programas diseñados para el uso del servidor de red.

+0

Supongo que cuando no distribuye el origen de datos GPL (¿controlador JDBC, quizás?) Con su aplicación, y el cliente descarga el origen de datos GPL por su cuenta y configura la aplicación para usarlo, se consideraría uso privado en el parte del cliente, por lo que ninguno de ustedes tendría que liberar la fuente a nada. El efecto secundario sería un inconveniente menor para el cliente (debe obtener el material de GPL por separado del creador original y poner todo esto junto). Tenga en cuenta que IANAL (No soy abogado) por lo que este no es un asesoramiento legal oficial. Consulte a una persona competente. –

+0

La pregunta acerca de LGPL, no GPL de la que este comentario está hablando, me gustaría menospreciar, pero no quiero perder mis puntos. – Amala

+0

@Amala OP escribió "Esta biblioteca usa una fuente de datos que es GPL". –

1

Si por aplicación web quiere decir que acaba de ejecutar el software en su servidor y no lo distribuye a sus usuarios, entonces debería ser simple. Sin distribución, sin necesidad de regalar la fuente.

(podría ser diferente con GPL3)

6

¿Significa esto que tengo que liberar a la fuente para mi aplicación web?

n *

o es sólo necesaria para liberar la fuente para el tapón en?

Si distribuye la aplicación, entonces sí, también tiene que distribuir el código fuente de la parte LGPL de la misma.

También deberá asegurarse de que cualquier persona que reciba su aplicación tenga la posibilidad de modificarla. Esto es importante para las aplicaciones compiladas: deberá incluir los archivos de objeto necesarios para que su aplicación pueda volver a vincularse con una versión modificada del código LGPL. O bien, usa enlaces dinámicos. La idea es que las personas necesiten poder modificar la porción de su código que es LGPL y volver a combinarlo con su aplicación.

Éstos son algunos de los requisitos de la LGPL en mis palabras (no soy un abogado):

  • Tiene que haber algún tipo de separación clara entre el código LGPL y el otro código. En particular, debe ser posible para el destinatario modificar el código LGPL o incluso reemplazarlo por completo con otro código, como una versión modificada o una versión posterior de la biblioteca. Por lo tanto, si se trata de un programa compilado, entonces el código LGPL debe vincularse dinámicamente (como, por ejemplo, un archivo DLL o compartido) de modo que pueda sustituirse fácilmente por una biblioteca similar y seguir siendo interoperable; o, si está enlazado estáticamente, se deben proporcionar los archivos fuente y/o archivos de objetos requeridos mínimos, para permitir la recompilación con una biblioteca alternativa. La parte no LGPL no puede contener ninguna parte del código LGPL a excepción de archivos de encabezado muy simples.
  • Debe señalarse claramente qué parte del código está cubierta por LGPL, incluidos su aviso de copyright original y el texto de la LGPL (incluida la GPL en la que se basa).
  • Si el software combinado muestra avisos de derechos de autor durante el curso de ejecución, entonces el aviso de copyright para la parte cubierta LGPL también debe aparecer aquí, junto con un enlace a LGPL y GPL.
  • En algunos casos, deberá proporcionar información de instalación que detalla cómo utilizar una versión modificada del código LGPLd en la aplicación combinada.

Esas fueron solo algunas restricciones, pero la LGPL también le ofrece una serie de libertades, que otras licencias como GPL no lo hacen. Si va a distribuir un trabajo combinado, que incluye algún otro código de licencia LGPL:

  • No es necesario liberar el código fuente para el resto de su aplicación (es decir, la parte no LGPL). La única excepción a esto es la descrita anteriormente: si todo está vinculado de forma estática, deberá proporcionar el código (o los archivos objeto) suficiente para poder volver a vincularlo con una versión alternativa o modificada del código LGPL. Si está vinculando dinámicamente e interactuando sobre una API normal, no necesita preocuparse por eso.
  • No necesita liberar el resto de su aplicación bajo la licencia GPL. Puede usar cualquier licencia que desee, incluidas licencias de propiedad más restrictivas, siempre que cuando la distribuya siga las reglas.
  • A diferencia de la versión 3 de GPL, que prohíbe usar el código si está implementando protección contra copia o software DRM, puede usar el código con licencia LGPL versión 3 en una aplicación que incluya protección contra copia o DRM.

Escribí analysis of the LGPL license recientemente - podría leer esto para más información.

Además, lea el actual text of the LGPL. No es demasiado largo.

* mencionaste que la biblioteca que estás utilizando tiene una fuente de datos GPL. Es de suponer que eso significa que en realidad no distribuirá esta información GPL con ella, solo la biblioteca LGPL que la utiliza.

+0

Oh sí, si no estás distribuyendo la aplicación pero solo quieres usarla para tu uso personal (en tu propio servidor web, por ejemplo) entonces te vuelves loco. El requisito de distribuir el código fuente + otras herramientas es solo si distribuye la aplicación. – thomasrutter