softwaresaved / fuji

FAIRsFAIR Research Data Object Assessment Service
MIT License
0 stars 4 forks source link

[Feature]: [FRSM-01] Does the software have a globally unique and persistent identifier? #1

Open karacolada opened 1 year ago

karacolada commented 1 year ago

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

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.
useful Only Major and Minor releases are assigned DOIs.
karacolada commented 10 months ago

Assigning to principle F1 as this seems to be the more relevant and I can only choose one in f-uji.

karacolada commented 5 months ago

Evaluator skeleton: FAIREvaluatorUniquePersistentIdentifierSoftware

https://github.com/softwaresaved/fuji/blob/1778e730c80852f691e135a1b288bc2796914c46/fuji_server/evaluators/fair_evaluator_unique_persistent_identifier_software.py#L11