Reference and identification
Objective
To ensure that research software projects, modules, versions and source code artifacts can be precisely identified and referenced.
Recommendations
RSMD-3.1
Essential ☆☆☆ Versioning – provide information about software versions to ensure clear identification when referencing or citing software. The usage of a version control system facilitates tracking versions.
RSMD-3.2
Essential ☆☆☆ Intrinsic identifiers – use existing well-established intrinsic identifiers (e.g SWHID) to specifically identify software artifacts (e.g code-fragment, file, directory, revision, release) and dependencies.
RSMD-3.3
Essential ☆☆☆ Extrinsic identifiers – use existing well-established extrinsic identifiers (e.g DOI, HAL-ID, Wikidata entity) to identify software version, software module or software project.
See defintions for more information.
RSMD-3.4
Useful ☆ If applicable, use a versioning scheme that is accepted in the relevant community (semantic versioning, calendar versioning, git tags, etc.).
RSMD-3.5
Important ☆☆
Granularity level – when identifying software artifacts use appropriate granularity level, as shown in figure 4 also visible below, depending on the use case (see Appendix C: Metadata use case collection in deliverable).
Figure from: Research Data Alliance/FORCE11 Software Source Code Identification WG, Allen, A., Bandrowski, A., Chan, P., Cosmo, R. D., Fenner, M., Garcia, L., Gruenpeter, M., Jones, C. M., Katz, D. S., Kunze, J., Schubotz, M., & Todorov, I. T. (2020). Software Source Code Identification. Use cases and identifier schemes for persistent software source code identification (V1.0). https://doi.org/10.15497/RDA00053