forges-esr/intro-etatdeslieux.md
2023-06-03 00:48:20 +02:00

13 KiB
Raw Blame History


title: "Forges de lEnseignement supérieur et de la Recherche" subtitle: Définition, usages, limitations rencontrées et analyse des besoins author: "Collège Codes sources et logiciels du Comité pour la science ouverte" date: Mai 2023 logo: ouvrirlasciencelogo.jpg toc-title: Sommaire titlepage-background: "fond_ouvrir_la_science.jpg{=latex}" titlepage-text-color: 5A28C8 titlepage-rule-color: 5A28C8 section-color: 5A28C8 caption-color: 5A28C8 table-use-row-colors: true logo-width: 12cm colorlinks: true book: true classoption: oneside

draft: Document de travail

header-includes: | \usepackage{tcolorbox} \tcbuselibrary{theorems} \definecolor{box-color1}{HTML}{bbfae9} \newtcbtheorem{observation}{Observation}{left=.3cm,right=.3cm,toptitle=.3cm,bottom=.3cm,middle=.1cm,colback=box-color1,colframe=box-color1,coltitle=black,fonttitle=\bfseries}{th} \definecolor{box-color2}{HTML}{eaeaea} \newtcbtheorem{autre}{À noter aussi }{left=.3cm,right=.3cm,toptitle=.3cm,bottom=.3cm,middle=.1cm,colback=box-color2,colframe=box-color2,coltitle=black,fonttitle=\bfseries}{th} \usepackage[labelfont={color=box-color1,bf},textfont={color=box-color1}]{caption} \definecolor{bar-color1}{HTML}{7846ff} \definecolor{bar-color2}{HTML}{ffe552} \definecolor{coso-title-color}{HTML}{5A28C8} \usepackage{enumitem} \usepackage{titlesec} \usepackage{moresize} \newcommand{\hsp}{\hspace{20pt}} \titleformat{name=\chapter}[hang]{\Huge\bfseries}{\thechapter\hsp|\hsp}{0pt}{\Huge\bfseries} \titlespacing*{\chapter}{-1.5cm}{10pt}{10pt} \titleformat{name=\chapter,numberless}[hang]{\color{coso-title-color}\HUGE\bfseries}{}{0pt}{\color{coso-title-color}\HUGE\bfseries} \titlespacing*{\chapter}{-1.5cm}{10pt}{10pt} \usepackage{wrapfig} \usepackage{afterpage} \usepackage{authoraftertitle} \hyphenation{ac-ti-vi-té ac-ti-vi-tés} \hyphenation{an-cien-nes} \hyphenation{de-ve-nue} \hyphenation{dis-po-ni-bles} \hyphenation{évo-luent} \hyphenation{exem-ple exem-ples} \hyphenation{fa-ci-li-té} \hyphenation{gé-né-ra-li-sa-tion} \hyphenation{ins-tan-ce ins-tan-ces} \hyphenation{ins-tau-rer} \hyphenation{ins-ti-tu-tion} \hyphenation{maxi-mum} \hyphenation{orien-tées} \hyphenation{per-mettre per-mettant} \hyphenation{pro-blè-me pro-blè-mes} \hyphenation{qua-li-té} \hyphenation{re-la-ti-ve-ment} \hyphenation{uti-li-sées} \hyphenation{usa-ge} include-before: | \newpage \newgeometry{margin=0.5in} \color{coso-title-color}{\HUGE\thetitle}

\color{coso-title-color}{\Huge Définition, usages, limitations rencontrées et analyse des besoins}

\color{black} \Large \par\noindent\rule{1.5cm}{1.5pt} Collège codes sources et logiciels du Comité pour la science ouverte \par\noindent\rule{1.5cm}{1.5pt} GT 2: Outils et bonnes pratiques techniques et sociales

Daniel LE BERRE (co-pilote GT2) Université d'Artois/CNRS

Jean-Yves JEANNAS (co-pilote GT2) Université de Lille/AFUL

Roberto DI COSMO (co-pilote du collège) Inria/Université Paris Cité

François PELLEGRINI (co-pilote du collège) Université de Bordeaux/CNRS/CNIL

\par\noindent\rule{1.5cm}{1.5pt}

\MyDate

\par\noindent\rule{1.5cm}{1.5pt} \vfill DOI : 10.52949/34 \vfill \normalsize Conception graphique : opixido

