Licencia pública general reducida GNU


La GNU Lesser General Public License ( LGPL ) es una licencia de software libre publicada por la Free Software Foundation (FSF). La licencia permite que los desarrolladores y las empresas utilicen e integren un componente de software publicado bajo la LGPL en su propio software (incluso propietario ) sin que los términos de una licencia copyleft fuerte lo requieran para publicar el código fuente de sus propios componentes. Sin embargo, cualquier desarrollador que modifique un componente cubierto por LGPL debe hacer que su versión modificada esté disponible bajo la misma licencia LGPL. Para el software propietario, el código bajo la LGPL generalmente se usa en forma de biblioteca compartida., de modo que haya una clara separación entre los componentes propietarios y LGPL. La LGPL se utiliza principalmente para bibliotecas de software , aunque también la utilizan algunas aplicaciones independientes.

La LGPL se desarrolló como un compromiso entre el fuerte copyleft de la Licencia Pública General GNU (GPL) y licencias más permisivas como las licencias BSD y la Licencia MIT . La palabra "Lesser" en el título muestra que la LGPL no garantiza la total libertad del usuario final en el uso del software; solo garantiza la libertad de modificación de los componentes con licencia de LGPL, pero no de los componentes patentados.

La licencia se llamó originalmente Licencia pública general de biblioteca GNU y se publicó por primera vez en 1991, y adoptó la versión número 2 para la paridad con la versión 2 de GPL. fue renombrada como Licencia Pública General Reducida GNU para reflejar la posición de la FSF de que no todas las bibliotecas deberían usarla. La versión 3 de la LGPL se publicó en 2007 como una lista de permisos adicionales aplicados a la versión 3 de la GPL.

Además del término "trabajo basado en el Programa" de GPL, la versión 2 de LGPL introdujo dos términos aclaratorios adicionales "trabajo basado en la biblioteca" y un "trabajo que utiliza la biblioteca". [1] LGPL versión 3 eliminó parcialmente estos términos.

La principal diferencia entre la GPL y la LGPL es que esta última permite que el trabajo se vincule con (en el caso de una biblioteca, "utilizado por") un programa sin (L) GPL, independientemente de si tiene una licencia licencia de la familia GPL u otras licencias. [2] En LGPL 2.1, el programa sin (L) GPL se puede distribuir bajo cualquier término si no es un trabajo derivado . Si se trata de un trabajo derivado, los términos del programa deben permitir la "modificación del trabajo para el propio uso del cliente y la ingeniería inversa para depurar dichas modificaciones". Si un trabajo que utiliza un programa LGPL es un trabajo derivado o no, es un problema legal. Un ejecutable independiente que se vincula dinámicamente a una biblioteca a través de un .so ,.dll , o un medio similar generalmente se acepta como un trabajo no derivado según lo definido por la LGPL. Caería bajo la definición de un "trabajo que utiliza la Biblioteca". El párrafo 5 de la LGPL versión 2.1 establece:

Básicamente, si se trata de un "trabajo que utiliza la biblioteca", entonces debe ser posible que el software se vincule con una versión más reciente del programa cubierto por LGPL. El método más comúnmente utilizado para hacerlo es utilizar "un mecanismo de biblioteca compartida adecuado para vincular". Alternativamente, se permite una biblioteca vinculada estáticamente si se proporciona código fuente o archivos de objeto vinculables . [3]