On Thursday, 30th of January 2025, the Berlin and Brandenburg regional chapter of the de-RSE society met at the DLR office in Adlershof. Stephan Druskat gave a talk on Software Citation and the HERMES project. Stephan is one of the original developers of the software citation file format which I blogged about before. Without research software modern research is not possible. It plays an integral role of making data FAIR (Findable, Accessible, Interoperable and Reusable). However, for data to be truly FAIR, associated software needs to adhere to similar principles (see FAIR4RS). For software to become FAIR, it needs to have associated metadata that is both human and machine readable. This is where the citation file format (CFF) comes into play. Research software is a research product just like data and publications. However, just publishing research software on a public repository is missing peer review. The zenodo web service can use CFF to provide an archive of the software with generated DOI. Specialist journals like JORS and JOSS facilitate peer review of the research software. Apart from zenodo the Software Heritage also provides an archive of software.
We had a discussion why a separate standard and web service is required and why package repositories do not support DOIs. Research software is programmed in many different languages, ranging from Fortran to Rust. Each have their own ways of distributing software. Packaging software is a very complex problem. Finally, the majority of published software does not care for DOIs and software publications. These are particularly important and relevant to the scientific communities as they deal in a similar currency as academic papers.
CFF is supported by github. Zenodo can listen to github release events and automatically generate a DOI and archive. This workflow is a little bit limited. A more generic workflow, that also supports gitlab, is provided by the HERMES project. HERMES is a system that automatically extracts metadata from a software project and bundles them up. It includes an optional step for sign-off and curation. Optionally, activity can also be displayed on a dash board.
After the formal talk we had a lively discussion whether there are differences between a normal software engineer and a research software engineer. One of the participants said: I want to be an RSE and not just a physicist. Unsurprisingly, we also talked a lot about AI and genAI in particular.