\noindent\begin{minipage}{0.2\textwidth} \includegraphics{ccby.png} \end{minipage} \begin{minipage}{0.75\textwidth}\raggedright Except where otherwise noted, this work is licensed under https://creativecommons.org/licenses/by-nd/4.0/deed.fr \end{minipage} \vfill \clearpage \restoregeometry

Résumé

Lancée en 1999, la première forge logicielle, SourceForge, a été conçue pour permettre aux développeurs de logiciels libres de construire leurs logiciels de manière collaborative et de les diffuser auprès de leurs utilisateurs. Depuis, les forges logicielles sont devenues un outil incontournable pour tous les développeurs de logiciels. Elles intègrent les outils de développement collaboratif (pour le suivi des modifications du code, la gestion des demandes et des réponses dutilisateurs - tickets -, la gestion des contributions, la gestion du projet), lindustrialisation du processus de création du logiciel à partir de son code source (compilation, tests automatiques, assurance qualité, diffusion des livrables) et des outils de communication comme des forums.

Une forge logicielle, cest aussi un réseau social de développeurs. Dès que lon souhaite favoriser lutilisation et les contributions autour dun logiciel, se pose la question de choisir la forge en fonction du public, du réseau visé. On peut viser un public de développeurs de lEnseignement supérieur et de la Recherche français ou international. Il existe des fédérations didentité comme RENATER ou eduGAIN qui permettent depuis longtemps ces collaborations. Plusieurs forges de lEnseignement supérieur et de la Recherche donnent accès à ces réseaux de collaboration. Si lon souhaite ouvrir et partager les codes sources issus de la recherche avec la société dans son ensemble, deux alternatives existent : les forges communautaires libres ou les forges commerciales. Les forges communautaires libres permettent de diffuser au sein dune communauté un logiciel libre qui a été coopté par cette communauté. La difficulté est donc de trouver une communauté adaptée au logiciel que lon développe. Les forges commerciales offrent de nombreuses fonctionnalités, avec très peu de contraintes, et souvent de nombreux services quand les logiciels développés sont diffusés sous une licence libre. Parmi ces forges commerciales GitHub, propriété de Microsoft est la plus utilisée, suivi de BitBucket, propriété dAtlassian, et de GitLab, propriété de GitLab Inc.

Certaines forges, communautaires ou commerciales comme GitLab, peuvent être auto-hébergées par des établissements de lEnseignement supérieur et de la Recherche, certains disposant ainsi de leur propre forge publique. Cet état des lieux en comptabilise 39 auxquelles sajoutent les forges à usage interne. Ces forges auto-hébergées sont souvent simples à installer : dun simple exécutable pour des solutions comme Gogs, Gitea ou Forgejo, à un ensemble de logiciels préconfigurés intégrés à une distribution Linux pour GitLab par exemple. GitLab est en effet une forge commerciale (gitlab.com) basée sur un logiciel libre de forge que lon peut installer sur ses propres serveurs. Le modèle économique de GitLab Inc. est basé sur la vente de licences pour apporter des fonctionnalités supplémentaires aux utilisateurs du service en ligne ou des administrateurs des forges auto-hébergées.

De fait, linstallation dune forge auto-hébergée pour du développement collaboratif interne nécessite peu de moyens humains ou matériels, et offre une large palette de solutions. Par contre, dès que lon souhaite souvrir sur lextérieur, intégrer des solutions dindustrialisation du développement logiciel, mettre en place des bonnes pratiques de développement, un effort plus conséquent est nécessaire et le choix de la solution peut être guidé par des critères différents : popularité de la plateforme, fonctionnalités offertes, robustesse.

Dans lenseignement supérieur et la recherche, les développeurs de logiciels soutiens ou issus de travaux de recherche ont le choix entre diverses forges pour héberger leur production logicielle. Si leur établissement dispose dune forge, cest la solution la plus simple, surtout si aucune interaction en dehors de létablissement nest nécessaire.

Quand un besoin dinteraction plus important est nécessaire, les communautés qui développent des logiciels de recherche se tournent fréquemment vers les forges commerciales en ligne, comme en témoignent les lauréats du premier prix science ouverte du logiciel libre de recherche : 9 projets hébergés sur GitHub et un projet hébergé sur SourceForge. Leffet réseau social « on va ou il y a le plus de monde », et la portée internationale des projets justifient ce choix. Il faut cependant se souvenir quune forge commerciale peut disparaître en peu de temps : ce fût le cas pour la forge de google, Google Code, dont lactivité a cessé au bout de neuf années dexistence, en quelques mois. La même mésaventure est arrivée à la solution dhébergement Gitorious. De plus, ces forges ont des conditions dutilisation que chaque membre doit accepter à titre individuel et non au titre de son établissement.

