softwaresaved / fuji

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

[Feature]: [FRSM-17] Does the software include provenance information that describe the development of the software? #17

Open karacolada opened 7 months ago

karacolada commented 7 months ago

D5.2 p22+p31

Detailed Description

Good provenance metadata clarifies the origins and intent behind the development of the software, and establishes authenticity and trust. As a type of metadata this overlaps with the metadata called for in guiding principles F2 and F4.

Domain-agnostic comments

It is hard to check the relevance / correctness of this information, but it is possible to automatically check for existence.

It may also be necessary to record information about the way that the software has been developed, such as the development environment used. The methodology for building the software is tested in FRSM-13.

CESSDA comments

Git repositories include a commit history as a matter of course. CESSDA uses git repos on GitHub, and uses a branching model where each branch is prefixed with the issue tracker ticket number that it addresses.

Context

R1.2: Software is associated with detailed provenance.

Possible Implementation

domain-agnostic

requirements Software source code repository / forge
method Check the development metadata available from the code repository / forge for the software
essential The software source code repository / forge includes a commit history
important The software source code repository links commits to issues / tickets
useful The software project uses other tools to capture detailed machine readable provenance information.

CESSDA

requirements Software source code repository
method Check the commit history of the code repository
essential Code repository contains commit messages
important Code that addresses an issue is developed in a branch prefixed with the issue number.
useful Links to Pull Requests are included in issue tracker tickets.
karacolada commented 1 month ago

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