Sites Inria

Patrimoine logiciel

Laurence Goussu - 3/04/2017

Software Heritage : la grande bibliothèque du code source

Software Heritage a pour objectif de collecter, organiser, préserver, et rendre accessible à tous le code source de tous les logiciels disponibles. En construisant une archive universelle et pérenne du logiciel, Software Heritage vise à mettre en place une infrastructure essentielle au service de la société, de la science et de l’industrie.

Software Heritage a été dévoilé le 30 juin 2016 avec deux premiers partenaires internationaux : Microsoft et DANS. Au cours des mois qui ont suivi, de nombreuses nouvelles collaborations se sont mises en place avec la Société générale, Intel Huawei, Nokia Bell Labs, et l’Université de Bologne.

Le 03 avril 2017, Inria signe une convention avec l’UNESCO qui ouvre la voie à des actions communes en faveur de la préservation et du partage du code source des logiciels.

Le logiciel au cœur de notre société

Pour échanger des messages avec notre famille et nos amis, payer des factures, faire des achats, accéder au divertissement, faire des démarches administratives, trouver des informations, ou planifier des voyages, pratiquement tous nos actes quotidiens dépendent de logiciels exécutés par des ordinateurs.
Mais ce n’est que la partie émergée de l’iceberg : le logiciel contrôle le système embarqué dans nos moyens de transport ou de communication, les échanges commerciaux et financiers. Il est au cœur des équipements et des dispositifs médicaux.
Le logiciel est crucial dans le fonctionnement des organisations, qu’elles soient publiques ou privées, que ce soit sur des terminaux mobiles ou sur le « cloud ».

Le logiciel est au cœur de tout développement technologique et est devenu indispensable pour la recherche scientifique, dans tous les domaines. Il joue donc un rôle central et même critique dans notre vie quotidienne, notre industrie et notre société.
La transformation numérique pousse à convertir en représentation numérique tout aspect de nos connaissances et de notre patrimoine culturel, mais comme le dit Vinton Cerf , cocréateur de l’Internet, « sans le logiciel capable d’interpréter ces représentations, toutes ces connaissances ne seraient que des suites inintelligibles de bits sans valeur ».
Afin de préserver ce patrimoine et de répondre aux défis technologiques et scientifiques de demain, il est essentiel de construire dès aujourd’hui une archive universelle et pérenne du logiciel.

Software Heritage au service de la société, de la science et de l’industrie

Le rôle central du logiciel dans les sociétés modernes fait de Software Heritage une infrastructure de portée sociétale universelle.
Les logiciels que nous utilisons forment une partie importante de notre culture moderne, et les logiciels libres y jouent un rôle majeur. Jusqu’ici un grand nombre de projets logiciels ont été développés et distribués en utilisant des infrastructures variées et disparates qui changeaient souvent et dont la pérennité n’était pas assurée. Il s’agissait d’un pari risqué, et cela est devenu évident il y a quelques mois seulement, lorsque deux dépôts importants, qui contenaient des centaines de milliers de projets logiciels, ont fermé leurs portes avec un bref préavis : Gitorious et Google Code.

Aujourd’hui, le besoin de construire une infrastructure capable de référencer tout le code source publiquement disponible et qui s’inscrit dans la durée est clair. L’enjeu n’est pas seulement de préserver les anciens codes sources, mais d’aider les développeurs de nouveaux projets logiciels à trouver, réutiliser, référencer et archiver les nouveaux codes sources. Software Heritage s’est donné cet objectif.

Mettre à disposition une archive unique et universelle rendant disponibles les codes source de ces logiciels facilitera l’accès à la connaissance qu’ils contiennent, soutiendra la formation à la programmation, et créera un catalogue de référence avec l’ensemble des connaissances, une sorte de Wikipedia du logiciel. Software Heritage s’appuie sur une infrastructure distribuée, avec des partenaires internationaux, de manière à garantir la robustesse et la disponibilité de l’archive.