Les forges auto-hébergées sont un moyen de minimiser ce genre de problème. Il peut cependant aussi arriver que la solution choisie ne soit plus maintenue, ou développée sous une licence libre : cest arrivé avec le code de SourceForge, maintenu dans une version communautaire sous le nom de GForge, qui a lui même changé de licence, pour être maintenu dans une version communautaire sous le nom de FusionForge, pour arriver à un logiciel peu développé maintenant (la dernière version du logiciel date de 2018).

Le choix de lauto-hébergement, et de la forge utilisée, nest donc pas anodin. Sur les 39 forges répertoriées, 37 sont des instances de GitLab (les deux autres forges utilisent respectivement Tuleap et Gogs). On peut expliquer cette domination de GitLab par sa simplicité dinstallation et de maintenance et la richesse des fonctionnalités offertes.

Lintérêt de disposer dune forge spécifique à lEnseignement supérieur et de la Recherche, quelle que soit léchelle (établissement, nationale, européenne, internationale) se pose donc. Les forges détablissement apportent une réponse quand le développement est interne à létablissement et quune forge détablissement existe. On maîtrise dans ce cas les fonctionnalités offertes, et laccès aux données, par contre cela n'autorise que très peu ou pas le développement entre plusieurs établissements. Quand une forge d'établissement n'existe pas ou n'offre pas aux porteurs de projets d'inviter des contributeurs externes, une forge nationale ou européenne permettrait doffrir une alternative à lutilisation des forges commerciales.

Au milieu des années 2000, une forge nationale, SourceSup, a été mise en place par RENATER pour dépasser ces restrictions dinteraction. Cependant, cette forge, qui représentait létat de lart lors de sa création, propose désormais à ses utilisateurs une collection doutils qui sort des standards de développement actuels.

Cet état des lieux dresse le panorama des forges et pratiques existantes et met en avant un certain nombre dobservations et de points de vigilance sur la situation actuelle.

...

Introduction

Ce rapport porte sur les forges logicielles utilisées dans les établissements de lenseignement supérieur et de la recherche (ESR). En particulier, il s'intéresse aux pratiques et aux besoins, en terme de génie logiciel, pour valoriser au mieux les productions logicielles issues de la science ouverte. Lobjectif de ce document est de faire un premier état des lieux des forges logicielles utilisées dans lEnseignement supérieur et la recherche français et didentifier les moyens de rendre plus visibles les productions logicielles issues de la science ouverte.

Les forges logicielles sont principalement conçues pour gérer sur tout leur cycle de vie les différents artéfacts associés aux activités de génie logiciel, comme le code source, les fichiers binaires ou encore les documentations. Les forges peuvent aussi être utilisées pour la rédaction collaborative darticles scientifiques ou de documentation, ou encore de pages web, à laide doutils de transformation de fichiers textes faiblement structurés (par exemple, Markdown et AsciiDoc). Ces activités nécessitent de plus une intégration continue avec les outils de transformation, de déploiement et de publication ouverte du code source, de la documentation. Ce document nest donc pas strictement limité au logiciel proprement dit, son code source et ses binaires, mais à la gestion de tous les artefacts produits et échangés pour produire un logiciel de qualité, partageable et réutilisable. Les forges logicielles sont aussi utilisées pour partager des données, des modèles, de manière collaborative. Leur usage impacte donc les trois piliers de la science ouverte.

Notons que cette analyse ne concerne que les besoins de lactivité recherche de lEnseignement supérieur et de la Recherche. Elle ne concerne pas les besoins de forges en enseignement, ni ceux des outils de système dinformation pour le fonctionnement des établissements. Il sagit en premier lieu de faire un état des lieux des pratiques actuelles et des propositions dactions afin de favoriser de bonnes pratiques de développement et de valorisation de la production logicielle. Cette proposition daction sappuie sur une analyse des limitations actuelles, et une première estimation des besoins communs.

Ce document structuré autour de trois chapitres précise pour tous le rôle des forges logicielles et dresse pour les publics avertis en développement logiciel un premier état des lieux des forges de lEnseignement supérieur et de la Recherche et de leurs usages. Sur la base de lanalyse des limitations rencontrées par les établissements de lEnseignement supérieur et de la Recherche, des premières pistes daction sont suggérées.