El software libre es un software que cualquiera puede ejecutar, compartir y modificar, en cualquier momento y por cualquier motivo. En este caso, "libre" significa "respetuoso con la libertad". Lo contrario del software libre es el software privativo.

En 1984, Richard Stallman inició el movimiento del software libre cuando comenzó el proyecto GNU.

 

¿Qué significa exactamente "libre"?

La Free Software Foundation (FSF) define el software libre mediante cuatro libertades esenciales. Estas libertades garantizan que los usuarios puedan controlar el software que usan, no que el software sea gratuito en precio (aunque a menudo lo es):

  • Libertad 0: la libertad de ejecutar el programa para cualquier propósito.
  • Libertad 1: la libertad de estudiar cómo funciona el programa y adaptarlo a tus necesidades (acceso al código fuente).
  • Libertad 2: la libertad de redistribuir copias del programa para ayudar a otros.
  • Libertad 3: la libertad de mejorar el programa y publicar las mejoras para que toda la comunidad se beneficie (de nuevo, con acceso al código fuente).

Principios y ventajas

  • Transparencia y seguridad: al poder auditar el código, es más fácil detectar y corregir errores o vulnerabilidades.
  • Control del usuario: los usuarios y organizaciones no quedan atados a un proveedor que imponga restricciones sobre el uso o la modificación.
  • Colaboración y comunidad: el desarrollo abierto fomenta la colaboración entre personas y empresas, acelerando la innovación y la mejora continua.
  • Flexibilidad y adaptación: el software puede ser modificado para necesidades específicas (localización, accesibilidad, integración con otros sistemas).
  • Modelos de negocio compatibles: el software libre puede usarse en entornos comerciales; existen empresas que dan soporte, personalización o servicios asociados.

Licencias: copyleft vs. permisivas

El carácter "libre" de un programa se concreta mediante una licencia. Hay dos enfoques principales:

  • Copyleft: licencias como la GNU General Public License (GPL) obligan a que las versiones modificadas y las distribuciones derivadas conserven las mismas libertades. Su objetivo es mantener el software y sus derivados libres.
  • Permisivas: licencias como MIT o BSD permiten más libertad para incorporar el código en proyectos privativos o con otras condiciones; fomentan la reutilización amplia, aunque no garantizan que las mejoras permanezcan libres.

Origen histórico y contexto

El movimiento del software libre nació en los primeros años de la informática moderna como una respuesta a la creciente práctica de distribuir programas sin acceso al código fuente ni derecho a modificarlos. Richard Stallman, investigador del MIT, reaccionó a esas prácticas cuando decidió crear un proyecto y una filosofía que devolvieran a los usuarios la libertad sobre el software.

El proyecto GNU (GNU's Not Unix) planteó construir un sistema operativo libre completo; más tarde, la combinación de las utilidades GNU con el núcleo Linux (desarrollado por Linus Torvalds en 1991) dio lugar a las distribuciones que hoy se conocen comúnmente como GNU/Linux. Para apoyar legalmente esas libertades, la FSF y la comunidad desarrollaron licencias como la GPL.

Diferencias con "open source"

Aunque "software libre" y "open source" comparten muchos programas y licencias, hay una diferencia de enfoque:

  • Software libre enfatiza principios éticos y libertades de los usuarios.
  • Open source enfatiza las ventajas prácticas del desarrollo abierto (calidad, velocidad, coste) y suele evitar argumentos morales.

Cómo identificar y participar

  • Para saber si un programa es libre, revisa su licencia y si el código fuente está disponible.
  • Si quieres contribuir, puedes aportar código, documentación, traducciones, pruebas o apoyo en foros y listas de correo.
  • Si desarrollas software y quieres que sea libre, elige una licencia clara (por ejemplo, GPL para copyleft o MIT/BSD para permisiva) y publica el código fuente junto a la licencia.

Ejemplos y uso cotidiano

El software libre está presente en servidores, dispositivos móviles, infraestructuras críticas, software de escritorio y proyectos científicos. Ejemplos conocidos incluyen el sistema operativo Linux, muchas utilidades del proyecto GNU, navegadores y suites ofimáticas basadas en tecnologías abiertas, bibliotecas y lenguajes de programación.

En resumen, el software libre es tanto una propuesta técnica como una postura ética: pretende garantizar que las personas puedan usar, estudiar, compartir y mejorar el software que afecta a su vida digital.