Préserver et partager le logiciel pour la Science

Une très grande partie du savoir scientifique est produite par du logiciel, ou contenue dans du logiciel. Pourtant, les logiciels scientifiques sont peu et mal archivés, mal ou non référencés, au point que la reproductibilité des expériences scientifiques qui les utilisent n’est pas assurée. Pour préserver la connaissance technologique et scientifique, il est maintenant impératif de pouvoir garder non seulement les articles publiés, mais aussi le code source des logiciels décrits dans les articles scientifiques et utilisés pour traiter les données.

La recherche en Informatique a fait de gros progrès. Il est maintenant possible d’identifier automatiquement des erreurs de programmation, des défauts de conception ou des attaques informatiques. Pourtant, à la différence des disciplines comme la physique, elle ne dispose pas encore de grands instruments de recherche permettant d’explorer systématiquement l’ensemble des codes source de tous les logiciels.

Software Heritage constitue une infrastructure de recherche fondamentale dont l’objectif est de devenir la référence pour la mise à disposition des logiciels utilisés dans toute la recherche scientifique, complétant la démarche de l’Open Access, qui vise à rendre les articles scientifiques librement accessibles pour tous.

Software Heritage constitue la fondation sur laquelle nous pourrons construire un grand instrument de recherche sur l’ensemble des codes source des logiciels, apportant des progrès significatifs dans tous les domaines des sciences du numérique, dans un objectif d’amélioration de la qualité, de la sûreté de fonctionnement et de la sécurité des logiciels que nous utilisons dans notre vie quotidienne.

Software Heritage aujourd’hui

Ce projet a été initié par Inria, institut de recherche dédié au numérique et acteur incontournable du logiciel depuis de nombreuses années, convaincu du rôle essentiel du logiciel dans le développement de la société numérique. Inria a souhaité relever le défi, en mettant en place une équipe spécifique et les moyens nécessaires pour démarrer le projet.

Comme l’explique Antoine Petit , Président-directeur général d’Inria, « les logiciels sont aujourd'hui au cœur de la plupart des activités humaines, de la médecine aux loisirs, des avions à l'agriculture... Ce sont eux qui rendent "intelligents" les transports, les villes, les habitats ou encore les usines. Ils jouent ainsi un rôle central et même critique dans notre vie quotidienne. Les chercheurs d’Inria, institut de recherche dédié aux sciences du numérique, ont produit depuis près de 50 ans plusieurs milliers de logiciels, dont certains ont permis des avancées scientifiques majeures et d’autres sont à la base de produits commerciaux, en particulier dans les 140 spin-off issues d’Inria. Il est donc légitime pour notre institut de se soucier de la préservation de toute la connaissance technologique et scientifique liée au logiciel, d’aider à construire et conserver le patrimoine mondial des logiciels, et de le mettre au service de la société, de l’industrie, de la science et de l’éducation ».

Pour Roberto Di Cosmo , Directeur de Software Heritage , « La connaissance technologique de l’humanité est indissociable des logiciels : toute notre société et toute notre culture en dépendent. Le code source des logiciels est précieux : il s’agit d’une forme de connaissance qui est, de par sa conception, à la fois exécutable par des machines, compréhensible par des êtres humains et qui évolue en permanence. Nous avons le devoir de préserver cette connaissance. Software Heritage a pour mission de collecter, préserver et partager l’ensemble des logiciels. Ouverture et transparence sont les clés de notre succès. C’est pourquoi nos propres logiciels seront entièrement open source, et nous invitons tous les acteurs à nous rejoindre pour parvenir à cet objectif ambitieux  ».

Projet d’envergure mondiale, Software Heritage est confronté à de nombreux défis

