Permisos, condiciones y limitaciones de un vistazo
Condiciones
- Aviso de copyright y licenciaAl distribuir hay que incluir una copia de la licencia y el aviso de copyright.
- Divulgar el código fuenteAl distribuir hay que proporcionar el código fuente.
- Indicar cambiosSi modificas el original, debes indicarlo.
- Misma licencia (por biblioteca)Las modificaciones de la biblioteca deben llevar la misma licencia, pero puede no aplicarse a los programas que la usan.
Limitaciones
- Limitación de responsabilidadIndica expresamente que no se asume responsabilidad por daños.
- Sin garantíaIndica expresamente que no ofrece ninguna garantía.
Fuente de la clasificación de permisos, condiciones y limitaciones: datos de choosealicense.com (GitHub, licencia MIT).
Qué es esta licencia
La FSF publicó la LGPL-2.1 en febrero de 1999. Antes se llamaba 'GNU Library General Public License' (2.0) y en la 2.1 pasó a llamarse 'Lesser'. A diferencia de LGPL-3.0, es un documento completo e independiente. La biblioteca GNU C (glibc) usa LGPL-2.1-or-later, y la configuración por defecto de FFmpeg es LGPL-2.1-or-later (algunos componentes opcionales son GPL).
Programas que usan la biblioteca (secciones 5 y 6)
Un programa diseñado para funcionar enlazado con la biblioteca (una 'obra que usa la biblioteca') puede no considerarse obra derivada de ella, y el ejecutable combinado puede distribuirse con las condiciones que quieras si se cumplen las de la sección 6.
- Incluir un aviso de que se usa la biblioteca y de que está sujeta a la LGPL, junto con una copia de la licencia.
- Ofrecer el código fuente o los archivos objeto para que el usuario pueda modificar la biblioteca y volver a enlazarla, o usar el mecanismo de bibliotecas compartidas.
- Permitir la ingeniería inversa para depurar esas modificaciones.
Cláusula de paso a la GPL (sección 3)
La LGPL-2.1 permite aplicar a una copia de la biblioteca las condiciones de la GPL versión 2 (o, si lo prefieres, de cualquier versión posterior) en lugar de la LGPL. Por eso el código LGPL-2.1 puede incluirse tanto en proyectos GPL-2.0 como GPL-3.0. Una copia que se ha pasado a la GPL no puede volver a la LGPL.
Malentendidos frecuentes
- "La LGPL-2.1 es antigua y no se puede usar" — Sigue vigente y se usa mucho. Eso sí, no tiene cláusula de patentes ni de información de instalación.
- "El código LGPL-2.1 puede meterse tal cual en un proyecto LGPL-3.0" — Si es código LGPL-2.1-only y no 'or later', la obra combinada no puede pasar a LGPL-3.0. Sí existe la posibilidad de distribuirla como obra combinada GPL-3.0 usando la sección 3.
- "Con solo usar las cabeceras de la biblioteca, todo pasa a ser LGPL" — La sección 5 del texto exceptúa, entre otros, el uso de pequeñas macros y funciones en línea (de 10 líneas o menos) de las cabeceras. El límite es una cuestión de interpretación.
Cómo aplicarla
Deja el texto tal cual en COPYING.LIB o LICENSE y añade el aviso oficial a cada archivo. El identificador SPDX es LGPL-2.1-only o LGPL-2.1-or-later.
Cuándo encaja
Encaja en bibliotecas C existentes que también deben ser compatibles con el ecosistema GPL-2.0 y en obras derivadas de proyectos ya publicados con LGPL-2.1. Para una biblioteca nueva, muchas veces se valoran primero LGPL-3.0, con licencia de patentes, o MPL-2.0.
¿Puedo incluir código LGPL-2.1 en otro proyecto?
Resultado general al tomar código publicado bajo esta licencia y distribuirlo combinado en un proyecto con cada una de las licencias siguientes. Ver otras combinaciones en el comprobador de compatibilidad →
| Proyecto de destino | Resultado | Nota |
|---|---|---|
| Software privativo (comercial) | Sí, con condiciones | Puedes enlazarlo como biblioteca, pero debes permitir que el usuario sustituya y vuelva a enlazar la parte LGPL y proporcionar su código fuente. Si copias y mezclas el código, toda la obra combinada debe seguir las condiciones de la (L)GPL. |
| MIT | Sí, con condiciones | Puedes enlazarlo como biblioteca, pero debes permitir que el usuario sustituya y vuelva a enlazar la parte LGPL y proporcionar su código fuente. Si copias y mezclas el código, toda la obra combinada debe seguir las condiciones de la (L)GPL. |
| Apache-2.0 | Sí, con condiciones | Puedes enlazarlo como biblioteca, pero debes permitir que el usuario sustituya y vuelva a enlazar la parte LGPL y proporcionar su código fuente. Si copias y mezclas el código, toda la obra combinada debe seguir las condiciones de la (L)GPL. |
| MPL-2.0 | Sí, con condiciones | Puedes enlazarlo como biblioteca, pero debes permitir que el usuario sustituya y vuelva a enlazar la parte LGPL y proporcionar su código fuente. Si copias y mezclas el código, toda la obra combinada debe seguir las condiciones de la (L)GPL. |
| LGPL-3.0 | Sí, con condiciones | LGPL-2.1 permite distribuir ese código convirtiéndolo a cualquier versión de la GPL a partir de la GPL-2.0 (sección 3). |
| GPL-2.0 | Sí, con condiciones | LGPL-2.1 permite distribuir ese código convirtiéndolo a cualquier versión de la GPL a partir de la GPL-2.0 (sección 3). |
| GPL-3.0 | Sí, con condiciones | LGPL-2.1 permite distribuir ese código convirtiéndolo a cualquier versión de la GPL a partir de la GPL-2.0 (sección 3). |
| AGPL-3.0 | Sí, con condiciones | LGPL-2.1 permite distribuir ese código convirtiéndolo a cualquier versión de la GPL a partir de la GPL-2.0 (sección 3). GPL-3.0 y AGPL-3.0 permiten combinarse mutuamente mediante su respectiva sección 13. En la obra combinada, la parte AGPL mantiene la obligación de ofrecer el código fuente por red. |
El contenido de este sitio es información general y no constituye asesoramiento jurídico. Para decisiones reales de distribución, contratos o litigios, consulta con un abogado u otro profesional.