Software Hash Identifier
Software Hash Identifier
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]. FormatLa 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] ExemplesSelon 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] :
StandardLe 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 HistoireLe 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
AnnexesLien connexeLiens externes |
Portal di Ensiklopedia Dunia