Logiciels de recherche

Les Principes FAIR4RS (FAIR for Research Softwares)

  • Description: lien
  • Comparaison des principes FAIR et FAIR4RS: papier

Préparation des données

  • Il est fortement recommandé d'inclure des meta-données au sein de votre projet pour le décrire au mieux (licence, auteurs, etc): de type CodeMeta et/ou de type DataCite.
  • Un exemple de tutoriel pour leur création est donné ici sur les pages du projet ESCAPE.

Dépôts et archives

Il est important de rappeler qu'une plateforme de développement n'est pas une archive ou un dépôt. Par exemple, la plateforme GitHub ne fournit pas les services de distribution ou d'identification d'une archive telle que conda-forge.
  • Archive universelle: Software Heritage
    • SWH est une archive universelle soutenue par le MESRI (et le CNRS) et le CEA, EOSC, issue du partenariat entre l’INRIA et l’UNESCO en 2017 (lien).
    • SWH fournit un identifiant persistant (PID) qui peut identifier chaque artefact de code source avec intégrité, appelé SWHID. Les SWHID sont des identifiants intrinsèques qui sont intimement liés à l'objet désigné, ils n'ont pas besoin d'un registre, seulement d'un accord sur une norme pour les résoudre.
    • SWH est inter-connecté à HAL, ce qui permet un référencement unique pour citer votre logiciel et pour suivre son utilisation.
    • Tutoriel de dépôt dans SWH/HAL : ici.
  • Dépôt européen: Zenodo
    • Le CERN, partenaire d'OpenAIRE et pionnier de l'open source, de l'accès ouvert et des données ouvertes, a créé en 2013 un dépôt de données de recherche à diffusion ouverte pour la préservation et une mise à disposition de contenus de recherche, éducatifs et informatifs.
    • La durée de vie de ce dépôt est celle du CERN même si aucune promesse n'est faite au-delà de 20 ans. Cela en fait évidement un dépôt européen sûr sur le long terme.
    • Un DOI est délivré à chaque enregistrement publié sur Zenodo.
    • Tutoriel de dépôt dans Zenodo: ici.

Ré-utilisation et reproductibilité

Archiver un logiciel ne suffit pas encore pour s'assurer que celui soit utilisable sur le long terme ou re-produise toujours les mêmes résultats. En effet, les méta-données actuelles n'imposent pas de donner par exemple les options exactes de compilations ou bien la liste des versions des librairies externes. Et même si ces données existaient, l'archive du logiciel en question ne contient pas les librairies (ou compilateurs) en question, qui peuvent ainsi être inaccessibles.
À ce jour, seule la volonté des responsables de logiciel permet à ce jour d'atteindre cet objectif de reproductibilité à long terme. Il leur faudra inclure le plus de méta-données possibles dans leur dépôt, de stocker des 'environnements virtuels' de travail dans des dépôts tels que conda-forge, docker-hub ou Guix (même si leur longévité n'est pas assurée), etc.