General Metadata Recommendations

Objective

To ensure the collection, curation, and maintenance of research software metadata, the following general recommendations are suggested for end users, including researchers, software engineers, curators, and institution staff.

Recommendations

RSMD-1.1

Essential ☆☆☆

Provide embedded information about software in the code itself as a metadata file (intrinsic metadata) to ensure it is kept and maintained alongside the software. Can be applied to open and proprietary software.

RSMD-1.2

Essential ☆☆☆

Issue a metadata record (extrinsic metadata) about the source code in a publicly available infrastructure to benefit from the infrastructure metadata service (such as citation exports and search functionalities):

  • scholarly repository (e.g HAL, Zenodo, etc.)
  • publisher (e.g IPOL, eLife, Dagstuhl, etc.)
  • registry/ aggregator (e.g ASCL, swMath, WikiData, DataCite, bio.tools, etc.)
  • directory (e.g eScience RSD, Helmholtz RSD, etc.)

RSMD-1.3

Important ☆☆

Use a version control system to track changes in the source code development and facilitate archival. If an online platform is used, capture the URL in a CodeRepository property.

RSMD-1.4

Useful ☆

Follow community standards when developing software: An example can be language-specific standards and best practices (e.g. DESCRIPTION file in R, see also https://swcarpentry.github.io/r-novice-inflammation/08-making-packages-R.html).

RSMD-1.5

Useful ☆

Keep the machine readable intrinsic metadata information in a single source file, and automatically generate other file formats, to avoid misalignment and duplication (e.g. generate citation.cff from codemeta.json) wherever possible.