Free software
Open science is often represented as an umbrella that encompasses various practices aimed at making scientific knowledge more accessible, transparent, and collaborative. It includes everything from open access to research publications and data (FAIR principles) to open education and open methodologies. Under this same umbrella, free software has established itself as a fundamental pillar of contemporary scientific practice.
Free software, defined by the four essential freedoms (to use, study, modify, and distribute), acts as a necessary condition for the transparency, reproducibility, and reuse of knowledge. By allowing computational tools and methods to be examined, validated, and adapted, it directly contributes to the robustness and verifiability of research.
According to the UNESCO Recommendation on Open Science:
"Open scientific knowledgealso refers to the possibility of opening research methodologies and evaluation processes. Users therefore gain free access to the following: (...)
d. Open source software and source code that generally include software whose source code is made publicly available, in a timely and user-friendly manner, in human- and machine-readable and modifiable format, under an open license that grants others the right to use, access, modify, expand, study, create derivative works and share the software and its source code, design or blueprint. […]"
In line with these principles, free software guarantees the freedoms necessary for scientific knowledge to be truly accessible, verifiable, and reusable. Being able to study, modify, and share software not only allows for the “co-construction” of open and transparent digital infrastructures, but also facilitates the scrutiny of methods, the validation of results, and the adaptation of tools to new needs. All of this contributes to a more robust and collaborative science.
It is worth remembering that the free software movement appeared earlier than open science. Its history has inspired many of the current practices of transparency, collaboration, and community governance that we now consider essential in the scientific realm.
The development and maintenance of free software depend on community infrastructures and dynamics that reinforce its sustainability and sovereignty. These practices allow for the reuse of knowledge, avoid duplication of effort, and increasingly recognize software as a valuable research output in its own right, deserving of proper sharing and preservation.
Free software
Free software is software that respects the freedom of users and the community. In practical terms, this means that users are free to run, copy, distribute, study, modify, and improve the software. Access to the source code is a prerequisite to exercising these freedoms.
The concept, promoted by the Free Software Foundation (FSF), is not primarily technical, but ethical: it holds that control over software should be in the hands of its users, not its developers or distributors.
The four essential freedoms
For a program to be considered free software, it must guarantee the following freedoms:
- Freedom 0: Use the program for any purpose (personal, academic, commercial, etc.).
- Freedom 1: Study how the program works and adapt it to your own needs. This implies having access to the source code.
- Freedom 2: Distribute copies of the program to help other users.
- Freedom 3: Improve the program and release those improvements to the public, so that the entire community can benefit. This also requires access to the source code.
A program is free software if its users have all of these freedoms.
(Source: Free Software Foundation - https://www.fsf.org/)
For software to be free, it must be distributed under a license that explicitly guarantees the four freedoms. There are several licenses that meet this requirement, and the choice of license determines how modifications can be reused and shared.
Free software licenses can be grouped into two main categories:
- Permissive licenses: Allow software to be modified and redistributed under different terms (including proprietary ones), as long as the attribution to the original authors and the disclaimer are preserved. They are compatible with projects that want to maximize adoption, even in non-free environments. Examples: MIT, Apache 2.0, BSD.
- Copyleft licenses: These require that derivative works be distributed under the same license as the original, which ensures that the software and its modifications remain free. Copyleft uses copyright to ensure that these freedoms are passed on to all modified versions. Examples: GNU General Public License (GPL), GNU Lesser General Public License (LGPL).
Within copyleft, there are different levels of intensity: the GPL (strong copyleft) requires that any complete derivative work be released under the GPL (sometimes called “viral” licenses), while the LGPL (weak copyleft) allows software to be linked with modules under other licenses without those modules having to be free.
All of these licenses are recognized by the FSF as free software licenses.
For a complete list, see: Free software licenses - GNU Project
Collaborative free software development depends on various platforms and services that facilitate code hosting, issue tracking, and collaboration between teams, such as:
- GitHub, a platform that hosts millions of free and open-source software repositories, although it is owned by Microsoft.
- GitLab, an alternative that offers an open-source community edition that can be installed on your own servers and hosts hundreds of thousands of projects.
- Codeberg (Forgejo), as an ethical alternative to commercial platforms (that exploit hosted code or provide services to military organizations), Codeberg stands out as a public instance of the free software Forge, managed by the non-profit organization Codeberg e.V. With growing adoption in Europe, especially in public sector projects and academic settings, it represents a commitment to technological sovereignty.
- Software Heritage, while not a collaboration tool, is a UNESCO initiative that allows for the archiving and preservation of all publicly available source code, ensuring its long-term conservation as scientific and cultural heritage.
These platforms (and many others too numerous to mention) host flagship free software projects that anyone can use, explore, and modify, and that are therefore widely used in research and other fields, such as:
- GNU/Linux, a complete operating system (the Linux kernel plus GNU tools) that forms the basis of many scientific infrastructures.
- Mozilla Firefox, a web browser that promotes privacy and the open web.
- WordPress, a content management system that powers almost half of all websites on the internet.
Similarly, there are free software projects specifically designed to support scientific research and communication.
The adoption and development of free software in the academic environment offers numerous benefits that are directly aligned with the principles of open science:
- Technological sovereignty: Institutions retain control over their research tools and data, without being tied to restrictive vendors or licenses.
- Transparency and reproducibility: By being able to examine the source code, other researchers can verify computational methods, reproduce results, and detect potential errors.
- Reusability and collaboration: Open-source software can be adapted and improved by the community, avoiding the need to reinvent the wheel and fostering collaboration between groups.
- Visibility and impact: Sharing developed software allows others to cite it, which increases recognition for the work and facilitates new interdisciplinary collaborations.
- Sustainability: Communities around open-source software contribute to its maintenance and evolution, which reduces the individual workload and long-term costs.
- Effort Savings: Having open-source code prevents duplicative development work and allows resources to be focused on advancing knowledge.
Did you know that...
- A growing number of scientific journals require, as part of their editorial policies, that the code used to generate the results be made publicly available under an open license (policies known as Open Code Policy). Publishing the software under a free license facilitates compliance with these requirements and strengthens the credibility of the research.
- Research evaluation agencies value contributions submitted for a sexenio that include software or code, and that this constitutes a contribution to open source software.