Software Heritage - Rencontre avec Roberto Di Cosmo

Roberto Di Cosmo

Titre : Rencontre avec l'un des architectes de la plus grande bibliothèque du logiciel, la Software Heritage
Intervenants : Roberto Di Cosmo, directeur de l'initiative Software Heritage - Vincent Deroussent, journaliste
Lieu : Paris Open Source Summit
Date : Novembre 2016
Durée : 7 min 32
Visualiser l'entretien
Licence de la transcription : Verbatim

Transcription

Vincent Deroussent : Fondée en 288 avant notre ère, la gigantesque bibliothèque d’Alexandrie est, aujourd’hui encore, objet de tous les fantasmes scientifiques. Dans 2000 ans, que penseront les archéologues du numérique de la Software Heritage, la plus grande bibliothèque du logiciel lancée cette année par l'Inria ? Rencontre avec l’un des architectes du projet : Roberto Di Cosmo, bonjour.

Roberto Di Cosmo : Bonjour.

Vincent Deroussent : Notre auditoire va penser que j’exagère. Pourriez-vous, finalement, nous préciser ce que représente la Software Heritage et quels sont un peu les chiffres clefs de ce projet ?

Roberto Di Cosmo : D’accord, avec plaisir. Si vous regardez un peu autour de nous, on trouve qu’il y a du logiciel partout dans notre vie. Il contrôle, il est au cœur de notre économie, il nous permet de communiquer, il nous permet de nous amuser, il nous permet de déclarer les impôts aussi, payer les impôts c’est…, de voyager, enfin tout faire. Ces logiciels-là, le code source de ces logiciels est au cœur de notre culture et, jusqu’à ce moment-là, il n’était pas soigné, archivé, protégé, par une initiative spécifique. Software Heritage se donne cette mission. On a déjà commencé à construire cette bibliothèque d’Alexandrie du code source et, aujourd’hui, on a collecté l’équivalent de 45 millions de projets, de développements en logiciels disponibles, ce qui veut dire que plus de trois milliards de fichiers sources différents qui sont tous stockés dans notre base et, évidemment, toute la structure a été dupliquée, permet de regarder non pas seulement le logiciel, mais aussi l’histoire de son développement : comment chaque ligne de code a été ajoutée par chaque développeur, pourquoi, comment et quand.

Vincent Deroussent : Avec cet historique, plusieurs milliards donc de fichiers, de codes, et pas les mêmes ?

Roberto Di Cosmo : Pas les mêmes, tout à fait. Ils sont tous différents. Les trois milliards de fichiers sont tous différents. Si un même fichier apparaît dans plusieurs projets, on ne le compte qu’une seule fois et on garde la trace du fait qu’il est utilisé à plusieurs endroits.

Vincent Deroussent : Très bien. Si les fondations de cette bibliothèque ne sont pas de pierre, ou de marbre, ou de granit, je ne sais pas. Son défi, en fait, est de taille au vu de ces chiffres. Quelles sont les problématiques, finalement, posées par ce projet ?

Roberto Di Cosmo : Il y a plusieurs problématiques. Ce n’est pas la bibliothèque traditionnelle avec des murs et des briques ! N’empêche, il y a une partie technique, physique qui existe. Où est-ce qu’on stocke toutes ces données ? Ça, c’est dans des serveurs. Ça c’est un des premiers défis : faire en sorte que ces serveurs résistent à d’éventuelles attaques, à d’éventuelles pannes et donc, la seule solution, c’est répliquer ces serveurs un peu partout sur la planète. Ça, c’est un premier défi organisationnel : trouver d’autres partenaires pour créer un réseau de miroirs. On a déjà commencé à en trouver quelques-uns. Par exemple Microsoft nous fournit de l’infrastructure sur Azure aujourd’hui, qui va devenir notre premier miroir. Pour l’instant toutes les données sont chez l'Inria.

L’autre défi c’est, tout simplement, trouver les codes sources de ces logiciels parce qu’il y a tellement d’endroits, tellement de plateformes dans lesquelles on développe, qu’on a du mal à savoir si on a vraiment tout collecté. On a commencé avec la plateforme la plus populaire qui est GitHub, donc on a l’intégralité de ce qu’il y a dedans. Mais, petit à petit, on collecte aussi plein d’autres sources. Toutes ces sources non seulement elles sont éparpillées, mais elles utilisent des technologies différentes, donc c’est plus difficile que juste stocker des livres. Stocker des livres imprimés par des imprimeurs différents c’est facile, on met tout sur le même rayon, mais trouver des logiciels qui sont développés avec des outils différents, ça demande un effort technologique significatif. Là, il y a des défis disons technologiques importants. Et après comment analyser toutes ces données ? Parce qu’il ne s’agit pas juste faire une bibliothèque pour que personne ne regarde. C’est important qu’on puisse profiter de cette ressource comme du big data, de l’open data, qu’on fasse de l’analyse dessus. Et là on a des vrais défis scientifiques nouveaux qui apparaissent : c’est qu’il s’agit de structures qu’on n’a jamais rencontrées avant.

