¿Se puede implicar la GPL a un trabajo derivado?

13

Hay tres proyectos de software: A, B y C.

A se publica para cualquier persona y tiene licencia GPL.

B extiende A, también se publica, pero no tiene información de licencia o está licenciada por error bajo la licencia LGPL. Básicamente viola la licencia de A al no ser GPL. El código fuente de B todavía está disponible.

C se extiende B. ¿Se puede publicar C bajo GPL? La motivación sería "A es GPL, cualquier derivado debe ser GPL también, por lo que B es GPL y C también puede ser GPL".

    
pregunta Andrej 02.05.2015 - 15:36

3 respuestas

23

Primero que nada, B está en violación de la GPL en A. Pero esa no es exactamente su preocupación y es irrelevante para la pregunta aquí (quién sabe, tal vez B tenga una licencia LGPL de A en su código para que pueda publicarse bajo LGPL?).

La pregunta es "¿Se puede construir un software GPL basado en el código LGPL?" La respuesta a esto es simplemente "sí".

La LGPL es menos restrictiva que la GPL (por lo tanto, la razón por la que B infringe la licencia en A a menos que se hayan tomado otras disposiciones), pero también permite que sea devuelta a un proyecto GPL con bastante facilidad.

De la licencia LGPL:

  
  1. Código de objeto que incorpora material de los archivos de encabezado de biblioteca.   La forma del código objeto de una Aplicación puede incorporar material de un archivo de encabezado que forma parte de la Biblioteca. Puede transmitir dicho código de objeto según los términos de su elección, siempre que, si el material incorporado no está limitado a parámetros numéricos, diseños de estructura de datos y accesores, o macros pequeñas, funciones y plantillas en línea (de diez o menos líneas de longitud), Haz lo siguiente:

         

    a) Envíe un aviso destacado con cada copia del código objeto que la Biblioteca usa en ella y que la Biblioteca y su uso están cubiertos por esta Licencia.   b) Acompañar el código objeto con una copia de la GPL de GNU y este documento de licencia.

  2.   

Es parte de la licencia. Puede crear fácilmente un software GPL basado en el código LGPL.

Hay algunas diferencias de versión a las que deberá prestar atención. Para asegurarse de que el código se licencia de manera correcta, bajo la versión correcta de la GPL.

En el caso de que no se presente información sobre la licencia, no tiene el derecho para ampliarla. B no debería haberse distribuido, pero sus contribuciones son not con una licencia de código abierto. Esto puede haber sido un proyecto interno que se publicó o algún otro evento.

No se presenta bajo una licencia que sea compatible con la extensión con la GPL. Considere la situación en la que una compañía, que utiliza software GPL de forma interna (aceptable, no una violación), hizo público su repo.

En este caso, es muy posible que el proyecto C esté en violación de la infracción de derechos de autor (el material que B agregó que no está licenciado bajo la GPL ya que no debería haber sido distribuido en primer lugar).

Un no puede forzar una licencia en la fuente de otra persona. Está en conformidad con la licencia, o en violación de la misma. Si está en violación de él, entonces como se explica en la licencia:

  

No puede propagar ni modificar un trabajo cubierto, excepto lo dispuesto expresamente en esta Licencia. Cualquier intento de propagarlo o modificarlo será nulo, y terminará automáticamente sus derechos bajo esta Licencia (incluidas las licencias de patentes otorgadas en virtud del tercer párrafo de la sección 11).

Una violación de la GPL no significa que el material esté bajo la GPL, sino que no se puede distribuir.

    
respondido por el user40980 02.05.2015 - 16:59
4

Hay titulares de derechos de autor: hay derechos de autor sobre las obras creadas por A, hay derechos de autor sobre las adiciones de B y hay derechos de autor sobre los cambios que realice C C debe verificar si tiene permiso para usar el software en el que A y B tienen derechos de autor.

A fue licenciado bajo la GPL. Estoy bastante seguro de que la GPL le otorga permiso para utilizar el trabajo de A de acuerdo con los términos de la GPL, incluso si los recibió de B que les otorgó una licencia incorrecta. Puede haber problemas prácticos: por ejemplo, debe poder proporcionar el código fuente. Si recibió el software sin el código fuente, no tiene forma de publicarlo bajo los términos de la GPL.

B fue licenciado bajo alguna otra licencia. B debería haber sido licenciado bajo la GPL, pero no lo fue. Si la licencia de B le otorga más derechos que la GPL, en realidad no tiene ninguno de esos derechos para el código de A, B no puede otorgarle derechos adicionales sobre el código de A. Puede usar el código de A bajo los términos de la GPL porque A lo permitió, y el código adicional de B bajo la licencia de B.

Si B lanzó su código bajo una licencia más estricta que la GPL, lo más probable es que B cometa una infracción de derechos de autor. No puedes usar el código de B bajo la licencia GPL. A menudo se confunde: la GPL no puede forzar B a hacer nada. Solo le da a B la opción: publicar de esta manera, y está legalmente bien, o publicar de otra manera, y es ilegal. B tiene el derecho de hacer algo ilegal y sufrir las consecuencias (ser demandado por infracción de derechos de autor). Usted no tiene ningún derecho sobre el código de B que B no le otorgó.

    
respondido por el gnasher729 02.05.2015 - 18:09
3

Técnicamente, es posible extender una biblioteca GPL con un código que no está cubierto por la licencia GPL. El problema es que cuando distribuyes el trabajo derivado que creaste, debes cumplir todos los requisitos que la GPL te impone.

En su situación, esto significa que es posible tener la biblioteca A bajo la GPL y el código nuevo en la biblioteca B bajo la LGPL. El trabajo combinado (biblioteca B) se distribuye efectivamente bajo la licencia GPL, y puede distribuirse como tal porque la licencia LGPL es compatible con la licencia GPL (puede usar el código de licencia LGPL en un proyecto con licencia GPL). En esa situación, está perfectamente bien tener el código nuevo en la biblioteca C debajo de la GPL, con el trabajo resultante también bajo la GPL.

    
respondido por el Bart van Ingen Schenau 02.05.2015 - 17:03

Lea otras preguntas en las etiquetas