Hay tres proyectos de software: A, B y C.
A se publica a cualquier persona y tiene licencia GPL.
B se extiende A, también se publica, pero no tiene información de licencia o se licencia por error bajo 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 derivada debe ser GPL también, por lo que B es GPL y C también puede ser GPL".
licensing
open-source
gpl
Andrej
fuente
fuente
Respuestas:
En primer lugar, B viola la GPL de A. Pero esa no es exactamente su preocupación y es irrelevante para la pregunta aquí (quién sabe, ¿tal vez B obtuvo una licencia LGPL de A en su código para que pueda ser liberada bajo LGPL? )
La pregunta es "¿Puedes 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 que B infringe la licencia de A a menos que se hayan hecho otras disposiciones), pero también permite que se vuelva a incorporar a un proyecto GPL con bastante facilidad.
De la licencia LGPL:
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 tenga licencia de la 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 derecho a extenderla. B no debería haberse distribuido, pero sus contribuciones no están autorizadas bajo una licencia de código abierto. Este 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 empresa, utilizando el software GPL internamente (aceptable, no una violación), hizo público su repositorio por error.
En este caso, es muy posible que el proyecto C viole una infracción de derechos de autor (el material que B agregó que no tiene licencia bajo la GPL ya que no debería haberse distribuido en primer lugar).
No se puede forzar una licencia en la fuente de otra persona. Cumple con la licencia o infringe la misma. Si lo viola, entonces como se detalla en la licencia:
Una violación de la GPL no significa que el material esté bajo la GPL, sino que no se puede distribuir.
fuente
Hay titulares de derechos de autor: hay derechos de autor en las obras creadas por A, hay derechos de autor en las adiciones de B y hay derechos de autor en cualquier cambio que C haya realizado. 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 da permiso para usar el trabajo de A bajo los términos de la GPL, incluso si los recibió de B que los autorizó incorrectamente. Puede haber problemas prácticos: por ejemplo, debe poder proporcionar el código fuente. Si recibió el software sin código fuente, entonces no tiene forma de publicarlo bajo los términos de GPL.
B fue licenciado bajo alguna otra licencia. B debería haber sido licenciado bajo la GPL, pero no fue así. 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 GPL, entonces B probablemente esté cometiendo una infracción de derechos de autor. No puede usar el código de B bajo la licencia GPL. Eso a menudo se confunde: GPL no puede obligar a 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 derecho a hacer algo ilegal y sufrir las consecuencias (ser demandado por infracción de derechos de autor). No tienes ningún derecho sobre el código de B que B no te dio.
fuente
Técnicamente, es posible extender una biblioteca GPL con código que no está cubierto por la licencia GPL. El inconveniente es que cuando distribuye el trabajo derivado que creó, debe observar todos los requisitos que la GPL le impone.
En su situación, esto significa que es posible tener la biblioteca A bajo la GPL y el nuevo código en la biblioteca B bajo la LGPL. El trabajo combinado (biblioteca B) se distribuye efectivamente bajo la licencia GPL, y se puede distribuir como tal porque la licencia LGPL es compatible con la licencia GPL (puede usar el código de licencias LGPL en un proyecto con licencia GPL).
En esa situación, está perfectamente bien tener el nuevo código en la biblioteca C bajo la GPL, con el trabajo resultante también bajo la GPL.
fuente