Organiser et indexer de façon efficace l’ensemble de tout le code source disponible, pour le rendre plus facilement accessible, et pour en extraire des informations utiles afin d’en améliorer la qualité pose des nombreuses questions scientifiques.

  • D’un point de vue technique, il s’agit par exemple d’assurer la pérennité des données par une réplication massive de l’infrastructure, de fournir des références stables à chaque composant logiciel, et de prendre en compte les spécificités du code source du logiciel, qui est différent des autres objets numériques.
  • D’un point de vue stratégique, il faut bien sûr une légitimité institutionnelle, mais aussi une véritable capacité d’ouverture pour fédérer un consensus large. Cela a déjà été le cas avec l’expérience du World Wide Web consortium, dont Inria fut le premier hôte européen.

Pour Jean-François Abramatic, directeur de recherche Inria, et ancien Président du W3C, «Il y a plus de 20 ans, le W3C était accueilli en Europe, avec la vocation de garantir un Web indépendant, libre, ouvert et accessible à tous. Aujourd'hui, le projet Software Heritage s'ouvre avec cette même volonté de contribution internationale dans un objectif de préserver et nourrir le bien commun des logiciels de manière pérenne et sur un plan international».

A ce jour, Software Heritage a déjà collecté plus de 55 millions de projets logiciels, avec plus de trois milliards de fichiers sources uniques, ainsi que tout l’historique de leur développement, ce qui en fait déjà l’archive de code source la plus importante de la planète (voir https://www.softwareheritage.org/archive/).

Software Heritage : tous concernés, tous contributeurs !

Software Heritage a déjà reçu le soutien de scientifiques, d’industriels, de sociétés savantes, de fondations, et d’une grande diversité d’acteurs aussi bien issus d’organismes publics que provenant de la société civile.

Inria lance dès aujourd'hui un appel auprès de l’ensemble des acteurs à rejoindre cette initiative et contribuer à construire cette infrastructure indispensable à notre société numérique.

L’objectif est de donner naissance à une communauté internationale, d’une taille suffisamment critique, qui a vocation à être gérée par un consortium autonome, comme cela a été par exemple le cas du W3C. Les premiers concernés sont les acteurs clés du numérique, les fondations d’intérêt général, les organismes scientifiques et les acteurs publics, français et internationaux.

Mais il peut y avoir de multiples façons de contribuer à la croissance du projet, par exemple :

  • Pour collecter tout le code source disponible : nous aider à identifier les milliers de sites disparates dans lesquels se retrouve aujourd'hui éparpillé le patrimoine logiciel mondial.
  • Pour contribuer au développement de l’infrastructure : l’équipe de Software Heritage a une longue tradition de collaboration et est bien connue dans le monde du logiciel libre ; notre propre code source est open source, et nous sommes ravis d’accueillir les développeurs qui voudront partager leur vision et nous aider dans cette mission.

Nous accueillons aujourd’hui la première contribution significative apportée par Adullact, association d’utilisateurs de logiciels libres des collectivités locales. En développant un outil qui permet de collecter les logiciels de l’ensemble des Forges basées sur la technologie «FusionForge », c’est à l’évidence un exemple emblématique de la manière dont chacun peut contribuer à l’effort communautaire dont nous avons besoin pour rendre cette archive exhaustive.

  • La résolution des défis scientifiques posés par la construction d’une archive universelle du code source à partir d’informations dispersées va nécessiter de nouvelles contributions ; la participation des chercheurs de toutes les disciplines sera déterminante pour réussir.
  • Préserver sur le long terme et partager à travers le monde le contenu de cette archive nécessite des ressources conséquentes, sur un plan humain, matériel et financier, ainsi que des partenaires internationaux diversifiés.

S’engager avec Software Heritage, c’est l’occasion unique de relever un défi sociétal majeur, de soutenir une initiative d’envergure mondiale et de participer à la préservation de notre patrimoine logiciel mondial

Mots-clés : Patrimoine logiciel Logiciel Patrimoine Code Logiciel libre Code source

Haut de page

Suivez Inria tout au long de son 50e anniversaire et au-delà !