De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

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 la LGPL, pero no de los componentes patentados.

Historia [ editar ]

La licencia originalmente se llamaba 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. La LGPL se revisó en menor medida en la versión de 2.1 puntos, publicada en 1999, cuando 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 la 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.

Diferencias con la GPL [ editar ]

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, "usado por") un programa sin (L) GPL, independientemente de si es software libre o software propietario . [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:

Un programa que no contiene ningún derivado de ninguna parte de la Biblioteca, pero que está diseñado para trabajar con la Biblioteca al ser compilado o vinculado con ella, se denomina "trabajo que usa la Biblioteca". Dicho trabajo, de forma aislada, no es un trabajo derivado de la Biblioteca y, por lo tanto, queda fuera del alcance de esta Licencia.

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]

Compatibilidad [ editar ]

Una característica de la LGPL es el permiso para volver a licenciar bajo la GPL cualquier pieza de software que se reciba bajo la LGPL (consulte la sección 3 de la LGPL versión 2.1 y la sección 2, opción b de la LGPL versión 3). Esta función permite la reutilización directa de código LGPL en bibliotecas y aplicaciones GPL.

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: [4] una obra publicada bajo la GPLv2 "o cualquier versión posterior" puede combinarse con el código de una biblioteca LGPL versión 3, con el trabajo combinado en su conjunto bajo los términos de la GPLv3. [5]

LGPL para bibliotecas [ editar ]

El nombre anterior "Licencia pública general de biblioteca GNU" dio a algunos la impresión de que las bibliotecas de software recomendadas por la FSF usan la LGPL y que los programas usan la GPL. En febrero de 1999, el líder del Proyecto GNU, Richard Stallman, escribió el ensayo Por qué no debería usar la GPL menor para su próxima biblioteca, explicando que la LGPL no había quedado obsoleta , pero que no se debería usar necesariamente la LGPL para todas las bibliotecas:

Qué licencia es mejor para una biblioteca determinada es una cuestión de estrategia ... Usar la GPL ordinaria para una biblioteca ofrece a los desarrolladores de software libre una ventaja sobre los desarrolladores propietarios: una biblioteca que pueden usar, mientras que los desarrolladores propietarios no pueden usarla ... Cuando Las funciones de una biblioteca gratuita están disponibles para software propietario a través de otras bibliotecas alternativas ... la biblioteca no puede ofrecer al software libre ninguna ventaja en particular, por lo que es mejor utilizar la GPL menor para esa biblioteca. [2]

Stallman y la FSF a veces abogan por licencias incluso menos restrictivas que la LGPL como cuestión de estrategia. Un ejemplo destacado [ cita requerida ] fue el respaldo de Stallman al uso de una licencia de estilo BSD por parte del proyecto Vorbis para su uso en sus bibliotecas en 2001. [6]

Especificaciones del lenguaje de programación [ editar ]

La licencia utiliza terminología destinada principalmente a aplicaciones escritas en el lenguaje de programación C o su familia. Franz Inc. publicó su propio preámbulo de la licencia para aclarar la terminología en el contexto Lisp . LGPL con este preámbulo a veces se denomina LLGPL. [7]

Además, Ada tiene una característica especial, los genéricos , que pueden provocar el uso de la Licencia Pública General Modificada GNAT : permite que el código se vincule o cree una instancia de unidades cubiertas por GMGPL sin que el código en sí sea cubierto por la GPL.

Las plantillas de C ++ y las bibliotecas de solo encabezado 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. [8]

Herencia de clases [ editar ]

Ha surgido cierta preocupación sobre la conveniencia de que las clases orientadas a objetos en LGPL'd sean heredadas por código que no sea (L) GPL. La aclaración se da en el sitio web oficial de GNU:

La LGPL no contiene disposiciones especiales para la herencia, porque no se necesita ninguna. La herencia crea trabajos derivados de la misma manera que los enlaces tradicionales, y la LGPL permite este tipo de trabajo derivado de la misma manera que permite llamadas a funciones ordinarias. [9]

Ver también [ editar ]

  • Licencia Pública General Affero
  • Licencia de documentación libre GNU
  • Licencia pública general modificada GNAT
  • Excepción de vinculación de GPL
  • Software que utiliza LGPL (categoría)

Referencias [ editar ]

  1. ^ "Capítulo 10. La menor GPL" . Copyleft y la licencia pública general GNU: un tutorial y una guía completos . 2018.
  2. ^ a b Stallman, Richard. Por qué no debería utilizar la GPL menor para su próxima biblioteca . Sitio web oficial de la Free Software Foundation .
  3. ^ Licencia pública general menor de GNU, sección 4 , pt. d) 0)
  4. ^ Licencia pública general reducida GNU (LGPL) versión 3 . Sitio web oficial de la Free Software Foundation .
  5. ^ Preguntas frecuentes sobre las licencias GNU - Proyecto GNU - Free Software Foundation . Sitio web oficial de la Free Software Foundation .
  6. ^ Stallman, Richard. Re: [código abierto] [Fwd: [icecast-dev] Xiph.org anuncia Vorbis Beta 4 y Xiph.org
  7. ^ Preámbulo de la Licencia Pública General Menor de GNU
  8. ^ LGPLv3 para una biblioteca de plantillas pura de C ++?
  9. ^ Turner, David. La LGPL y Java . Sitio web oficial de GNU .

Enlaces externos [ editar ]

  • Página oficial LGPL
  • Trabajos derivados
  • Lisping Copyleft: Una lectura detallada de Lisp LGPL, 5 International Free and Open Source Software Law Review 15 (2013)