Free software and science
Writing about web page http://www.gnu.org/philosophy/
This might sound like a rather unpromising title for a blog post by a veterinary epidemiologist, but I think the issues surrounding free software are relevant for all of us who use computers to do science. The question of whether to use free software or proprietary software is particularly acute for modellers, and other people whose published work contains the output of computer programs.
Free software means more than just software you don’t pay for. The classic analogy is that it’s free as in “free speech”, rather than just as in “free beer”. Specifically, free software gives its users four key freedoms:
- The freedom to use the software for any purpose
- The freedom to share the software with others
- The freedom to study the workings of the software
- The freedom to improve the software, and share those improvements with others
The latter two are particularly relevant to science. If I want to validate the results of your study, a good way would be to inspect the software you used to generate those results; not simply that given the same inputs, it produces the same outputs, but that the methods it uses to generate those outputs are correct. It’s very easy to get odd corner-cases wrong, and those mistakes might go otherwise un-noticed. Even if they don’t affect the study’s findings, they might be worth fixing before doing any further work!
Science is, at its best, about a community of scholars working to improve our understanding of the world. If scientists use free software, and make it available along with their research findings, then other scientists can build upon their work, avoid unnecessary reduplication of effort, and collaborate more effectively. It seems to me that free software should be the gold standard for scientific computing. If you write software as part of your research, please consider releasing it to the scientific community under a free licence such as the GNU GPL; if you are considering what software to use for a particular research project, consider carefully if there is a piece of free software you could use (with modifications if necessary). Not because you’ll spend less of your grant on software costs, but because it’s the moral and socially responsible thing to do!