Pour aller plus loin, consulter Granger et al. (2024), un tutoriel disponible sur le site de Programming Historian en Français.
Pourtant, des données et des codes ouverts ont beaucoup moins d’utilité lorsqu’on ne dispose pas des logiciels permettant de reproduire les analyses :
Un thème commun est l’importance croissante accordée à la « reproductibilité », qui fait l’objet de discussions dans de nombreuses disciplines […]. Cela dépasse la question des données, et nécessite que les logiciels et les pipelines d’analyse soient publiés dans un état utilisable conjointement aux articles. — (Davenport et al., 2020)
Software Heritage est une initiative soutenu par l’Inria et l’Unesco, qui a pour but d’archiver exhaustivement le patrimoine mondial logiciel de l’humanité.
Pour cela, ses trois missions sont :
Les coûts d’infrastructure sont élevés au vu du matériel à archiver, avec (en 2025) :
De plus, depuis 2025, SWH dispose de plusieurs miroirs mondiaux.
Software Heritage collecte le code source de deux manières différentes : principalement par un processus automatisé, complété par une possibilité d’archivage manuel à la demande de tout utilisateur (pas nécessairement de l’auteur du logiciel !).
En complément, il est également possible de demander manuellement l’archivage d’un nouveau dépôt, ou la mise à jour d’un dépôt existant.
Pour que le logiciel archivé soit correctement « découvrable » par la suite, il est nécessaire que des métadonnées soient indiquées de manière structurée.
DESCRIPTION pour un package R, le fichier Project.toml pour un package Julia, …).codemeta.json à la racine du dépôt. De tels fichiers peuvent être créés aisément avec CodeMeta generator.En plus du contenu déjà mentionné, l’archive propose aussi notamment :
Lien vers l’archive publique SWH
L’archive possède son moteur de recherche intégré, qui permet notamment de rechercher un projet :
Le SWHID (Software Hash Identifier) est un identifiant pérenne utilisé pour identifier de manière unique un morceau de code source logiciel et sa version.
Le SWHID est une norme similaire au DOI mais spécifiquement conçue pour le code source des logiciels, compatible avec des systèmes de gestion de versions tels que Git.
Par rapport à la publication de données (un contenu plus « figé »), les logiciels ont des besoins spécifiques :
Un SWHID est assimilable à un « DOI pour du logiciel », et répond donc aux besoins spécifiques évoqués précédemment.
Un SWHID ne pointe pas seulement vers un logiciel, mais peut pointer vers :
Malgré une offre en partie commune en ce qui concerne le logiciel (archivage pérenne et citabilité du code archivé), Software Heritage et Zenodo répondent initialement à des logiques différentes :
| Fonctionnalité | Software Heritage | Zenodo |
|---|---|---|
| Cas d’usage | Code source uniquement | Généraliste : données, rapport, logiciels, … |
| Collecte | Automatisée | Téléversement manuel depuis un ZIP |
| Objet citable | Historique complet | Version ou snapshot précis |
| Identifiant | SWHID | DOI (plus général, moins fin) |
Il est néanmoins possible (et parfois pertinent) d’utiliser les deux pour le même projet. De plus, depuis fin 2024, tout logiciel (publiquement accessible) déposé sur Zenodo est automatiquement archivé sur SWH. Les deux plateformes sont donc désormais très bien interconnectées.
Dans le cadre du dernier Plan National pour la Science Ouverte, un Catalogue des logiciels libres de la recherche académique est en cours de mise en place.
Le projet OSPO-RADAR a pour objectif de compléter le catalogue des logiciels de recherche, en facilitant et en automatisant encore leur référencement.
Créé par Frédéric Santos