softwaresaved / fuji

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

[Feature]: [FRSM-05] Does the software include development metadata which helps define its status? #6

Open karacolada opened 7 months ago

karacolada commented 7 months ago

D5.2, p15+p25

Detailed Description

Software requires descriptive metadata to support indexing, search and discoverability.

Domain-agnostic comments

There are many forms of guidance and community standards for structuring development metadata, such as RepoStatus, Software Release Practice HOWTO, Make a README, and AboutCode. It is still difficult to check all descriptive metadata around development and status as it is often provided in an unstructured form; machine-readable semantic metadata schema are available but not widely used for this purpose (e.g. RepoStatus, Semantic Versioning) or language specific (e.g. Trove Classifiers).

CESSDA comments

Some of this metadata is machine readable but requires interpretation. For CESSDA, active status would be defined as there being a recent release (release date) and that it is maintained (recent commits).

Context

F2: Software is described with rich metadata. R1: Software is described with a plurality of accurate and relevant attributes. R3: Software meets domain-relevant community standards.

Possible Implementation

domain-agnostic

requirements Software source code, Software identifier
method Check if the software includes its own software identifier, and that the identifier resolves to that software.
essential Does the software include an identifier in the README or citation file?
important Does the identifier resolve to the same instance of the software?
useful n/a

CESSDA

requirements Software source code in repository
method Check the README and CHANGELOG files for development status indicators
essential The README and CHANGELOG must be up to date. The README contains release details, version details, links to documentation as described in the EURISE Network Technical Reference.
important Version numbering follows Semantic Versioning 2.0.0 and pre-release versions may be denoted by appending a hyphen and a series of dot separated identifiers immediately following the patch version
useful n/a
karacolada commented 1 month ago

Skeleton evaluator: https://github.com/softwaresaved/fuji/blob/1778e730c80852f691e135a1b288bc2796914c46/fuji_server/evaluators/fair_evaluator_development_metadata.py#L10