Software libre
La ciencia abierta se representa a menudo como un gran paraguas que cobija distintas prácticas orientadas a hacer el conocimiento científico más accesible, transparente y colaborativo. Incluye desde el acceso abierto a las publicaciones y los datos de investigación (principios FAIR) hasta la educación abierta y la apertura de metodologías. Bajo este mismo paraguas, el software libre se ha consolidado como un pilar fundamental de la práctica científica contemporánea.
El software libre, definido por las cuatro libertades esenciales (uso, estudio, modificación y distribución), actúa como una condición necesaria para la transparencia, la reproducibilidad y la reutilización del conocimiento. Al permitir examinar, validar y adaptar las herramientas y métodos computacionales, contribuye directamente a la solidez y verificabilidad de la investigación.
Según la Recomendación de la UNESCO sobre la Ciencia Abierta:
“El conocimiento científico abierto se refiere también a la posibilidad de abrir las metodologías de investigación y los procesos de evaluación. Así, los usuarios obtienen acceso libre a: (...)
d. programas informáticos de código abierto y código fuente abierto, que incluyen, por lo general, programas informáticos cuyo código fuente está disponible públicamente, de manera oportuna, en un formato fácil de utilizar, legible y modificable por personas y máquinas, mediante una licencia abierta que otorga a otros usuarios el derecho de utilizar los programas informáticos, acceder a ellos, modificarlos, ampliarlos, estudiarlos, crear obras derivadas y compartir dichos programas y su código fuente, su diseño o su concepto. […]”
En coherencia con estos principios, el software libre garantiza las libertades necesarias para que el conocimiento científico sea realmente accesible, verificable y reutilizable. Poder estudiar, modificar y compartir el software no solo permite "coconstruir" infraestructuras digitales abiertas y transparentes, sino que también facilita examinar métodos, validar resultados y adaptar herramientas a nuevas necesidades. Todo ello contribuye a una ciencia más sólida y colaborativa.
Cabe recordar que el movimiento del software libre es anterior a la propia ciencia abierta. Su trayectoria ha inspirado muchas de las prácticas actuales de apertura, colaboración y gobernanza comunitaria que hoy consideramos esenciales en el ámbito científico.
El desarrollo y mantenimiento del software libre se apoya en infraestructuras y dinámicas comunitarias que refuerzan su sostenibilidad y soberanía. Estas prácticas permiten reutilizar conocimientos, evitar esfuerzos duplicados y, cada vez más, reconocer el software como un resultado de investigación valioso en sí mismo, que merece ser compartido y preservado adecuadamente.
Software libre
¿Qué es?
El software libre (en inglés free software) es aquel que respeta la libertad de los usuarios y la comunidad. En términos prácticos, esto significa que los usuarios tienen la libertad de ejecutar, copiar, distribuir, estudiar, modificar y mejorar el software. El acceso al código fuente es un requisito previo para ejercer estas libertades.
El concepto, promovido por la Free Software Foundation (FSF), no es principalmente técnico si no ético: defiende que el control del software debe estar en manos de quienes lo usan, no de quienes lo desarrollan o distribuyen.
Las cuatro libertades esenciales
Para que un programa sea considerado software libre, debe garantizar las siguientes libertades:
- Libertad 0: Usar el programa con cualquier propósito (personal, académico, comercial, etc.).
- Libertad 1: Estudiar cómo funciona el programa y adaptarlo a las propias necesidades. Esto implica poder acceder al código fuente.
- Libertad 2: Distribuir copias del programa para ayudar a otros usuarios.
- Libertad 3: Mejorar el programa y hacer públicas esas mejoras, para que se beneficie toda la comunidad. También requiere acceso al código fuente.
Un programa es software libre si sus usuarios tienen todas estas libertades.
(Fuentes: Free Software Foundation - https://www.fsf.org/)
Para que un software sea libre, debe distribuirse bajo una licencia que garantice explícitamente las cuatro libertades. Existen diversas licencias que cumplen este requisito, y su elección determina cómo pueden reutilizarse y compartirse las modificaciones.
Las licencias de software libre pueden agruparse en dos grandes categorías:
- Licencias permisivas: Permiten modificar el software y redistribuirlo bajo términos distintos (incluso propietarios), siempre que se mantenga el reconocimiento a los autores originales y la renuncia de responsabilidad. Son compatibles con proyectos que quieren maximizar la adopción, incluso en entornos no libres.Ejemplos: MIT, Apache 2.0, BSD.
- Licencias con copyleft: Exigen que las obras derivadas se distribuyan bajo la misma licencia que el original, garantizando que el software y sus modificaciones permanezcan libres. El copyleft utiliza los derechos de autor para asegurar que las libertades se transmitan a todas las versiones modificadas.Ejemplos: GNU General Public License (GPL), GNU Lesser General Public License (LGPL).
Dentro del copyleft existen variantes de intensidad: la GPL (copyleft fuerte) obliga a que cualquier obra derivada completa se libere bajo GPL (a veces llamadas licencias “virales”) y la LGPL (copyleft débil) permite enlazar el software con módulos bajo otras licencias sin que estos deban ser libres.
Todas estas licencias están reconocidas por la FSF como licencias de software libre. Para una lista completa, puede consultarse: Licencias de software libre - GNU Project
El desarrollo colaborativo de software libre se apoya en diversas plataformas y servicios que facilitan el alojamiento del código, el seguimiento de problemas y la colaboración entre equipos, como:
- GitHub, plataforma que aloja millones de repositorios de software libre y de código abierto, aunque es propietaria de Microsoft.
- GitLab, alternativa que ofrece una versión comunitaria de código abierto que puede instalarse en servidores propios y que aloja cientos de miles de proyectos.
- Codeberg (Forgejo), como alternativa ética a las plataformas comerciales (que explotan el código alojado u ofrecen servicio a organizaciones militares), destaca Codeberg, una instancia pública del software libre Forgejo gestionada por la organización sin ánimo de lucro Codeberg e.V. Con una adopción creciente en Europa, especialmente en proyectos de administraciones públicas y entornos académicos, representa una apuesta por la soberanía tecnológica.
- Software Heritage, sin ser una herramienta de colaboración la iniciativa de la UNESCO permite archivar y preservar todo el código fuente disponible públicamente, garantizando su conservación a largo plazo como patrimonio científico y cultural, archivar y preservar todo el código fuente disponible públicamente, garantizando su conservación a largo plazo como patrimonio científico y cultural.
Sobre estas plataformas (u otras que sería largo mencionar), residen proyectos emblemáticos de software libre que cualquiera puede usar, explorar y modificar y que, por ello, son ampliamente utilizados en investigación y otros ámbitos como:
- GNU/Linux, sistema operativo completo (núcleo Linux más herramientas GNU) que constituye la base de muchas infraestructuras científicas.
- Navegador web Mozilla Firefox, navegador que promueve la privacidad y la web abierta.
- Sistema de gestión de contenidos WordPress, herramienta que impulsa casi la mitad de los sitios web de internet.
Del mismo modo, existen proyectos de software libre diseñados específicamente para dar soporte a la investigación y la comunicación científica.
Adoptar y producir software libre en el entorno académico aporta numerosos beneficios, directamente alineados con los principios de la ciencia abierta:
- Soberanía tecnológica: las instituciones mantienen el control sobre sus herramientas y sus datos de investigación, sin quedar atadas a proveedores o licencias restrictivas.
- Transparencia y reproducibilidad: al poder examinar el código fuente, otros investigadores pueden verificar los métodos computacionales, reproducir los resultados y detectar posibles errores.
- Reutilización y colaboración: el software libre puede ser adaptado y mejorado por la comunidad, evitando reinventar la rueda y fomentando la colaboración entre grupos.
- Visibilidad e impacto: compartir el software desarrollado permite que otros lo citen, aumentando el reconocimiento del trabajo y facilitando nuevas colaboraciones interdisciplinares.
- Sostenibilidad: las comunidades en torno al software libre contribuyen a su mantenimiento y evolución, reduciendo la carga individual y los costes a largo plazo.
- Ahorro de esfuerzos: disponer de código libre evita duplicar desarrollos y permite concentrar recursos en avanzar el conocimiento.
Sabías que...
- Cada vez más revistas científicas exigen, como parte de sus políticas editoriales, que el código utilizado para generar los resultados sea accesible públicamente bajo una licencia abierta (conocidas como Open Code Policy). Publicar el software con una licencia libre facilita el cumplimiento de estos requisitos y refuerza la credibilidad de la investigación.
- Las agencias evaluadoras de la investigación valoran que las aportaciones presentadas para la obtención de un sexenio incluyan software o código, y que éste suponga una contribución al software libre.