Accompagner la préservation et la diffusion des logiciels dans les établissements

Visioconférence – 12 mai 2023

Romain Féret

La demi-journée d’étude « Accompagner la préservation et la diffusion des logiciels dans les établissements », coorganisée par Média Normandie, Software Heritage et la commission Recherche et documentation de l’Association des directeurs et personnels de direction des bibliothèques universitaires et de la documentation (ADBU) s’est tenue en visioconférence le vendredi 12 mai 2023.

En introduction, Violaine Louvet et Grégory Miura ont présenté différentes notions liées aux logiciels : algorithme, codes source, code exécutable, logiciels et des spécificités de la gestion de ce type d’objet par rapport aux données de recherche. Ils sont ensuite revenus sur la création d’un collège Codes sources et logiciels au sein du Comité pour la science ouverte (CoSO) et ont explicité sa structuration et en particulier les objectifs du groupe de travail « Identification et mise en avant de la production logicielle de l’ESR (Enseignement supérieur et de recherche) » qu’ils coaniment.

Suite à cette intervention, Sabrina Granger a présenté Software Heritage, l’archive internationale des codes sources et logiciels, et l’a repositionnée dans l’environnement des plateformes telles que les archives ouvertes et forges logicielles, en insistant particulièrement sur son interopérabilité avec HAL 1

X

HAL est une plateforme en ligne développée en 2001 par le Centre pour la communication scientifique directe (CCSD) du Centre national de la recherche scientifique (CNRS), destinée au dépôt et à la diffusion d'articles de chercheurs publiés ou non, et de thèses, émanant des établissements d'enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

. Elle a conclu son propos par la présentation du programme d’ambassadeurs mis en place par Software Heritage qui vise à développer et accompagner l’utilisation de la plateforme dans les établissements, à l’échelle internationale.

Deux retours d’expérience ont ensuite illustré la manière dont l’accompagnement à la gestion des codes et logiciels se déploie localement. Océane Valencia et Cécile Arènes, toutes les deux ambassadrices de Software Heritage pour Sorbonne Université, s’appuient sur l’accompagnement de la plateforme et sur son réseau des ambassadeurs pour mettre en place des actions de sensibilisation et de formation des doctorants et chercheurs de leur université. Violaine Louvet a insisté sur la manière dont l’université Grenoble Alpes a intégré la question des codes sources et logiciels à ses politiques science ouverte et s’est structurée pour répondre à cet enjeu spécifique. Enfin, Marie-Madeleine Géroudet, pilote de la commission Recherche et documentation, a réalisé une synthèse de la demi-journée en guise de clôture.

La vidéo de la visioconférence et les supports sont disponibles en ligne :

Introduction sur le code source, les logiciels

Par Violaine Louvet et Grégory Miura, copilotes du groupe de travail « Identification et mise en avant de la production logicielle de l’ESR » du collège Codes sources et logiciels du Comité pour la science ouverte

Code source, logiciels, de quoi parle-t-on ?

Violaine Louvet et Grégory Miura ont proposé en introduction plusieurs éléments de définition pour aider à appréhender la question des codes sources et logiciels. Une première différence a été faite entre le code source, fichier texte compréhensible par un humain qui représente « l’âme » du logiciel, et le code exécutable qui le traduit en code binaire et ne peut être compris que par une machine. Le logiciel rassemble le code source, l’exécutable et des éléments de documentation. Une licence est normalement présente avec le logiciel pour déterminer selon quelles modalités il peut être utilisé et modifié. Même si de nombreux objets ne sont plus stables à l’ère du numérique, la très grande variabilité dans le temps des codes et logiciels représente une spécificité documentaire forte, de même que les différents niveaux de granularité auxquels on peut les appréhender.

Le collège Codes sources et logiciels 2

X

Le collège Codes sources et logiciels traite des processus permettant la mise à la disposition de la communauté scientifique, idéalement sous licences libres, des codes sources et/ou des logiciels produits dans le cadre d'activités de recherche.