Vincent Deroussent : Ça, c’est l’étape d’après.

Roberto Di Cosmo : C’est l’étape d’après.

Vincent Deroussent : Sachant que, pour reprendre un peu l’historique, finalement le projet a été lancé il y a deux ans, si je ne dis pas de bêtises.

Roberto Di Cosmo : On s’est rendu compte du problème, du besoin de lancer le projet, il y a environ deux ans et demi. Mais vous savez bien qu’entre l’idée, le fait de la mettre sur le papier, le fait de convaincre les premières entités à vous aider à lancer le projet.

Vincent Deroussent : Ça a commencé il y a un an !

Roberto Di Cosmo : Voilà. Ça c’était il y a un an et demi, à peu près, et l'Inria a pris la décision d’être le premier à porter le projet1, il y a vingt ans, c’est la même démarche. Donc ça fait juste un an qu’on a commencé à collecter les données et on est déjà arrivé à la plus grosse base de codes jamais existée.

Vincent Deroussent : Lors de la préparation de cette interview vous m’avez parlé d’un super télescope pour observer les codes de la planète logicielle. J’ai trouvé cette image plutôt belle et, en tout cas adaptée, car, en dehors de la notion d’archivage, il y a vraiment ce besoin qu’on sent aujourd’hui d’exploitation, de lecture, d’analyse des données. C’est bien ça aussi l’enjeu de demain ?

Roberto Di Cosmo : Tout à fait. Si vous regardez dans notre devise, on dit on veut récolter tous les logiciels, préserver tous les logiciels, les rendre disponibles, mais ce n’est pas seulement pour les passer. On n’est pas juste intéressés à préserver du code qui est là quarante ans, au cas où quelqu’un serait intéressé à regarder. On est très intéressés à construire, aujourd’hui, ce gigantesque observatoire, ce gigantesque instrument de recherche, ce gigantesque télescope, qui permet d’observer comment les codes évoluent, comment le code source s’est développé, comment les usages changent dans le développement d'un code source. Ce qui est essentiel, parce que comme le code des logiciels est partout, la sécurité, la confidentialité, la sûreté du fonctionnement, les bonnes propriétés, l’absence de virus, l’absence de cheval de Troie, ce sont des besoins de tous les jours. Et donc, avoir un grand observatoire qui permet de détecter tout ça dans la masse de codes qui est développée sur toute la planète, c’est devenu un besoin auquel on n’a pas de réponse aujourd’hui et Software Heritage est, aujourd’hui, la première pierre pour apporter une réponse.

Vincent Deroussent : Rêvons un instant, Roberto Di Cosmo, d’ici deux cents ans que diront les archéologues du numérique du projet Software Heritage ? Comment ils l’observeront ?

Roberto Di Cosmo : Si je peux rêver en deux phases. Il y a une première phase, évidemment, les gens dans deux cents ans – en supposant qu’on y arrive – dans deux cents ans, ils vont pouvoir arriver à comprendre comment, dans cette phase historique importante, la société a eu cette transformation incroyable pour devenir une société entièrement numérique dans laquelle on a, en émergence, une intelligence collective supportée par les logiciels et on comprend comment cette transition a été faite en regardant, justement, l’évolution du code que nous stockons dans Software Heritage.

Mais si je peux rêver aussi en deuxième phase, moi j’aimerais bien que ça ne devienne pas juste de l’archéologie, mais que les bouts de codes qu’on met dedans – les algorithmes qu’on fait maintenant comme en mathématique le théorème de Pythagore est encore valable aujourd’hui, ça été inventé il y a presque trois mille ans, d’accord – j’espère qu’un certain nombre d’algorithmes développés aujourd’hui seront encore effectifs dans deux cents ans et qu’on va encore utiliser, pas forcément les mêmes codes, mais une évolution du code et qu’on va profiter de cette grande structure pour faire en sorte que le code de demain soit bien plus facile, bien meilleur, bien plus élégant que le code d’aujourd’hui.

Vincent Deroussent : Très bien. Merci Roberto Di Cosmo.

Roberto Di Cosmo : Merci beaucoup.

Vincent Deroussent : Je rappelle que vous êtes directeur de l’initiative Software Heritage portée par l'Inria. Merci d’être venu sur le plateau du Paris Open Source Summit.

Roberto Di Cosmo : Merci beaucoup à vous.