Licencias Libres y Abiertas, De la Programación al Mundo Digital

El nacimiento del software libre

Introducción:

La famosa frase de George Bernard Shaw sobre compartir ideas dice:
   "Si tienes una manzana y yo tengo una manzana, y las intercambiamos, ambos seguiremos teniendo una manzana. Pero si tienes una idea y yo tengo una idea, y las intercambiamos, entonces ambos tendremos dos ideas."

El concepto de software libre surge como una respuesta a la creciente uso del software propietario en la década de 1980.
Richard Stallman, investigador del MIT, fundó en 1984 el Proyecto GNU con el objetivo de desarrollar un sistema
operativo completamente libre. Posteriormente, en 1985, estableció la Free Software Foundation (FSF) y promovió la
Licencia Pública General de GNU (GPL) para garantizar que el software libre permaneciera accesible y modificable para todos.

Por otro lado, Eric S. Raymond jugó un papel clave en la divulgación de modelos de desarrollo colaborativo. En 1997, publicó su influyente ensayo "La catedral y el bazar", donde comparó dos modelos de desarrollo de software:

El modelo catedral:
Desarrollo cerrado, donde el código fuente se mantiene privado hasta su lanzamiento.
El modelo bazar:
Desarrollo abierto, con múltiples colaboradores que contribuyen en tiempo real, como ocurre en proyectos como Linux.

Las principales razones que impulsaron el software libre fueron:
Evitar la dependencia de software propietario, basados en 4 principios o libertades:

Libertad de usar: El software libre se puede usar para cualquier propósito, sin restricciones de licencia o geográficas.
Libertad de estudiar: El código fuente del software libre se puede estudiar sin restricciones.
Libertad de compartir: El software libre se puede copiar y compartir virtualmente sin costo.
Libertad de mejorar: El software libre se puede modificar y las mejoras se pueden compartir públicamente.

El surgimiento del código abierto

Linus Torvalds y el Sistema Operativo Linux
En 1991, Linus Torvalds, un estudiante de informática en Finlandia, desarrolló un nuevo núcleo de sistema operativo basado en UNIX: Linux. Al liberar su código bajo una licencia abierta, permitió que miles de programadores de todo el mundo contribuyeran a su mejora. La popularidad de Linux impulsó un cambio en la percepción del software libre dentro del ámbito empresarial. En 1998, se acuñó el término "código abierto" (open source) con la fundación de la Open Source Initiative (OSI).

Esta organización promovió un enfoque más pragmático del software libre, enfatizando los beneficios técnicos y comerciales sobre la filosofía de libertad.

Las razones que llevaron a la adopción del código abierto fueron:

  • Facilitar la adopción empresarial del software libre sin la carga ideológica del FSF.
  • Demostrar que el desarrollo colaborativo es más eficiente y conduce a software más robusto.
  • Asegurar la interoperabilidad y la transparencia en el desarrollo de software.

Aunque el software libre y el código abierto comparten principios similares, existen diferencias clave:

CaracterísticaSoftware LibreCódigo Abierto
FilosofíaSe enfoca en la libertad del usuario y la éticaSe enfoca en la eficiencia y la calidad del código
Licencias comunesGPL, AGPLMIT, Apache 2.0, BSD
Uso en empresasMenos adoptado por restricciones de licencias copyleftMás aceptado por su flexibilidad
Ejemplo de softwareGNU/Linux, EmacsLinux Kernel, Kubernetes

 

En conclusión, mientras el software libre busca garantizar la libertad del usuario, el código abierto prioriza la colaboración y la adopción masiva. Ambos modelos han influenciado significativamente el desarrollo de la tecnología moderna, permitiendo la creación de un ecosistema de software más accesible y eficiente.

El mundo del software y la propiedad intelectual está regulado por diferentes enfoques legales que determinan cómo se pueden utilizar, modificar y distribuir las creaciones digitales. Entre estos enfoques, destacan tres conceptos fundamentales: dominio público, copyleft y copyright.

Dominio Público: Sin Restricciones

El dominio público se refiere a obras que no están protegidas por derechos de autor, ya sea porque han expirado, fueron explícitamente liberadas por su creador o nunca estuvieron protegidas. En este caso, cualquier persona puede usar, modificar y redistribuir el contenido sin restricciones.

