Software Archiving Resources for Researchers
The following resources will help you increase the visibility and availability of your work which in turn enables reproducibility and reuse.
What is software?
Here, software is referring specifically to research software. That is, software that has been developed in the course of academic research by you/your lab for any purpose related to specific findings/projects/publications. Examples include: simulation software, computational models, decision support systems, text analysis code, and scripts of all kinds (e.g., Matlab, R, Python, SPSS, etc. scripts dealing with data gathering/cleaning, analysis, visualization/plotting)
Why archive your software?
Archiving code is part of ensuring the complete preservation of scholarship. It is not just the paper that matters. To fully understand, reproduce, and extend the body of research, the associated data and code is needed as well.
In addition, it can increase research efficiency and impact by making it easier for others (and your future self) to understand and reuse the code.
Where to put archival versions of your software?
An archival repository is a place where data and code can safely be stored. It should have statements of how long items will remain available and it should be able to provide persistent and unique identifiers such as DOIs. Much like DOIs for papers, a DOI for your software and data makes it easy to unambiguously identify and cite.
The JHU Data Archive is open to all JHU faculty, students, and, staff to deposit data and code for archiving and sharing purposes. All deposits are assigned a DOI and have redundant copies. Furthermore we are available to provide free assistance in all curation activities in order to increase the visibility and ease of understanding of each deposit.
Apart from the JHU Data Archive, there are other discipline agnostic repositories/archives such as:
How to cite software / make your software citable?
Citing software is important as it gives credit to the effort of the developers. Conversely, by making your software citable (and clearly expressing how it should be cited), it makes it easier for others to give you credit.
- Guidance on determining whether to cite software or not
- How to cite and describe software
- How to cite software in APA style
- Making Your Code Citable – a guide by GitHub
How to license your software openly?
Explicitly attaching a license to your software is very important as it communicates how others may use and reuse it. The following resources will help you select a license.
- Choosing an Open Source License
- choosealicense.com – a simple tool that guides the user to pick an appropriate open source license.
Where to actively develop your software?
Publicly available, discipline agnostic collaborative code development platforms:
Where to publish software?
Apart from traditional research journals, there are journals which aim to recognize the substantial scholarship involved in creating software and are more oriented to describing the software itself, rather than the results generated from it. Some software-specific journals are:
- SoftwareX – aims to acknowledge the impact of software on today’s research practice, and on new scientific discoveries in almost all research domains.
- Journal of Open Research Software (JORS) – features peer reviewed Software Metapapers describing research software with high reuse potential.
- Journal of Open Source Software (JOSS) – an academic journal with a rigorous peer review process that is designed to improve the quality of the software submitted. More information here.
- Software Carpentry lessons – basic lab skills for research computing
- The Software Sustainability Institute is UK-based organization dedicated to research software sustainability and reproducible science
- Many guides are available here
- Educational resources on software and reproducibility by the Berkeley Initiative for Transparency in the Social Sciences (BITSS)
- Chapter 6 of the Manual of Best Practices in Transparent Social Science Research discusses software best practices.
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.