La Licencia Pública General Reducida de GNU ( LGPL ) es una licencia de software libre publicada por la Fundación de Software Libre (FSF). Esta licencia permite a desarrolladores y empresas usar e integrar un componente de software publicado bajo la LGPL en su propio software (incluso propietario ) sin la obligación, según los términos de una licencia copyleft estricta , de publicar el código fuente de sus componentes. Sin embargo, cualquier desarrollador que modifique un componente cubierto por la LGPL debe publicar su versión modificada bajo la misma licencia LGPL. En el caso del software propietario, el código bajo la LGPL se suele utilizar en forma de biblioteca compartida , lo que permite una clara separación entre los componentes propietarios y los LGPL. La LGPL se utiliza principalmente para bibliotecas de software , aunque también se emplea en algunas aplicaciones independientes.
La LGPL se desarrolló como un compromiso entre la estricta licencia copyleft de la Licencia Pública General de GNU (GPL) y licencias más permisivas como las licencias BSD y la Licencia MIT . La palabra "Lesser" (menor) en el título indica que la LGPL no garantiza la libertad total del usuario final en el uso del software; solo garantiza la libertad de modificación para los componentes licenciados bajo la LGPL, pero no para los componentes propietarios.
Historia
La licencia, originalmente denominada Licencia Pública General de Bibliotecas GNU , se publicó por primera vez en 1991 y adoptó el número de versión 2 para mantener la paridad con la versión 2 de la GPL. La LGPL se revisó ligeramente en la versión 2.1, publicada en 1999, cuando se renombró como Licencia Pública General Reducida de GNU para reflejar la postura 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 la GPL, la versión 2 de la LGPL introdujo dos términos aclaratorios adicionales: "trabajo basado en la biblioteca" y "trabajo que utiliza la biblioteca". [ 4 ] La versión 3 de la LGPL eliminó parcialmente estos términos.
Diferencias con la GPL
La principal diferencia entre la GPL y la LGPL es que esta última permite que la obra se vincule con (en el caso de una biblioteca, "sea utilizada por") un programa que no esté licenciado bajo la (L)GPL, independientemente de si está licenciado bajo una licencia de la familia GPL u otras licencias. [ 5 ] En LGPL 2.1, el programa que no esté licenciado bajo la (L)GPL puede distribuirse bajo cualquier término si no es una obra derivada . Si es una obra derivada, entonces los términos del programa deben permitir "la modificación de la obra para el uso propio del cliente y la ingeniería inversa para depurar dichas modificaciones". Si una obra que utiliza un programa LGPL es una obra derivada o no es una cuestión legal. Un ejecutable independiente que se vincula dinámicamente a una biblioteca a través de un archivo .so , .dll o un medio similar generalmente se acepta que no es una obra derivada según la definición de la LGPL. Entraría dentro de la definición de una "obra que utiliza la biblioteca". El párrafo 5 de la versión 2.1 de la LGPL establece:
- Un programa que no contiene ningún derivado de la Biblioteca, pero que está diseñado para funcionar con ella mediante su compilación o enlace, se denomina "obra que utiliza la Biblioteca". Dicha obra, por sí sola, no es una obra derivada de la Biblioteca y, por lo tanto, queda fuera del alcance de esta Licencia.
En esencia, si se trata de una "obra que utiliza la biblioteca", entonces debe ser posible vincular el software con una versión más reciente del programa cubierto por la LGPL. El método más común para ello es utilizar "un mecanismo de biblioteca compartida adecuado para la vinculación". Alternativamente, se permite una biblioteca vinculada estáticamente si se proporciona el código fuente o archivos objeto vinculables. [ 6 ]
Compatibilidad
La lista de licencias de software de la Free Software Foundation explica la compatibilidad con muchas licencias de código abierto.
Licencia pública general
Una característica de la LGPL es el permiso para sublicenciar [ 7 ] bajo la GPL cualquier software recibido bajo la LGPL (véase la sección 3 de la versión 2.1 de la LGPL y la sección 2, opción b, de la versión 3 de la LGPL). Esta característica permite la reutilización directa de código LGPL en bibliotecas y aplicaciones GPL. [ 8 ]
La versión 3 de la LGPL no es inherentemente compatible con la versión 2 de la GPL. Sin embargo, las obras que utilizan esta última y que han dado permiso para usar una versión posterior de la GPL son compatibles: [ 9 ] una obra publicada bajo la GPLv2 "o cualquier versión posterior" puede combinarse con código de una biblioteca LGPL versión 3, y la obra combinada en su conjunto queda sujeta a los términos de la GPLv3. [ 8 ]
Expatriado/X11/MIT
Todas las versiones LGPL son compatibles con la licencia Expat y la licencia X11 (licencia MIT) porque todas las versiones GPL son compatibles [ 10 ] [ 11 ] y LGPL otorga más derechos que GPL.
apache
LGPL 3.0 es compatible con la Licencia Apache 2.0. [ 12 ] LGPL 2.0 y LGPL 2.1 son incompatibles con la Licencia Apache 2.0. [ 12 ] Sin embargo, si la condición de la licencia es LGPL-2.0 o posterior o LGPL-2.1 o posterior, entonces se puede elegir LGPL 3.0 para que sea compatible.
Todas las versiones LGPL son incompatibles con las versiones 1.0 y 1.1 de la Licencia Apache. [ 13 ] [ 14 ]
Recomendaciones de la FSF sobre licencias para bibliotecas
El nombre anterior, Licencia Pública General de Bibliotecas GNU, dio a algunos la impresión de que la FSF recomendaba que todas las bibliotecas de software usaran la LGPL y los programas la GPL. En el ensayo de 1999 « Por qué no deberías usar la GPL reducida para tu próxima biblioteca» , Richard Stallman explicó que, si bien la LGPL no había sido descontinuada , no necesariamente se debería usar para todas las bibliotecas, ya que el uso de la GPL puede dar ventaja a los desarrolladores de software libre. [ 5 ]
Especificaciones del lenguaje de programación
La licencia utiliza una terminología destinada principalmente a aplicaciones escritas en el lenguaje de programación C o sus derivados. Franz Inc., los desarrolladores de Allegro Common Lisp , publicaron su propio preámbulo para la licencia con el fin de aclarar la terminología en el contexto de Lisp . [ 15 ] La LGPL con este preámbulo a veces se denomina LLGPL.
Además, Ada tiene una característica especial, los genéricos , que puede propiciar el uso de la Licencia Pública General Modificada de GNAT (GMGPL): permite que el código se enlace con unidades cubiertas por la GMGPL o las instancie sin que el propio código quede cubierto por la GPL.
Las plantillas de C++ y las bibliotecas de solo cabeceras tienen el mismo problema que los genéricos de Ada. La versión 3 de la LGPL aborda estos casos en la sección 3. [ 16 ]
Herencia de clases
Ha surgido cierta preocupación sobre la idoneidad de que las clases orientadas a objetos en código con licencia LGPL sean heredadas por código que no tiene licencia LGPL. En el sitio web oficial de GNU se ofrece una aclaración al respecto:
- La LGPL no contiene disposiciones especiales para la herencia, porque no son necesarias. La herencia crea obras derivadas del mismo modo que el enlace tradicional, y la LGPL permite este tipo de obras derivadas del mismo modo que permite las llamadas a funciones ordinarias. [ 17 ]
Véase también
- Licencia pública general GNU Affero
- Licencia de Documentación Libre GNU
- Licencia pública general modificada de GNAT
- Excepción de enlace GPL
- Software que utiliza la Licencia Pública General Reducida de GNU (categoría)
Referencias
- ↑ Información de licencia Debian
- 1 2 3 "Varias licencias y comentarios sobre ellas" . Free Software Foundation . 26 de junio de 2018. Consultado el 2 de agosto de 2018 .
- ↑ Iniciativa de código abierto sobre licencias y estándares
- ↑ "Capítulo 10. La GPL reducida" . Copyleft y la Licencia Pública General de GNU: un tutorial y guía completos . 2018.
- 1 2 Stallman, Richard. " Por qué no deberías usar la GPL reducida para tu próxima biblioteca ". Sitio web oficial de la Free Software Foundation .
- ↑ Licencia pública general reducida de GNU, Sección 4 , pt. d) 0)
- ↑ «sublicencia» . Wikcionario . 7 de diciembre de 2020.
- 1 2 Preguntas frecuentes sobre las licencias GNU - Proyecto GNU - Fundación del Software Libre . Sitio web oficial de la Fundación del Software Libre .
- ↑ Licencia Pública General Reducida de GNU (LGPL) versión 3. Sitio web oficial de la Free Software Foundation .
- ↑Sitio web oficial de la Free Software Foundation .
- ↑Sitio web oficial de la Free Software Foundation .
- 1 2Sitio web oficial de la Free Software Foundation .
- ↑Sitio web oficial de la Free Software Foundation .
- ↑Sitio web oficial de la Free Software Foundation .
- ↑ Franz Incorporated (2000). "Preámbulo de la Licencia Pública General Reducida de GNU" . Centro de Código Abierto Allegro Common Lisp . Berkeley, CA. Archivado del original el 23 de diciembre de 2024.
- ↑ ¿ LGPLv3 para una biblioteca de plantillas pura de C++ ?
- ↑ Turner, David. La LGPL y Java . Sitio web oficial de GNU .
Enlaces externos
- Sitio web oficial

- Licencia Pública General Reducida de GNU v3.0
- Licencia Pública General Reducida de GNU v2.1 —Esta versión está descontinuada por la FSF.
- Licencia Pública General Reducida de GNU v2.0 : esta versión está descontinuada por la FSF.
- Obras derivadas
- Lisping Copyleft: Una lectura detallada de la LGPL de Lisp, 5 Revista Internacional de Derecho del Software Libre y de Código Abierto 15 (2013)
- Derecho informático
- Copyleft
- Licencias de software Copyleft
- Proyecto GNU