Ejemplo 1: El código fuente de software liberado bajo la licencia CC0 (Creative Commons Zero) o el software antiguo cuya protección de copyright ha expirado.
Ejemplo 2: La base de datos SQLite es Dominio Publico y esta hecha con "una declaración propia"

Copyleft: Libertad con Condiciones

El copyleft es un modelo de licencia que garantiza que cualquier obra derivada de un software libre mantenga la misma libertad que el original. Es decir, si un programa con licencia copyleft se modifica o redistribuye, debe conservar la misma licencia y garantizar que los usuarios tengan los mismos derechos de uso, modificación y distribución.

Ejemplo: El sistema operativo GNU/Linux, que se distribuye bajo la Licencia Pública General de GNU (GPL), asegurando que cualquier modificación también deba ser GPL.

El copyright, o derecho de autor, otorga a los creadores derechos exclusivos sobre su obra. Esto significa que solo el titular del copyright puede reproducir, distribuir o modificar la obra, a menos que otorgue permisos explícitos mediante licencias. Las licencias pueden variar, desde modelos restrictivos (como software propietario) hasta modelos más permisivos (como el MIT o Apache 2.0).

Ejemplo: Microsoft Windows, cuyo código fuente es propiedad de Microsoft y no puede ser modificado ni redistribuido sin autorización.

Por defecto toda obra tiene esta categoría: Todos los derechos reservados.

Licencias de software Open source

 

El software de código abierto (Open Source) ha revolucionado la industria tecnológica, permitiendo la colaboración global en el desarrollo de software. Sin embargo, para garantizar la transparencia y el uso adecuado del código, es fundamental establecer licencias que regulen los derechos y obligaciones de los usuarios y desarrolladores.

Las licencias Open Source pueden clasificarse según su nivel de permisividad, desde las más flexibles hasta las más restrictivas. A continuación, exploraremos las licencias más utilizadas

Licencia de Dominio Público (CC0, Unlicense)

Permisividad: MáximaEjemplo: SQLite, 7Zip
Las licencias de dominio público, como CC0 (Creative Commons Zero) y Unlicense, permiten el uso, modificación y distribución sin restricciones. Los desarrolladores renuncian a sus derechos de autor y dejan el software disponible para cualquier uso, incluso comercial.

Características:

  • No requiere atribución.
  • Se puede modificar y redistribuir sin restricciones.
  • No ofrece garantía ni responsabilidad legal.

Licencia MIT

Permisividad: AltaEjemplo: React, Tailwind CSS, Angular
La MIT License es una de las licencias más populares debido a su simplicidad y flexibilidad. Permite usar, modificar y distribuir el software, siempre que se mantenga la atribución al autor original.

Características:

  • Permite uso comercial, modificación y sublicenciamiento.
  • Requiere incluir el aviso de licencia original.
  • No impone restricciones sobre el modelo de licencia de proyectos derivados.

Licencia Apache 2.0

Permisividad: Alta, con protección de patentesEjemplo: Kubernetes, TensorFlow
La Apache License 2.0 es similar a la MIT, pero con una protección adicional sobre patentes. Garantiza que los usuarios no puedan demandar por infracción de patentes al usar software bajo esta licencia.

Características:

  • Uso, modificación y distribución permitidos.
  • Requiere atribución y notificación de cambios.
  • Protege contra litigios de patentes.

Licencia Mozilla Public License (MPL 2.0)

Permisividad: Media (Licencia intermedia)Ejemplo: Mozilla Firefox
La MPL 2.0 equilibra libertad y restricciones. Permite combinar código abierto con código propietario, siempre que las modificaciones al código original sean publicadas bajo la misma licencia.

Características:

  • Permite integración con software propietario.
  • Requiere compartir cambios en el código original.
  • No impone copyleft fuerte, a diferencia de la GPL.

Licencia GNU General Public License (GPL v3)

Permisividad: Baja (Licencia Copyleft fuerte)Ejemplo: Linux, WordPress
La GPL v3 impone fuertes restricciones para garantizar la libertad del software. Obliga a que cualquier software derivado también esté licenciado bajo la GPL, lo que impide su uso en software propietario.

Características:

  • Uso y distribución permitidos, pero los derivados deben ser GPL.
  • Garantiza que el software permanezca libre.
  • Prohíbe restricciones tecnológicas (DRM).

Licencia GNU Affero General Public License (AGPL v3)

