,

Licencias libres explicadas en llano: GPL, MIT, Apache y Creative Commons

GPL, MIT, Apache, BSD, Creative Commons… Qué significa cada licencia, qué te deja hacer y qué te pide a cambio, explicado sin jerga legal.

Portada del artículo «Licencias libres explicadas en llano: GPL, MIT, Apache y Creative Commons» de enllano.com

En corto: licencias libres

  • Una licencia es el permiso que da el autor para usar su obra. Sin licencia, por defecto, no puedes copiarla ni modificarla.
  • Las licencias libres se dividen en dos familias: las de copyleft (como la GPL), que obligan a compartir las mejoras con la misma licencia, y las permisivas (como MIT o Apache), que casi no piden nada.
  • Creative Commons está pensada para textos, fotos, música o vídeo, no para programas.

Cuando descargas un programa libre o una foto de Wikimedia, casi siempre aparece una palabra rara al lado: GPL, MIT, CC BY-SA… Son licencias, y cada una dice qué puedes hacer con esa obra. No hace falta ser abogado para entenderlas. En este artículo te explico las más comunes en lenguaje normal. Si aún no tienes claro qué es el software libre, empieza por qué es el software libre.

Qué es una licencia

Cuando alguien crea un programa, un texto o una foto, la ley le da automáticamente los derechos de autor. Eso significa que, por defecto, nadie más puede copiar, modificar ni distribuir esa obra sin permiso.

Una licencia es ese permiso por escrito. El autor sigue siendo el dueño, pero te dice: «puedes hacer esto, siempre que cumplas estas condiciones».

En el software privativo, la licencia suele restringir: no copiar, no modificar, no instalar en más de un ordenador. En el software libre es al revés: la licencia sirve para dar libertades.

Las dos grandes familias de licencias libres

Copyleft: «compártelo como lo recibiste»

El copyleft es un truco ingenioso. La GNU lo define como un método para hacer libre un programa y exigir que todas sus versiones modificadas también lo sean. Usa los derechos de autor al revés: en lugar de impedir copias, obliga a que quien redistribuya el programa pase las mismas libertades.

En la práctica: puedes coger un programa con copyleft, mejorarlo y venderlo. Pero si lo distribuyes, tienes que hacerlo con la misma licencia y ofrecer el código fuente.

Permisivas: «haz lo que quieras, pero cítame»

Las licencias permisivas piden muy poco: normalmente, mantener el aviso de autoría y la licencia. Puedes incorporar ese código a un programa cerrado y venderlo sin publicar tus cambios.

Ninguna familia es mejor que la otra. El copyleft protege que el software siga siendo libre. Las permisivas facilitan que lo adopte cualquiera, incluidas empresas que no quieren abrir su código.

Las licencias de software más comunes

GPL (Licencia Pública General de GNU)

Es la licencia copyleft por excelencia. La versión 3 es del 29 de junio de 2007. Su preámbulo deja claro que puedes distribuir copias «y cobrar por ellas si quieres».

  • Te deja: usar, estudiar, modificar, distribuir y vender.
  • Te pide: si distribuyes el programa o una versión modificada, hacerlo con la GPL y dar acceso al código fuente.

LGPL (GPL reducida)

Es una versión más suave pensada para bibliotecas, es decir, piezas de código que usan otros programas. La LGPL versión 3 permite que un programa cerrado use una biblioteca LGPL, siempre que se respeten algunas condiciones, como permitir que el usuario sustituya esa biblioteca por una versión modificada.

AGPL (GPL Affero)

Pensada para la era de internet. Con la GPL, si una empresa modifica un programa y solo lo ofrece como servicio web, no está «distribuyendo» nada y no tiene que publicar sus cambios. La AGPL versión 3 cierra ese hueco: si modificas el programa, debes ofrecer el código a todos los usuarios que lo usen a través de la red.

MIT

Es la licencia permisiva más sencilla. Tiene una sola condición: incluir el aviso de copyright y el texto de la licencia en las copias. Nada más.

Apache 2.0

Permisiva, pero más detallada. La licencia Apache 2.0, de enero de 2004, añade dos cosas importantes:

  • Patentes: quien contribuye te concede permiso para usar sus patentes relacionadas con ese código. Si demandas a alguien alegando que el programa infringe una patente, pierdes ese permiso.
  • Avisos: si modificas archivos, debes indicarlo claramente, y debes conservar el archivo de avisos (NOTICE) si existe.

Es la licencia preferida del proyecto de código abierto de Android.

BSD

Otra familia permisiva, muy parecida a MIT. La variante de tres cláusulas añade una condición curiosa: no puedes usar el nombre de los autores para promocionar tu producto sin su permiso.

MPL 2.0 (Licencia Pública de Mozilla)

Un punto intermedio. Es copyleft, pero a nivel de archivo: si modificas un archivo con MPL, tienes que compartir ese archivo, pero puedes combinarlo con código propio bajo otras licencias. La usan, por ejemplo, Firefox y LibreOffice.

