Software Heritage : « une infrastructure partagée, dédiée à la recherche, à l’industrie et au patrimoine culturel »
Le CNRS rejoint Software Heritage et apporte un soutien de 100 000 euros par an à cette bibliothèque universelle de codes sources de logiciels, lancée par Inria et soutenue par l’UNESCO. Son directeur, Roberto Di Cosmo en détaille les ambitions.
Professeur d’informatique
L’adoption généralisée des logiciels libres a rendu accessible ces « codes sources », mais il y avait un problème : « Les codes sources des logiciels libres étaient éparpillés dans une variété de plateformes, et on s’est rapidement aperçus qu’aucune entité dans le monde n’avait assumé la mission de les réunir tous et de les préserver, au contraire de ce qui est fait pour le patrimoine audiovisuel ou documentaire
Un patrimoine culturel « numérique » soutenu par l’UNESCO
Le projet est présenté en 2014 à Antoine Petit, alors directeur de l’Inria, qui en comprend immédiatement l’impact sociétal. « Software Heritage impacte la recherche, l’industrie ou encore l’Histoire, car il est bien question de sauvegarde de notre patrimoine de connaissances », souligne Roberto Di Cosmo. L’équipe Software Heritage se met en place, commence à archiver les premiers codes sources en 2015 et annonce l’ouverture du site en juin 2016. Juste à temps ! La fermeture inattendue de grandes plateformes de développement collaboratif, comme Google Code et Gitorious en 2015, avait mis en danger plus de 1 million et demi de projets de développement (heureusement tous sauvegardés), et montré clairement le besoin d’une archive universelle à long terme, non soumise aux logiques de marché.
En 2017, l’UNESCO se joint à l’aventure, affirmant l’importance du code source comme « un véritable patrimoine culturel qu’il est important de préserver », et devient un partenaire privilégié de l’initiative, qui a depuis réuni de nombreux soutiens, allant des acteurs de la recherche à l’industrie. « Notre objectif est de construire une infrastructure partagée, dédiée à la recherche, à l’industrie et au patrimoine culturel et servant les besoins de toute la planète, le tout dirigé à terme par une institution internationale. »
Le code source des premiers pas sur la Lune
Aujourd’hui, l’équipe de Software Heritage regroupe une douzaine de personnes allant du chercheur, à l’ingénieur ou doctorant et postdoctorant, qui développent l’infrastructure autour d’un « moissonneur » qui va chercher directement les codes sources accessibles en ligne, même si les utilisateurs peuvent également intégrer leurs codes sources au dispositif. L’archive de Software Heritage, qui pèse plusieurs centaines de téraoctets, protège déjà 9 milliards de fichiers de code source issus de plus de 140 millions de projets logiciels. Parmi les plus célèbres, on retrouve le code source du système de navigation d’Apollo 11, qui permit le premier pas sur la Lune en 1969, ou celui du navigateur NCSA Mosaic, qui popularisa l’utilisation du web des 1993, mais également de jeux mythiques des années 1990 tels que Doom ou Quake. « Comme dans une bibliothèque, on trouve des passages passionnants et d’autres sans intérêt ; certains sont faciles à lire, d’autres sont des merveilles de créativité qui nécessitent une étude approfondie pour les comprendre pleinement… Ces derniers sont évidemment mes préférés ! »
Construire le pilier logiciel de la Science ouverte
Dans une démarche de Science ouverte, Software Heritage met aujourd’hui à disposition des chercheurs une infrastructure unique qui met le code source des logiciels sur un pied d’égalité avec les articles et les données. Il est ainsi possible d’archiver très facilement tous les codes sources pertinents et de le référencer de façon précise avec un identifiant intrinsèque, unique et pérenne, appelé SWHID, qui est disponible pour tous les contenus, indépendamment de leur origine
« C’est la combinaison d’une archive universelle et des identifiants SWHID qui est vraiment révolutionnaire : elle garantit de toujours retrouver exactement l’objet désigné par le chercheur, jusqu’à la ligne de code, en pointant sur l’archive. » Cela devrait simplifier nettement le travail pour tous ceux qui utilisent des logiciels dans leur recherche, à la fois pour qui rédige les articles, et pour qui les lit : plusieurs revues ont commencé à adopter cette approche, et d’autres devraient suivre.
Software Heritage est aussi interconnecté avec l’archive ouverte HAL, ce qui permet déjà d’effectuer déjà des dépôts de codes sources en les rattachant aux laboratoires des contributeurs, et de nouvelles fonctionnalités en cours de développement rendront ce processus encore plus facile.
En parallèle du travail de long terme pour construire le pilier logiciel de la Science ouverte, l’équipe de Software Heritage continue de gérer les urgences : il y a juste quelques mois, ils ont sauvé de justesse 250 000 projets qui ont été supprimés de la plateforme collaborative Bitbucket. Un sauvetage à l’image de la mission que s’est donné Software Heritage.