Author interview: Nine best practices for software repositories and registries

PeerJ talks to Daniel Garijo about the recently published PeerJ Computer Science article Nine best practices for research software registries and repositories. The article is featured in the PeerJ Software Citation, Indexing, and Discoverability Special Issue.

Can you tell us a bit about yourself?

This work would not have been possible without the SciCodes community, the participants of the 2019 Scientific Software Registry Collaboration Workshop and the FORCE11 Software Citation Implementation Working Group. It all started when a task force of that working group undertook the initial work that is detailed in the paper, and then formed SciCodes to continue working together. We are a group of software enthusiasts who maintain and curate research software repositories and registries from different disciplines, including geosciences, neuroscience, biology, and astronomy (currently more than 20 resources and 30 worldwide participants are members of the initiative)

Can you briefly explain the research you published in PeerJ?

In examining the literature, we found best practices and policy suggestions for many different aspects of science, software, and data, but none that specifically addressed software repositories and registries. Our goal was to examine our own and other similar resources, share practices, discuss common challenges, and develop a set of basic best practices for these resources.

What did you find? and how do these practices have such an impact?

We were surprised to find a lot of diversity between our resources. We expected that  our  domains, missions, and types of software in our collections would be different but we expected more commonality in the software metadata our  different resources collect! We had far  fewer fields in common than expected. For example, some resources might collect information on what operating system a software package runs on, other resources may not. In retrospect, this makes sense, since disciplines have different goals and expectations for sharing and reusability  of research software and different heterogeneities (or not) in technology used.

The practices outlined in our work aim to strengthen registries and repositories by including enacting policies that make our resources more transparent to our users and encourage us to think more about the long-term availability of software entries. They also provide a way for us to work cooperatively to establish a way for our metadata to be searched, as software that is useful in one field may have application in another.

Our proposed practices are already having an impact. They have helped member registries audit their practices and start enacting policies and procedures to strengthen their practices. By doing so, they encourage long-term success for their communities. Through this paper, we hope that other registries find these useful in improving their practices and just maybe, contribute to the conversation by joining SciCodes.

What kinds of lessons do you hope your readers take away from the research?

We hope the proposed practices will help new and existing resources consider key aspects of their maintainability, metadata and future availability. We expected that the process of converging in common practices would be easy but developing policies and practices that cover a wide range of disciplines and missions was challenging. We are grateful to our funders that we could convene such a great group of experts together and of course, to the experts for contributing their time in helping make our initial draft better.

How did you first hear about PeerJ, and what persuaded you to submit to us?

An editor of this special issue on software citation, indexing and discoverability (https://peerj.com/special-issues/84-software)

mentioned that this would be an interesting paper for the community. While not fitting neatly into this category, we felt that workshop discussions and resulting best practices contribute substantially to the software citation ecosystem as repositories and registries are a mechanism to promote discovery, reuse, and credit for software.