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.
- Indicar cambiosSi modificas el original, debes indicarlo.
- Divulgar el código fuenteAl distribuir hay que proporcionar el código fuente.
- Misma licenciaLas versiones modificadas y obras derivadas deben distribuirse con la misma licencia (o una compatible).
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 GPL-2.0 es la segunda versión de la GPL, publicada por la FSF en junio de 1991. Su principio copyleft es el mismo que el de GPL-3.0: si distribuyes un programa que incluye o se combina con este código, debes ofrecer el conjunto bajo GPL-2.0 junto con su código fuente. Casos representativos son el kernel de Linux (GPL-2.0-only, con una excepción syscall en algunas cabeceras), Git (GPL-2.0-only) y WordPress (GPL-2.0-or-later).
only y or-later
Los proyectos que usan GPL-2.0 suelen elegir una de estas dos opciones.
- GPL-2.0-only: solo puede distribuirse bajo las condiciones de esta versión. El kernel de Linux sigue esta vía y por eso no puede pasar a GPL-3.0.
- GPL-2.0-or-later: quien lo recibe puede elegir la 2.0 o cualquier versión posterior publicada por la FSF (3.0, etc.). El aviso recomendado por el texto de la GPL sigue esta fórmula.
La sección 9 del texto establece que, si un programa no especifica número de versión, se puede elegir cualquier versión publicada por la FSF. Por eso es importante dejar claro cuál se aplica mediante la cabecera de los archivos o el identificador SPDX (guía).
Qué hay que cumplir al distribuir
- Acompañar el código fuente u ofrecerlo mediante una oferta por escrito válida durante al menos 3 años (sección 3).
- Conservar los avisos de copyright, la exención de garantía y una copia de la licencia (sección 1).
- Indicar en los archivos modificados el hecho del cambio y su fecha (sección 2 a).
- No imponer restricciones adicionales a los derechos de quien lo recibe (sección 6). Si por acuerdos de patentes u otros motivos no puedes cumplir las condiciones de la GPL, no puedes distribuir en absoluto (sección 7).
Malentendidos frecuentes
- "GPL-2.0 y GPL-3.0 son la misma GPL, así que se pueden mezclar" — El código GPL-2.0-only y el código GPL-3.0 no pueden distribuirse combinados. Uno de los dos tiene que ser 'or later'.
- "También se puede incluir código Apache-2.0" — La FSF considera que Apache-2.0 no es compatible con GPL-2.0. Si el proyecto es 'or later', se puede resolver distribuyendo bajo GPL-3.0.
- "Como no hay cláusula de patentes, se pueden ejercer las patentes" — No hay una licencia de patentes explícita, pero la sección 7 y el preámbulo buscan impedir distribuciones que restrinjan la libertad mediante patentes. Las interpretaciones varían; si las patentes son importantes, valora GPL-3.0.
Cómo aplicarla
Deja el texto tal cual en LICENSE o COPYING y añade el aviso oficial a cada archivo. Si mantienes la frase 'either version 2 of the License, or (at your option) any later version' del aviso, es or-later; si la quitas, es only. Los identificadores SPDX son GPL-2.0-only / GPL-2.0-or-later.
Cuándo encaja
Es necesaria en proyectos que intercambian código con el ecosistema GPL-2.0-only, como los módulos del kernel de Linux. Si un proyecto nuevo busca un copyleft fuerte, GPL-3.0, con mejor cláusula de patentes y compatibilidad, o 'GPL-2.0-or-later' son más flexibles.
¿Puedo incluir código GPL-2.0 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) | No | Todo el programa distribuido en conjunto debe publicarse con su código fuente bajo la misma licencia GNU, así que no puedes incluirlo manteniendo la licencia de tu proyecto. |
| MIT | No | Todo el programa distribuido en conjunto debe publicarse con su código fuente bajo la misma licencia GNU, así que no puedes incluirlo manteniendo la licencia de tu proyecto. |
| Apache-2.0 | No | Todo el programa distribuido en conjunto debe publicarse con su código fuente bajo la misma licencia GNU, así que no puedes incluirlo manteniendo la licencia de tu proyecto. |
| MPL-2.0 | No | Todo el programa distribuido en conjunto debe publicarse con su código fuente bajo la misma licencia GNU, así que no puedes incluirlo manteniendo la licencia de tu proyecto. |
| LGPL-2.1 | Sí, con condiciones | Como LGPL-2.1 permite pasar a la GPL, solo es posible si la obra combinada se distribuye como GPL-2.0-only. |
| LGPL-3.0 | No | El código GPL-2.0-only no es compatible con las condiciones adicionales de GPL-3.0, LGPL-3.0 y AGPL-3.0. |
| GPL-3.0 | No | El código GPL-2.0-only no es compatible con las condiciones adicionales de GPL-3.0, LGPL-3.0 y AGPL-3.0. |
| AGPL-3.0 | No | El código GPL-2.0-only no es compatible con las condiciones adicionales de GPL-3.0, LGPL-3.0 y AGPL-3.0. |
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.