Newsroom

Stefano Zacchiroli : le patrimoine logiciel au service de la science ouverte

Le 1er septembre 2021, Stefano Zacchiroli a rejoint l’équipe ACES (Systèmes embarqués critiques autonomes) en tant que professeur. Ses recherches actuelles portent sur la préservation des logiciels, le suivi du code source et la provenance des problèmes de sécurité, ainsi que les méthodes formelles et le génie logiciel adapté aux logiciels libres/ouverts.

Auparavant, il était Maître de Conférences à l’Université de Paris depuis 2011 et chercheur associé à l’Inria depuis 2015. Stefano est aussi cofondateur et directeur technique de Software Heritage, la plus grande archive publique au monde de code source. Il a été project leader du projet Debian pendant trois mandats (2010-2013), il a été directeur du board de l’Open Source Initiative (OSI) et enfin lauréat du prix O’Reilly Open Source 2015.

Stefano nous en dit plus sur Software Heritage, sur ses recherches et ses enseignements.

En quoi consiste Software Heritage ?

Software Heritage est une initiative lancée en 2015 par Roberto Di Cosmo et moi-même, annoncée publiquement en 2016 avec le soutien initial de l’Inria et de l’Unesco, qui poursuit l’objectif ambitieux d’archiver la totalité du logiciel disponible en format code source et son historique de développement.

5 ans plus tard, Software Heritage est la plus grande archive de code source au monde, avec plus de 10 milliards de fichiers source collectés et plus de 2 milliards de “commits” (l’unité d’archivage dans les systèmes de contrôle des versions utilisés par les développeurs) provenant de plus de 160 millions de projets de développement logiciel.

L’intérêt et l’utilité du projet sont multiples. D’un point de vue culturel, le code source est la seule forme du logiciel qui contient de la connaissance qui est à la fois précieuse et coûteuse à produire. Quand il est distribué avec des licences libres ou open source, le code source forme aussi un bien partagé connu comme “bien commun logiciel” (ou “software commons”), enrichi quotidiennement par des millions des développeurs autour du monde.

Il revient à notre génération d’informaticiens la responsabilité de préserver ce patrimoine immatériel pour les générations futures, comme reconnu en 2019 par l’Unesco avec l’appel de Paris “Code source des logiciels comme patrimoine pour le développement durable” (Paris Call “Software Source Code as Heritage for Sustainable Development”).

Aujourd’hui, Software Heritage est la principale initiative mondiale qui assure l’archivage systématique, massif et ouvert du code source.

D’un point de vue industriel, Software Heritage offre une base de connaissances ouverte qui aide à la traçabilité du logiciel open source, de plus en plus présent dans la plupart des dispositifs matériels (comme l’IoT) disponibles dans le commerce.

In fine, et au cœur de mes intérêts de recherche futurs ici à Télécom Paris, Software Heritage offre la possibilité aux chercheurs d’étudier l’ensemble du code source public produit entre les années 1960 et aujourd’hui. Il s’agit d’une nouveauté remarquable dans le domaine du génie logiciel empirique, qui ouvre des nouvelles pistes de recherche dans l’amélioration de la qualité du code, la recherche de vulnérabilités et la sécurité logicielle, la productivité des développeurs, ou encore l’évolution historique de langages de programmation, pour en citer seulement quelques-unes.

Pourquoi vous intéressez-vous à la science ouverte et à l’open source ?

Mon intérêt pour le logiciel libre/open source date désormais d’il y a plus de 25 ans. Je m’y suis intéressé initialement comme activiste, à cause des nouveaux risques d’injustice que la montée en puissance et en importance des ordinateurs (et donc du logiciel) dans la société impliquait déjà à l’époque. Notamment, quand le logiciel n’est pas libre/open source, les auteurs de ce logiciel ont un pouvoir immense sur les utilisateurs et peuvent en profiter pour les surveiller, exploiter leur données, etc. On l’a malheureusement pu vérifier maintes fois dans le contexte de ce qui a été par la suite appelé “capitalisme de la surveillance”.

Au fil de ma carrière, j’ai eu la chance de vivre la période de l’explosion de la popularité du logiciel libre/open source, qui est maintenant présent partout sur le marché des produits informatiques (malheureusement, cela n’induit pas une amélioration de nos libertés numériques à cause du déplacement des calculs depuis nos dispositifs, ceux des utilisateurs, vers des ordinateurs distants, mais c’est un autre débat…).

La croissance exponentielle du code source libre disponible a créé de nouveaux domaines de recherche, qui ont permis aux chercheurs d’apprendre énormément de choses sur la manière dont le logiciel est développé et dont les développeurs collaborent à l’échelle planétaire. Cela ne cesse pas de me fasciner, et j’ai hâte de collaborer sur ces sujets avec mes nouveaux collègues à Télécom Paris.

Le débat récent autour de la science ouverte est, en bonne partie, le résultat de l’impact culturel de 30 ans de logiciel libre dans des domaines autres que l’informatique.

Nous avons de plus en plus de publications et preprints ouverts (open access) et de moins en moins d’universités qui acceptent des contrats prédateurs avec des éditeurs scientifiques qui empêchent les chercheurs de consulter les articles dont ils ont besoin. Nous avons de plus en plus d’archives de données scientifiques ouverts, dans tous les domaines des sciences.

Ces deux aspects : open access et open data, ont joué un rôle fondamental dans le développement des vaccins anti-COVID et dans l’animation des débats de société pendant la pandémie.

Nous avons aussi de plus en plus de demande de “replication packages” associés aux articles scientifiques, qui permettent aux chercheurs de vérifier les résultats de leurs collègues (par exemple, mais pas seulement, pendant la “peer review”), mais aussi de réutiliser des composants d’expériences passées pour en réaliser des nouvelles. Avec Software Heritage, nous contribuons à cette démarche pour la science ouverte en permettant, entre autres, aux chercheurs d’archiver automatiquement le code source de leurs expériences grâce à l’intégration avec des plateformes de publication open access, comme la plateforme française HAL du CNRS.

Dans quels cursus et cours allez-vous enseigner ?

J’enseignerai dans plusieurs cours et filières. En première année, je participerai à l’enseignement de C et UNIX, qui sont ma passion de “geek” depuis toujours. Ensuite, comme je m’intéresse à la programmation sûre (celle qui empêche par construction la présence des bugs dans le logiciel, et notamment des failles de sécurité), je suis donc en train de réfléchir à l’intégration de ce sujet dans le curriculum des nos masters en cybersécurité, initialement comme module dans des cours déjà existants.

J’enseigne depuis longtemps un cours de logiciel libre, couvrant ses aspects philosophiques, légaux, organisationnels et business, qui ne sont pas souvent traités quand on parle d’open source dans des formations universitaires.

Dans l’avenir, j’aimerais généraliser ce cours pour traiter aussi de données ouvertes et de science ouverte, et le proposer comme cours optionnel transversal pour toutes et tous nos élèves ingénieurs.