du CoSO a travaillé à identifier des éléments pour caractériser des logiciels de recherche. Parmi ceux-ci, le logiciel doit avoir pour finalité de répondre à un besoin spécifique de la science et d’être conçu et maintenu par des scientifiques ou institutions de recherche. Les formes que peuvent prendre ces logiciels sont variables selon qu’ils sont autonomes ou font partie d’un écosystème plus large. Ces objets diffèrent nettement des données de recherche, en particulier parce qu’ils évoluent très souvent alors que les données sont généralement stables bien que les traitements qui leur sont appliqués puissent évoluer. Le code dépend fortement d’un environnement logiciel et matériel avec des chaînes de dépendance souvent longues. Par ailleurs, le droit qui s’applique aux logiciels est aussi spécifique. Lors de la création du logiciel, sa propriété est automatiquement transférée à l’employeur du ou des créateurs et ce, même si le créateur est stagiaire.

Ensuite, les licences sous lesquelles sont diffusés les logiciels sont spécifiques. Les licences propriétaires réservent le droit de modification à l’ayant droit tandis que les licences libres ou open source permettent des modifications encadrées, dans une logique assez proche de celles existant avec les licences Creative Commons. En l’absence de licence, tous les droits sont réservés. Les licences libres ont des niveaux variés de « copyleft » 3

X

Le « copyleft », parfois traduit comme gauche d'auteur ou copie laissée, est l'autorisation donnée par l'auteur d'un travail soumis au droit d'auteur d'utiliser, d'étudier, de modifier et de diffuser son œuvre, dans la mesure où cette même autorisation reste préservée.

. Cette notion désigne la manière dont la licence initiale contamine les modifications et ajouts aux logiciels. Pour une licence sans copyleft, la redistribution et la modification ne sont pas couvertes par la licence initiale, dans une licence à copyleft faible la licence initiale demeure mais ne s’applique pas aux ajouts, tandis qu’une licence avec un copyleft fort s’applique à toute modification ultérieure du programme. Un logiciel libre doit répondre à quatre critères : la liberté d’exécuter le programme, d’étudier son fonctionnement, de redistribuer des copies et d’améliorer le programme en publiant les améliorations. Pour ce faire, l’accès au code source est nécessaire.

Les intervenants ont insisté sur la différence entre les forges logicielles (GitHub, instances GitLab) et les archives de code et se sont appuyés sur un schéma du cycle de vie d’un code de recherche pour l’illustrer. Ce cycle démarre par le souhait de répondre à une question scientifique. La création de code démarre dès les travaux préliminaires pour faire des tests sur des scripts. Une phase plus ou moins longue voit alterner des développements, des tests et des phases de maintenance. Au cours de cette phase, la forge logicielle est le lieu où est déposé le logiciel. Ces plateformes sont particulièrement utilisées pour les pratiques collaboratives mais il est quand même conseillé de les utiliser quand on travaille seul car elles obligent à structurer le travail et offrent une palette d’outils pour formaliser et documenter nativement le code. La forge logicielle est le cœur névralgique de tout développement. Une fois le code prêt à être publié, il peut être ouvert à la communauté, ce qui permet de le consolider grâce à diverses contributions. C’est à ce moment-là que le code migre de la forge logicielle vers une archive de code comme Software Heritage. L’archive de code arrive donc en fin de processus.

Illustration
Figure 1. Outils dans le cycle de vie d’un code de recherche.

Source : Violaine Louvet et Grégory Miura, 12 mai 2023

Ouvrir les codes sources est essentiel mais insuffisant car il faut conserver un environnement de travail avec de nombreuses chaînes de dépendance. De ce fait, des situations où la reproductibilité d’un résultat de recherche n’est pas permise malgré la conservation du logiciel peuvent survenir avec notamment des résultats qui changent ou un code qui ne fonctionne plus. Ces situations sont dues à l’évolution de l’environnement de travail : ordinateur, système d’exploitation, bibliothèques, etc. Outre leur archivage, les logiciels doivent aussi être correctement signalés pour permettre de les trouver et de les valoriser. La gestion des contributions, qui se font souvent en couches successives et pendant des délais assez longs, est particulièrement complexe.

Le collège Codes sources et logiciels

Le deuxième Plan national pour la science ouverte définit plusieurs objectifs au sujet des logiciels libres, notamment :

  • définir et promouvoir une politique en matière de logiciels libres, notamment en produisant une charte nationale pour les logiciels libres issus de l’ESR, en développant le lien entre données et logiciels ainsi que les modèles économiques du logiciel libre et en favorisant l’archivage du code source dans Software Heritage ;
  • reconnaître la place du code source libre parmi les productions de la recherche, notamment avec les prix du logiciel libre de la recherche ;
  • relier le code, les données et publications grâce à une coordination entre différents types de plateformes : forges logicielles, archives ouvertes, entrepôts de données et archive de code.