Permisividad: Mínima (Copyleft extremo)Ejemplo: MongoDB, Mastodon
La AGPL v3 es una versión más restrictiva de la GPL. Exige que cualquier software basado en su código, incluso si se ejecuta en servidores sin distribuirse, también debe publicarse bajo AGPL.

Características:

  • Similar a la GPL, pero se aplica también a software en la nube.
  • Impide privatizar software basado en código AGPL.
  • Considerada una de las licencias más restrictivas del Open Source.

A continuación, un resumen de las licencias analizadas:

 

LicenciaPermite Uso ComercialRequiere AtribuciónRequiere Publicar CambiosCompatible con Software PrivadoProtección de Patentes
CC0NoNoNo
MITNoNo
Apache 2.0No
MPL 2.0Solo en código modificadoNo
GPL v3NoNo
AGPL v3Sí (incluye cloud)NoNo

 

Freeware y Shareware

Además de las anteriores podemos encontrar Freeware y Shareware. Aunque pueden parecer similares a primera vista, presentan diferencias clave en términos de acceso al código fuente, permisos de uso y distribución.

Freeware

El freeware es software que se distribuye de manera gratuita, pero sin acceso al código fuente. Los usuarios pueden utilizarlo sin costo, pero no modificarlo ni redistribuirlo de forma alterada. Características principales:

  • Gratuito para su uso.
  • Código fuente cerrado.
  • Puede ser propietario.
  • Puede incluir restricciones de uso (por ejemplo, solo para uso personal o no comercial).

Ejemplo de Freeware:
Skype: Se puede descargar y utilizar gratuitamente, pero no permite acceso al código fuente.
Adobe Acrobat Reader: Permite visualizar archivos PDF sin costo, pero no se puede modificar.

Shareware

El shareware es software que se distribuye gratuitamente, pero con limitaciones. Generalmente, se usa con fines de prueba y requiere un pago para obtener la versión completa. Características principales:

  • Se puede probar gratuitamente por un período limitado o con funciones restringidas.
  • Código fuente cerrado.
  • Generalmente, requiere pago para desbloquear todas las características.
  • Puede incluir recordatorios o publicidad para incentivar la compra.

Ejemplo de Shareware: WinRAR: Permite la prueba gratuita, pero muestra recordatorios para comprar la licencia.
Adobe Photoshop (versión de prueba): Ofrece un período gratuito con funciones limitadas.

 

Licencias Creative Commons

Las licencias Creative Commons (CC) fueron creadas para ofrecer un modelo intermedio entre el dominio público y el copyright tradicional. Estas licencias permiten a los autores compartir su trabajo con ciertas condiciones específicas. En este artículo, analizaremos las principales licencias Creative Commons, ordenadas de la más permisiva a la más restrictiva, y discutiremos su aplicación en el software y otros medios.

Tipos de Licencias Creative Commons

A continuación, se presenta una tabla comparativa con las licencias Creative Commons, desde la más abierta hasta la más restrictiva:

LicenciaSímboloModificación permitidaUso comercialObligación de atribuciónObras derivadas bajo la misma licencia
CC0 (Dominio Público)CC0NoNo
CC BYBYNo
CC BY-SABY-SA
CC BY-NDBY-NDNoNo
CC BY-NCBY-NCNoNo
CC BY-NC-SABY-NC-SANo
CC BY-NC-NDBY-NC-NDNoNoNo

Referencias:

  • BY (Atribución): Se debe dar crédito al autor original.
  • SA (Share-Alike): Las obras derivadas deben mantener la misma licencia.
  • ND (No Derivatives): No se pueden hacer modificaciones.
  • NC (Non-Commercial): No se permite el uso comercial.
  • CC0: Renuncia total a los derechos, convirtiéndolo en dominio público.

¿Creative Commons se aplica al software?

Creative Commons no está diseñado para software. Para el código fuente, se recomienda el uso de licencias específicas como GPL, MIT o Apache 2.0. Sin embargo, Creative Commons podría aplicarse a la documentación de software, diseños, guías y otros materiales complementarios.

Conclusión

Las licencias Creative Commons ofrecen una gran flexibilidad para compartir contenidos mientras se mantienen ciertos derechos. La elección de la licencia adecuada dependerá del nivel de control que el autor desee sobre su obra. Aunque no son recomendadas para software, son una excelente opción para proyectos de arte, educación y documentación.



Bibliografía - referencias:
    La catedral y el bazar (traducido)
    Free software Foundation
    GNU Operating System
    Open Source Licenses
    Creative Commons