El identificador hash de software ( SWHID ) es un identificador persistente que se utiliza para identificar de forma única una pieza particular de código fuente de software y su versión. SWHID es un estándar similar al DOI , pero está diseñado específicamente para el código fuente de software, [ 1 ] compatible con software de control de versiones como git .
Un SWHID puede utilizarse para señalar diferentes componentes o versiones del código fuente de un paquete de software. [ 1 ] El SWHID es un identificador intrínseco en el sentido de que describe el software basándose únicamente en sus propiedades intrínsecas, sin depender de un registro externo. [ 2 ]
Formato
La especificación SWHID permite identificar diferentes componentes del código fuente del software. Los tipos de objetos relacionados con la versión del software se etiquetan como "instantánea", "versión" o "revisión"; se puede identificar un "directorio" de archivos y posiblemente subdirectorios; y una parte específica de una versión específica del código fuente se puede etiquetar como "contenido". [ 1 ] Estos se relacionan entre sí en un grafo acíclico dirigido de Merkle . [ 3 ]
El identificador tiene la siguiente sintaxis: [ 4 ]
swh : <versión_esquema> : <tipo_objeto> : <id_objeto>[;calificadores]Ejemplos
Según el Centro Nacional Francés de Investigación Científica (CNRS), el código fuente del software archivado con los SWHID incluye los códigos fuente de la navegación del Apolo 11 y del navegador web Mosaic del NCSA . [ 5 ]
La versión 3.0 del kernel de Linux, publicada en julio de 2011, tiene el siguiente SWHID: [ 6 ]
swh:1:dir:df32c75242bf8d797ccd43af8ce8e294f35cd8fd El siguiente ejemplo, extraído de la documentación de especificación, [ 7 ] ilustra el uso de múltiples calificadores en un SWHID:
swh:1:cnt:4d99d2d18326621ccdd70f5ea66c2e2ac236ad8b;origin=https://gitorious.org/ocamlp3l/ocamlp3l_cvs.git;visit=swh:1:snp:d7f1b9eb7ccb596c2622c4780febaa02549830f9;anchor=swh:1:rev:2db189928c94d62a3b4757b3eec68f0a4d4113f0;path=/Examples/SimpleFarm/simplefarm.ml;lines=9-15 Estándares
SWHID es un estándar abierto con licencia bajo la Licencia de Especificación Comunitaria. [ 8 ]
SWHID se formalizó como la norma ISO 18670 en abril de 2025. [ 9 ]
Creación e historia
El SoftWare Hash IDentifier fue desarrollado por Software Heritage . Los archivos de Software Heritage, identificados por sus SWHID, se publicaron a partir de 2018. [ 5 ]
A partir de 2020Los SWHID se utilizaban para aproximadamente nueve mil millones de versiones de piezas de software, [ 5 ] denominadas "artefactos". [ 4 ] Los SWHID están integrados con repositorios de investigación como HAL , Zenodo y el catálogo francés de software libre de investigación académica. [ 10 ] El identificador puede ser utilizado por gestores de paquetes . Guix utiliza SWHID para recuperar el código fuente en un archivo de software cuando no está disponible en su URL original. [ 11 ]
El acrónimo SWHID se refería originalmente a "Software Heritage Identifiers" (Identificadores de Patrimonio de Software), utilizados para catalogar artefactos de software en los inicios del archivo Software Heritage . [ 12 ] Posteriormente, evolucionó hasta convertirse en un estándar abierto a través de un grupo de trabajo dedicado [ 13 ] y fue estandarizado como ISO en abril de 2025 bajo el nombre más general de "Software Hash Identifier" (Identificador Hash de Software). [ 14 ]
Télécom Paris acogió con satisfacción la normalización ISO argumentando que es un paso significativo en la infraestructura digital global, que proporciona trazabilidad del software afectado por vulnerabilidades. [ 15 ] La UNESCO afirmó que SWHID es útil para la reproducibilidad y la accesibilidad a largo plazo del software. [ 16 ]
Referencias
- ^ Sabrina Granger ; Baptiste Mélés; Frédéric Santos (15 de noviembre de 2024), Préserver et rendre identifiables les logiciels de recherche avec Software Heritage [ Preservar e identificar software de investigación con Software Heritage ] (en francés), doi : 10.46430/PHFR0034 , Wikidata Q134581061
{{citation}}: CS1 maint: servicio de archivado obsoleto ( enlace ) - ↑ "Identificadores intrínsecos y extrínsecos" . Software Heritage . Consultado el 24 de mayo de 2025 .
- ↑ Roberto Di Cosmo ; Morane Gruenpeter; Stefano Zacchiroli (1 de septiembre de 2018), Identificadores para objetos digitales: el caso de la preservación del código fuente del software (PDF) , doi : 10.17605/OSF.IO/KDE56 , Wikidata Q105094730 , archivado (PDF) del original el 26 de mayo de 2025
- 1 2 Axel Thévenet (26 de septiembre de 2023), SWHID: Seguimiento del software del pasado para los humanos del futuro , Wikidata Q134580517 , archivado del original el 26 de mayo de 2025
- 1 2 3 Le CNRS apporte son soutien à Software Heritage [ El CNRS apoya el software Heritage ] (en francés), Centro Nacional Francés de Investigaciones Científicas , 25 de noviembre de 2020, Wikidata Q134581205
{{citation}}: CS1 maint: servicio de archivado obsoleto ( enlace ) - ↑ "Versión v3.0 del repositorio torvalds/linux" . Software Heritage . Consultado el 24 de mayo de 2025 .
- ↑ "Identificadores calificados" . swhid.org . Consultado el 27 de mayo de 2025 .
- ↑ "Sección de derechos de autor de la especificación SWHID v1.2" . Consultado el 24 de mayo de 2025 .
- ↑ "ISO/IEC 18670:2025" . ISO . Consultado el 24 de mayo de 2025 .
- ↑ "Acerca del sitio" . Catálogo francés de software libre para la investigación académica . Consultado el 24 de mayo de 2025 .
- ↑ "Identificación de software" . Blog de GNU Guix . Consultado el 27 de mayo de 2025 .
- ↑ "Identificador de hash de software (SWHID)" . Patrimonio del software . Consultado el 24 de mayo de 2025 .
- ↑ "Grupo de trabajo SWHID" . Consultado el 24 de mayo de 2025 .
- ↑ "ISO/IEC 18670:2025" . ISO . Consultado el 24 de mayo de 2025 .
- ↑ Une avancée significativa pour l ' infrastructure numérique mondiale : La norme ISO/IEC 18670 est désormais officielle [ Un avance significativo para la infraestructura digital global: el estándar ISO/IEC 18670 ya es oficial ] (en francés), Télécom Paris , 20 de mayo de 2025, Wikidata Q134580605
{{citation}}: CS1 maint: servicio de archivado obsoleto ( enlace ) - ↑ Archivar el software libre como patrimonio de la humanidad , UNESCO , 2023, Wikidata Q134581397
{{citation}}: CS1 maint: servicio de archivado obsoleto ( enlace )
Enlaces externos
- Ciencias de la información
- identificadores únicos
- esbozos de informática