Le collège Codes sources et logiciels a identifié 5 thématiques, chacune portées par un groupe de travail :

  • identification et mise en avant de la production logicielle de l’ESR ;
  • outils et bonnes pratiques techniques et sociales ;
  • valorisation et durabilité ;
  • liaison et animation nationale, Europe, international ;
  • reconnaissance et carrières.

Le groupe « Identification et mise en avant de la production logicielle de l’ESR » travaille notamment à identifier des catalogues déjà existants et à étudier les pratiques et attentes des utilisateurs afin de déterminer sur quels outils il est possible de s’appuyer pour favoriser un chaînage entre les différentes étapes qui vont de la création du code à son archivage et à sa diffusion, avec une interopérabilité performante pour minimiser le travail des chercheurs. En lien avec le groupe, le MESR (ministère de l’Enseignement supérieur et de la Recherche) mène une enquête pour étudier la production logicielle. Parmi les perspectives, on retrouve notamment le souhait de structurer la formation et la sensibilisation à l’objet logiciel en lien avec les ateliers de la donnée et l’intégration de recommandations spécifiques pour la rédaction d’un plan de gestion des données dans Data Management Plan (DMP) OPIDoR 4

X

DMP OPIDoR est un outil d’aide à la création en ligne de plans de gestion de données mis à disposition de l’enseignement supérieur et de la recherche. Il est hébergé et géré par l’Inist-CNRS. Basé sur le code open source DMPRoadmap, il a été adapté aux besoins de la communauté scientifique française.

.

Software Heritage : préserver le code source pour une recherche plus transparente

Par Sabrina Granger, Open Science Community Manager chez Software Heritage

Software Heritage

Sabrina Granger a rappelé que l’archivage des logiciels est un sujet de préoccupation beaucoup plus récent que celui des données. Pour l’illustrer, elle a mentionné quelques dates : le Software Sustainability Institute a été lancé en 2010, Zenodo a créé une catégorie logiciel en 2014 et Software Heritage a été ouverte au public en 2016. Pour de nombreuses recherches, les données et les codes sont très liés car les codes permettent d’ouvrir et de réutiliser les données. La nécessité d’une archive de codes sources est particulièrement importante à cause de la dispersion des plateformes de développement sur lesquelles ces codes sont stockés, ce que Roberto Di Cosmo appelle la « diaspora du code source ». Et surtout, ces forges ne sont pas pérennes comme l’ont montré les exemples de Gitourious ou GoogleCode.

Software Heritage archive des codes sources qui peuvent être très variés, allant d’objets simples tels que des scripts à des objets beaucoup plus élaborés comme des programmes. La politique documentaire de l’archive est large puisqu’elle accueille aussi bien des logiciels déjà stabilisés que des logiciels en cours de développement, des logiciels reconnus que des logiciels de niche. L’archive héberge environ 15 milliards de fichiers uniques. Son alimentation se fait à travers :

  • des opérations de sauvetage, comme lors de la fermeture de la forge logicielle Gitorious ;
  • l’export de données par des partenaires tels que eLife ou HAL ;
  • du moissonnage automatisé : à partir de forges logicielles (ex. GitHub, instances de GitLab) ;
  • de l’archivage sur mesure grâce à différentes modalités de dépôt par des individus.

Une fois archivés, les logiciels doivent être à la fois référencés et décrits. Le référencement nécessite une approche spécifique. Outre l’identification des différentes versions de logiciels permise par les identifiants pérennes, il faut aussi référencer les objets à différents niveaux de granularité afin de pouvoir identifier aussi bien un projet complet qu’un fragment de codes sources. C’est une des raisons pour lesquelles les identifiants pérennes ne sont pas des DOI (Digital Object Identifier) mais des SWHID (Software Heritage Persistent Identifier). Par ailleurs, le DOI est un identifiant extrinsèque (un fichier de correspondance entre le DOI et une URL est conservé ailleurs, par DataCites par exemple) ce qui n’offre pas une traçabilité suffisante dans une perspective de recherche reproductible. La description des logiciels se fait à plusieurs niveaux, via la documentation des logiciels et aussi grâce à des notices de métadonnées. Software Heritage a noué un partenariat avec le CCSD pour que la description des logiciels soit réalisée via HAL tandis que Software Heritage gère leur référencement. L’interaction entre forges logicielles, archive de code et archive ouverte est illustrée par la diapositive ci-dessous.

