Top Qs
Chronologie
Chat
Contexte
Software Hash Identifier
mécanisme d'identification de logiciels De Wikipédia, l'encyclopédie libre
Remove ads
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].
Remove ads
Format
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
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
Remove ads
Standard
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
Résumé
Contexte
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 »[8].
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[13]. L'UNESCO a déclaré que le SWHID est utile pour la reproductibilité et l’accessibilité à long terme des logiciels[14].
Références
Annexes
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads