A software object may be assigned with a globally unique identifier such that it can be referenced unambiguously by humans or machines. Globally unique means an identifier should be associated with only one resource at any time. Examples of unique identifiers of data used for software include: Digital Object Identifier (DOI), the Handle System, Uniform Resource Identifier (URI) such as URL and URN, and Software Heritage Identifiers (SWHID). A data repository may assign a globally unique identifier to your data or metadata when you publish and make it available through its curation service.
Domain-agnostic comments
The type of identifier assigned will often depend on the type of repository that the software is deposited in, for example a URL for GitHub, DOI for Zenodo, or SWHID for Software Heritage. Note that URLs are not guaranteed to be persistent and by default GitHub only provides permalinks by request (GitHub Docs). It is not practical to directly test the global uniqueness or persistence of any individual identifier, therefore this metric proposes testing for an identifier scheme that provides guarantees of persistence.
The suitability of an identifier scheme may depend on the domain. If software metadata is available as a separate record, this should be FAIR (see FRSM-08).
CESSDA comments
See the Software Publication of open source components as per CESSDA’s Publication Policy & Procedures (CESSDA, 2020).
As described in the CESSDA ERIC Persistent Identifier Policy, CESSDA tools and services accept: DOI, Handle (including ePIC-handles), URN, ARK (fulfilling principle 10 of the CESSDA Data Access Policy).
Context
F1: Software is assigned a globally unique and persistent identifier.
R3: Software meets domain-relevant community standards.
Possible Implementation
domain-agnostic
requirements
software identifier, list of globally unique identifier schemes
method
Check if the software identifier is based on a suitable identifier scheme, and test it can be resolved.
essential
Software has a human and machine-readable unique identifier that is resolvable to a machine-readable landing page and follows a defined unique identifier syntax.
important
Identifier uses an identifier scheme that guarantees globally uniqueness and persistence.
useful
Identifier scheme is commonly used in the domain.
CESSDA
requirements
Software releases of open source components to be published in Zenodo, DOI handle
method
Check that an established identifier scheme from the CESSDA Software Publication polices is used to identify software.
essential
A version-dependent DOI must be added in the repository’s README as the recommended citation.
important
Releases use the Semantic Versioning 2.0.0 notation.
D5.2, page 13, 23
Detailed Description
A software object may be assigned with a globally unique identifier such that it can be referenced unambiguously by humans or machines. Globally unique means an identifier should be associated with only one resource at any time. Examples of unique identifiers of data used for software include: Digital Object Identifier (DOI), the Handle System, Uniform Resource Identifier (URI) such as URL and URN, and Software Heritage Identifiers (SWHID). A data repository may assign a globally unique identifier to your data or metadata when you publish and make it available through its curation service.
Domain-agnostic comments
The type of identifier assigned will often depend on the type of repository that the software is deposited in, for example a URL for GitHub, DOI for Zenodo, or SWHID for Software Heritage. Note that URLs are not guaranteed to be persistent and by default GitHub only provides permalinks by request (GitHub Docs). It is not practical to directly test the global uniqueness or persistence of any individual identifier, therefore this metric proposes testing for an identifier scheme that provides guarantees of persistence. The suitability of an identifier scheme may depend on the domain. If software metadata is available as a separate record, this should be FAIR (see FRSM-08).
CESSDA comments
See the Software Publication of open source components as per CESSDA’s Publication Policy & Procedures (CESSDA, 2020). As described in the CESSDA ERIC Persistent Identifier Policy, CESSDA tools and services accept: DOI, Handle (including ePIC-handles), URN, ARK (fulfilling principle 10 of the CESSDA Data Access Policy).
Context
F1: Software is assigned a globally unique and persistent identifier. R3: Software meets domain-relevant community standards.
Possible Implementation
domain-agnostic
CESSDA