Four Freedoms

Drawing of the Titanic
RMS Titanic


The underlying goal of the TITR workshops is to enable researchers to communicate more effectively. In the 21st century, scientific data is managed and analyzed by computers and often presented via the Internet. Computer software has become the fundamental language of science. Proprietary languages such as SAS and SPSS minimize the number of people who can run, understand, and leverage scientific code.

Tools like R democratize the scientific process. Imagine a world in which the code used to write an analysis is as accessible and open as the research publication itself. The Free Software Foundation’s Four Freedoms are a good way to understand the need for open scientific code that can be understood or run by all interested parties.

Free Software’s Four Freedoms

The logic and ideology of the Free and Open Source Software (FOSS) movement is predicated upon four “software freedoms”. These freedoms are:

  • Freedom 0: The freedom to run the program for any purpose
  • Freedom 1: The freedom to study how the program works, and change it to make it do what you wish
  • Freedom 2: The freedom to redistribute copies so you can help your neighbor
  • Freedom 3: The freedom to improve the program, and release your improvements (and modified versions in general) to the public, so that the whole community benefits

Free Research?

I challenge you to apply this same logic to scientific code. Imagine a world in which data (when possible) and code (always) is shared.

  • Freedom 0: The freedom to reproduce the analysis for any purpose
  • Freedom 1: The freedom to study how the analysis works, and change it to make it do what you wish
  • Freedom 2: The freedom to redistribute copies so you can help your neighbor
  • Freedom 3: The freedom to improve the analysis, and release your improvements (and modified versions in general) to the public, so that the whole community benefits

Research, especially research funded by public funds, should be accessible and reproducible by anyone in the community. There are some specific domains, such as health care and child welfare where privacy clearly trumps the need for transparency.

The code used in analyses of public programs contains no privileged or confidential information. Code doesn’t have PHI! Therefore, the code should be open and available under an appropriate copy-left license. This logic runs in the same direction as Open Data sites, but open data without open code is harder for the public to use and does not give the public insight into the practices and beliefs of the institutions governing them.