Publishing research software openly: Advice and best practices
On this page, you can find information on how to publish research software openly. You can read about what to keep in mind when writing code, how to prepare your software for publication, where to publish, how to select a license, and how to make your software comprehensible, reusable and citeable.
Research software can be code used for generating, cleaning, analysing or visualising data. It can also be implementations of models, workflows, or software packages. Text files written in programming languages are called source code. Source code files in programming languages such as R and Python are sometimes referred to as scripts.
Even if your code was not originally written with the intention of being read or used by others, publishing it openly can still be valuable. Read more in this Nature article by Nick Barnes:
Reasons for publishing research software openly
There are many advantages to publishing research software developed within a research or environmental monitoring and assessment (EMA) project openly:
- By publishing and archiving software in a good way, it will be safely and securely preserved for the future.
- You and others can refer to the software with persistent links and also cite it in scientific publications.
- Well-documented code serves as good descriptions of methods and workflows, facilitating for others to understand them.
- You enable the validation and reproduction of scientific results.
- Publication with version control makes it easier for both you and others to reuse or further develop the code.
- You are able to meet requirements or recommendations on open sharing of code and data from journals or funders.
Things to consider when publishing research software
- When you publish research software, it needs to be understandable and reusable by others. Use good coding practices from the start.
Do you need help?
Learn more about good coding practice
- A Guide to Reproducible Code (pdf) from British Ecological Society (2019)
- Ten simple rules for documenting scientific software. Published in PLoS Comput Biol by Benjamin D. Lee (2018)
- Best Practices for Coding, Organization, and Documentation from MIT Communication Lab.
Contact
-
SLU's data management support for research and environmental assessment