Software Hash Identifier
Sous-classe de | norme ISO |
---|---|
Usage | logiciel |
Nom court | SWHID |
Site officiel | https://www.swhid.org/ |
Le Software Hash Identifier (SWHID, littéralement « identifiant de hachage logiciel ») 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[1], compatible avec des systèmes de gestion de versions tels que Git.
Un SWHID peut pointer vers différents composants ou versions du code source d’un logiciel[1]. Le SWHID est un identifiant intrinsèque en ce sens qu’il décrit le logiciel uniquement à partir de ses propriétés intrinsèques, sans dépendre d’un registre externe[2].
Format
[modifier | modifier le code]La spécification SWHID permet d’identifier différents composants du code source d'un logiciel. Les types d’objets liés à la version d'un logiciel sont étiquetés snapshot, release ou revision ; un répertoire de fichiers et de sous-répertoires peut être identifié directory ; et une portion spécifique de code source d’une version donnée peut être étiquetée content.[1] Ceux-ci sont reliés entre eux dans un graphe orienté acyclique de Merkle[3].
L’identifiant suit la syntaxe suivante[4] :
swh:<scheme_version>:<object_type>:<object_id>[;qualifiers]
Exemples
[modifier | modifier le code]Selon le Centre national de la recherche scientifique (CNRS), le code source archivé avec des SWHID comprend les codes sources de la navigation d’Apollo 11 et du navigateur NCSA Mosaic[5].
La version 3.0 du noyau Linux, publiée en juillet 2011, porte le SWHID suivant[6] :
swh:1:dir:df32c75242bf8d797ccd43af8ce8e294f35cd8fd
Standard
[modifier | modifier le code]Le SWHID est une norme ouverte sous licence Community Specification License[7].
Le SWHID a été formalisé en tant que norme ISO 18670 en avril 2025[8].
Création et Histoire
[modifier | modifier le code]Le SoftWare Hash IDentifier a été développé par Software Heritage. Les archives de Software Heritage, identifiées par leurs SWHID, ont été publiquement mises à disposition à partir de 2018[5].
En 2020, les SWHID étaient utilisés pour près de neuf milliards de fichiers de code source[5], appelés artéfacts[4]. Les SWHID sont intégrés aux dépôts de recherche tels que HAL, Zenodo et le catalogue français des logiciels libres de la recherche académique.[9] Cet identifiant peut être utilisé par des gestionnaires de paquets. Guix utilise les SWHID pour récupérer le code source depuis une archive logicielle lorsque celui-ci n’est pas disponible à son URL d’origine[10].
L’acronyme SWHID faisait initialement référence aux « Software Heritage Identifiers » utilisés pour cataloguer les artefacts logiciels dans les débuts de l’archive Software Heritage[11]. Il a ensuite évolué en tant que norme ouverte par un groupe de travail dédié[12] et a été normalisé ISO en avril 2025 sous le nom plus générique « Software Hash Identifier »[13].
Télécom Paris a salué cette normalisation ISO la qualifiant d’avancée majeure pour l’infrastructure numérique mondiale, assurant la traçabilité des logiciels affectés par des vulnérabilités[14]. L'UNESCO a déclaré que le SWHID est utile pour la reproductibilité et l’accessibilité à long terme des logiciels[15].
Références
[modifier | modifier le code]- Sabrina Granger, Baptiste Mélès, Frédéric Santos, Préserver et rendre identifiables les logiciels de recherche avec Software Heritage (document), , [lire en ligne].
- ↑ (en) « Intrinsic and Extrinsic identifiers », sur Software Heritage (consulté le )
- ↑ Roberto Di Cosmo, Morane Gruenpeter et Stefano Zacchiroli, « Identifiers for Digital Objects: the Case of Software Source Code Preservation », {{Article}} : paramètre «
périodique
» manquant, (DOI 10.17605/OSF.IO/KDE56, lire en ligne). - Axel Thévenet, SWHID: Tracking past software for future humans (document), , [lire en ligne].
- Le CNRS apporte son soutien à Software Heritage (document), CNRS, , [lire en ligne].
- ↑ (en) « Release v3.0 du dépôt torvalds/linux », sur Software Heritage (consulté le )
- ↑ (en) « Section copyright de la spécification SWHID v1.2 » (consulté le )
- ↑ (en) « ISO/IEC 18670:2025 », sur ISO (consulté le )
- ↑ (en) « À propos du site », sur Catalogue des logiciels libres de la recherche académique (consulté le )
- ↑ « Identifying software », sur Blog GNU Guix,
- ↑ (en) « SoftWare Hash IDentifier (SWHID) », sur Software Heritage (consulté le )
- ↑ (en) « SWHID working group » (consulté le )
- ↑ (en) « ISO/IEC 18670:2025 », sur ISO (consulté le )
- ↑ Une avancée significative pour l'infrastructure numérique mondiale : La norme ISO/IEC 18670 est désormais officielle (document), Télécom Paris, , [lire en ligne].
- ↑ Archiving open software as human heritage (document), UNESCO, , [lire en ligne].