Illustration
Figure 2. Interaction entre forges logicielles, archive de code et archive ouverte

Source : Média Normandie, 2023-05-12. S. Granger. CC-BY-SA.

À la fin de la première partie de son intervention, Sabrina Granger a expliqué en quoi les principes FAIR 5

X

Les principes FAIR (Findable, Accessible, Interoperable, Reusable) décrivent comment les données doivent être organisées pour être plus facilement accessibles, comprises, échangeables et réutilisables. On en parle surtout pour les données de recherche mais les principes FAIR concernent toute ressource numérique disponible en accès ouvert relative à une activité scientifique.

s’appliquent de manière spécifique aux logiciels. La « trouvabilité » nécessite par exemple une finesse de granularité souvent supérieure aux jeux de données, l’interopérabilité se fait via des API (Application Programming Interface) et la réutilisation peut être définie de deux manières distinctes : ré-exécuter du code (faire fonctionner de nouveau un logiciel) ou « ré-utiliser », au sens de modifier du code pour un autre usage, une intégration à d’autres composants. Par ailleurs, au vu des difficultés à préserver les environnements logiciels, il est nécessaire de bien mesurer le rapport entre gain et coûts vis-à-vis des auteurs de logiciels car l’application de ces principes repose essentiellement sur eux.

Réseau des ambassadeurs

En mai 2023, le réseau des ambassadeurs de Software Heritage est composé de 28 membres qui sont issus du monde académique (scientifiques ou personnels d’appui) mais aussi de l’administration publique, de la culture ou de l’industrie. Software Heritage accompagne les ambassadeurs en leur apportant des conseils et en mettant de la documentation à leur disposition. Les ambassadeurs jouent un rôle important dans la diffusion de bonnes pratiques de préservation du logiciel au sein de différentes communautés disciplinaires.

Retours d’expérience dans les établissements

Retour d’expérience d’ambassadrices Software Heritage

Par Cécile Arènes et Océane Valencia, ambassadrices de Software Heritage à Sorbonne Université

Cécile Arènes et Océane Valencia ont souhaité devenir ambassadrices de Software Heritage suite à plusieurs sollicitations sur ce sujet et dans la mesure où le service des archives conservait déjà des fragments de logiciels. Les deux plus-values principales pour elles sont la compréhension fine de l’écosystème de Software Heritage grâce à l’accompagnement et à la documentation qui leur sont fournis et le réseau d’échange entre ambassadeurs pour partager des expériences et supports. En tant qu’ambassadrices, elles participent à la journée annuelle à l’Unesco et travaillent parfois sur des supports communs avec d’autres ambassadeurs comme un module de formation monté avec The Carpentries. Parmi les actions menées à Sorbonne université, elles proposent des formations lors de la Love data week (événement international sur les données de la recherche), ainsi que des rendez-vous individuels et des interventions dans les unités de recherche. D’une manière plus générale, la montée en compétences sur Software Heritage s’est accompagnée d’une acculturation plus large sur la gestion des codes sources et des logiciels et a permis des échanges avec d’autres réseaux métiers en vue de sensibiliser les communautés de recherche plus activement.

Politique autour des codes de la recherche à l’université Grenoble Alpes

Par Violaine Louvet, responsable de l’Atelier de la donnée de l’université Grenoble Alpes

Violaine Louvet a présenté brièvement les deux documents politiques qui encadrent l’implémentation de la stratégie Science ouverte de l’université Grenoble Alpes, le schéma directeur de la science ouverte et la charte science ouverte de l’établissement, dans lesquels les codes ont été inclus au même niveau que les données. Les objectifs principaux de l’université sont le renforcement de l’accompagnement et des bonnes pratiques, la diffusion des logiciels via Software Heritage et HAL, la consolidation des services en particulier pour le développement des logiciels (GitLab, JupyterHub) et le soutien aux modèles économiques libres.