Lo importante: si solo usas un programa libre en tu ordenador, da igual su licencia: puedes usarlo como quieras. Las condiciones importan cuando lo distribuyes, lo modificas para otros o, en el caso de la AGPL, lo ofreces como servicio en la red.

Creative Commons: licencias para contenidos

Las licencias Creative Commons (CC) se pensaron para obras como fotos, textos, música, vídeos o material educativo. Se construyen combinando cuatro piezas:

  • BY (reconocimiento): debes citar al autor. Está en todas.
  • SA (compartir igual): si adaptas la obra, debes compartirla con la misma licencia o una compatible. Es el copyleft de Creative Commons.
  • NC (no comercial): solo para usos no comerciales.
  • ND (sin obras derivadas): puedes compartirla, pero no modificarla.

Con esas piezas salen seis licencias, de más a menos permisiva: CC BY, CC BY-SA, CC BY-ND, CC BY-NC, CC BY-NC-SA y CC BY-NC-ND. La versión actual es la 4.0.

Aparte está CC0, que no es exactamente una licencia: sirve para renunciar a tus derechos y dejar la obra lo más cerca posible del dominio público.

¿Todas las CC son libres?

No. La Free Software Foundation considera libres CC BY, CC BY-SA y CC0, pero no las que llevan NC o ND, porque limitan el uso comercial o impiden modificar.

¿Por qué no se usan para software?

La propia Creative Commons desaconseja usar sus licencias para programas. Sus razones:

  • No dicen nada sobre el código fuente, que es clave para modificar software.
  • No tratan las patentes, que sí importan en programación.
  • No son compatibles con las principales licencias de software, lo que complica combinar código.

Las excepciones: CC0 sí es aceptable para software según Creative Commons, y las licencias CC sí sirven para la documentación o el arte de un programa (por ejemplo, la música de un videojuego libre).

Qué es SPDX

Hay cientos de licencias distintas, y cada una tenía antes varios nombres. Para poner orden nació SPDX, un estándar abierto alojado por la Linux Foundation para describir de qué está hecho un programa: sus piezas, su origen y sus licencias.

Su parte más visible es la lista de licencias SPDX. Asigna a cada licencia un identificador corto y único, como MIT o GPL-3.0-only, para que personas y programas la reconozcan sin ambigüedad. La lista indica además qué licencias aprueba la OSI como código abierto y cuáles considera libres la Free Software Foundation.

2021

Ese año la especificación SPDX se convirtió en estándar internacional, como ISO/IEC 5962:2021.

Fuente: SPDX

Este es el recuento actualizado de la lista oficial:

Las licencias, en números

La lista oficial SPDX (versión 8791eda) recoge 708 licencias en uso. Solo una parte cumple las definiciones de libre o de código abierto.

141aprobadas por la OSI como código abierto20 % del total
109consideradas libres por la FSF15 % del total
63cumplen las dos definiciones9 % del total

Fuente: SPDX License List (datos CC0). Excluye identificadores obsoletos. Se actualiza sola cada semana.

Fíjate en que no todas las licencias de la lista son libres ni de código abierto: SPDX cataloga licencias, no las aprueba.

Qué significa para ti

Según lo que hagas con una obra, te afecta una cosa u otra.

Si solo la usas

Instalar LibreOffice o ver vídeos con VLC no te obliga a nada. Puedes usarlos en casa, en el trabajo o en tu empresa.

Si la compartes

Pasar una copia tal cual a otra persona está permitido en todas las licencias libres. Solo tienes que mantener los avisos de autoría y la licencia.

Si la reutilizas o la modificas

Aquí sí hay que leer la letra pequeña:

  1. Mira qué licencia tiene. Suele estar en un archivo llamado LICENSE o COPYING, o en el pie de la página.
  2. Identifica la familia. Si es copyleft (GPL, AGPL, CC BY-SA), lo que publiques basado en ella tendrá que llevar la misma licencia. Si es permisiva (MIT, Apache, BSD, CC BY), basta con citar.
  3. Cita siempre al autor. Casi todas las licencias lo exigen. En fotos y textos con Creative Commons, indica autor, licencia y enlace.
  4. Cuidado con NC. Si usas una foto CC BY-NC en la web de tu negocio, probablemente es un uso comercial.
  5. No mezcles a ciegas. Combinar código con licencias distintas puede crear incompatibilidades. Si es para un proyecto serio, consulta la lista de licencias de la FSF, que explica cuáles son compatibles con la GPL.
  6. Ante la duda, pregunta. Este artículo es divulgativo. Para un caso comercial importante, consulta con alguien especializado en propiedad intelectual.

Compártelo

Fotógrafo en Barcelona y administrador de sistemas. Experimento con la IA sin perder la mirada y explico la tecnología como me gustaría que me la explicaran. Sígueme para no perderte el próximo.

Lluís Ridao, fotógrafo