Pour mettre en œuvre cette politique, deux réseaux de correspondants ont été mis en place dans les unités de recherche, sur HAL et sur les données de recherche. Le réseau des correspondants données est animé par la Cellule Data Grenoble Alpes qui regroupe les expertises, en particulier l’infrastructure de calcul Grenoble Alpe Research – Scientific Computing and Data Infrastructure (GRICAD), la bibliothèque universitaire, le délégué à la protection des données et les laboratoires. Elle s’appuie sur des infrastructures spécifiques (forge logicielle, serveur de notebooks et partage de notebooks) et offre des services autour du code pour intégrer les logiciels dans les plans de gestion des données, aider à la diffusion des logiciels, etc. Des formations et séminaires sont aussi organisés régulièrement. Un module sur la gestion des codes et logiciels a ainsi été intégré au catalogue des formations du collège des écoles doctorales, de même qu’un module sur l’utilisation de GitLab. Des webinaires sont aussi organisés sur le référencement et la diffusion des logiciels et les forges logicielles. La cellule prend aussi en charge la modération des dépôts logiciels de l’université Grenoble Alpes dans HAL. Parmi les projets à venir, la cellule souhaite mettre en place un catalogue des logiciels développés par l’université et particulièrement accompagner les unités de recherche au sujet des licences attribuées aux logiciels. L’ensemble de ces actions s’inscrivent dans l’offre de services globale d’appui à la science ouverte.

Synthèse de la demi-journée

Par Marie-Madeleine Géroudet, pilote de la commission Recherche et documentation de l’ADBU

Marie-Madeleine Géroudet a rappelé le travail de la commission Recherche et documentation de l’ADBU pour accompagner les services documentaires dans la mise en œuvre des services à la recherche. Alors qu’au début des années 2010 l’émergence du sujet de la gestion des données de recherche avait incité les bibliothèques universitaires françaises à regarder ce qui se faisait à l’étranger, c’est moins le cas aujourd’hui avec la « nouvelle frontière » que représente la question des codes sources et des logiciels. Cela illustre le travail réalisé aux échelles locales et nationales pour monter en puissance sur l’accompagnement à la science ouverte.

Plusieurs enjeux ressortent particulièrement de la matinée, notamment les chaînes de dépendance et la difficulté à maintenir la reproductibilité, le renouvellement des enjeux de signalement et de description de ces objets mouvants ou encore la nécessité de transcender les communautés disciplinaires et métiers pour répondre à ces enjeux. À certains égards, les questions posées par les codes sources et logiciels ressemblent à des questions déjà rencontrées dans le cadre de la science ouverte, telle que la valorisation des chercheurs qui diffusent des codes sources ou le lien entre des objets de nature différente, mais à d’autres égards les approches diffèrent, en particulier sur la nécessité d’adapter les principes FAIR à ce type d’objets qui présentent de nombreuses spécificités par rapport aux données de recherche. Des éléments de réponse à ces enjeux se dégagent déjà à l’échelle nationale, aussi bien par l’interopérabilité entre des plateformes de nature variée (Software Heritage, HAL, forges logicielles) que par le travail impulsé par le CoSO grâce au recensement des logiciels, à l’analyse des usages et à l’accompagnement des pratiques.

Pour les bibliothécaires, l’apparition de cette nouvelle frontière amène aussi une nouvelle extension du domaine d’action telle que celle connue avec les données de recherche. Grâce à cette expérience, les bibliothèques disposent déjà d’éléments de méthodologie pour aider les chercheurs sur ce nouveau sujet : organisation d’actions de sensibilisation et de formation, construction d’une expertise en interne et recours à des expertises extérieures, nécessité de s’appuyer sur l’existant et sur les infrastructures nationales comme le réseau des ambassadeurs de Software Heritage. Ce dernier semble particulièrement intéressant pour acquérir de bons réflexes sur la gestion des codes sources et logiciels et pas uniquement sur leur diffusion. Les possibilités de mutualisation avec d’autres établissements doivent aussi être explorées, d’autant plus sur un sujet qui posera la question des moyens de chaque établissement pour accompagner ses chercheurs dans un contexte où les écarts entre établissements se creusent dans ce domaine. Afin d’être en capacité d’étendre le champ d’action des bibliothèques malgré des moyens limités, il sera aussi nécessaire de faire de la place pour les codes et logiciels dans leurs discours et leurs actions. Cette place implique sans doute de repenser l’ensemble de l’équilibre de leurs actions en matière de science ouverte, par exemple en interrogeant la place aujourd’hui fortement dominante de l’accompagnement du dépôt des publications dans leurs activités.