This commit is contained in:
Olivier Maury 2023-05-23 17:16:33 +02:00
parent c8c4be929d
commit 291b13ef32
2 changed files with 13 additions and 13 deletions

View file

@ -67,7 +67,7 @@ Publication et maintenance de sites web
Rédaction d'articles scientifiques
: en utilisant des outils de composition de documents tels que LaTeX, en passant éventuellement par un langage semi-structuré comme markdown, asciidoc ou reStructuredText plus simple à appréhender comme source ;
: en utilisant des outils de composition de documents tels que LaTeX, en passant éventuellement par un langage semi-structuré comme Markdown, AsciiDoc ou reStructuredText plus simple à appréhender comme source ;
Partage de données, de modèles
@ -103,7 +103,7 @@ Il est important de pouvoir accueillir ce type de projets. Dans ce cadre, l'outi
Plus généralement, il est aussi important, pour certains projets, de pouvoir interagir avec des utilisateurs hors Enseignement supérieur et Recherche (collecte de retours via des « tickets », contribution de code, de documentation). C'est un facteur décisif pour qu'une communauté d'utilisateurs et de contributeurs puisse se développer autour de ces logiciels.
\end{observation}
La modularité et la construction de logiciels par l'intégration de composants (c'est-à-dire d'autres briques logicielles), rendus disponibles grâce au cadre de la science ouverte et une diffusion libre, sont aussi des vecteurs facilitateurs de collaborations, disciplinaires comme interdisciplinaires.
La modularité et la construction de logiciels par l'intégration de composants (c'est-à-dire d'autres briques logicielles), rendues disponibles grâce au cadre de la science ouverte et une diffusion libre, sont aussi des vecteurs facilitateurs de collaborations, disciplinaires comme interdisciplinaires.
Les logiciels libres de la recherche peuvent aussi servir de sujets d'étude pour les chercheurs en génie logiciel. Les rendre accessibles sur une forge bien identifiée favoriserait leur réutilisation dans ce cadre. De plus, en intégrant létat de lart en matière de génie logiciel (analyse statique de code, tests, assurance qualité, documentation, etc.), une forge académique permettrait à l'ensemble de la communauté de profiter des nouvelles avancées dans ce domaine.
@ -124,7 +124,7 @@ Une stratégie minimaliste est de diffuser le logiciel en l'état, sans favorise
Une stratégie plus volontariste est de diffuser le logiciel sur une forge, pour permettre des retours d'autres utilisateurs (notamment via un système de tickets). Il est alors préférable de réaliser en amont un effort de documentation sur le fonctionnement et la construction du logiciel, pour éviter des sollicitations fréquentes sur ces sujets. Il s'agit ici d'une véritable approche de valorisation du logiciel. De plus en plus de projets de recherche intègrent cet aspect durant le déroulement du projet.
Une stratégie accomplie est d'ouvrir le développement même du logiciel, pour faciliter les contributions d'autres développeurs (au travers des MR/PR). Il est alors pertinent de documenter le fonctionnement interne du logiciel pour faciliter la plongée dans le code, par exemple en rédigeant un « manuel de maintenance ». Il est aussi utile de documenter le processus de contribution: style de code attendu, processus de soumission de MR/PR, de relecture de code, fonctionnement de la CI, accord de cession de droits d'auteur, etc. Les forges permettent généralement de faciliter ce processus, pour favoriser les contributions. Cela peut être décisif dans la prise d'envol d'un projet logiciel, dont la maintenance et le développement peuvent alors être supportés par une communauté internationale (bénéficiant donc d'une puissance de travail importante), plutôt que la seule équipe de recherche à l'origine du logiciel (avec ses moyens limités).
Une stratégie accomplie est d'ouvrir le développement même du logiciel, pour faciliter les contributions d'autres développeurs (au travers des MR/PR). Il est alors pertinent de documenter le fonctionnement interne du logiciel pour faciliter la plongée dans le code, par exemple en rédigeant un « manuel de maintenance ». Il est aussi utile de documenter le processus de contribution : style de code attendu, processus de soumission de MR/PR, de relecture de code, fonctionnement de la CI, accord de cession de droits d'auteur, etc. Les forges permettent généralement de faciliter ce processus, pour favoriser les contributions. Cela peut être décisif dans la prise d'envol d'un projet logiciel, dont la maintenance et le développement peuvent alors être supportés par une communauté internationale (bénéficiant donc d'une puissance de travail importante), plutôt que la seule équipe de recherche à l'origine du logiciel (avec ses moyens limités).
Les forges utilisées pour le déroulement du projet et pour la valorisation du logiciel peuvent être différentes, afin de s'adapter aux besoins respectifs de ces deux versants.
@ -231,7 +231,7 @@ Récemment, le ministère de léducation nationale et de la jeunesse a annonc
\textit{Par ailleurs, les communautés denseignants (et dautres acteurs de léducation) peuvent
également être des lieux de construction de nouveaux outils. Des professeurs, notamment
de NSI ou de SNT, sont en attente dune «forge» qui leur permettrait de collaborer entre pairs
de NSI ou de SNT, sont en attente dune « forge » qui leur permettrait de collaborer entre pairs
et de partager du code informatique. Le ministère répond dorénavant à ce besoin avec la mise à disposition
dune forge technologiquement souveraine et mutualisée à léchelle nationale.}
\end{autre*}
@ -277,7 +277,7 @@ On peut noter, à la fin des années 2010, le passage de la technologie GForge/F
### Pourquoi tant de forges auto-hébergées ?
Il est difficile de répondre à cette question car il existe sans doute de nombreuses raisons à cet état de fait. Il est néanmoins possible d'avancer quelques éléments susceptible d'expliquer cette situation.
Il est difficile de répondre à cette question car il existe sans doute de nombreuses raisons à cet état de fait. Il est néanmoins possible d'avancer quelques éléments susceptibles d'expliquer cette situation.
Tout d'abord, on peut noter que la quasi-totalité des forges répertoriées sont des instances de GitLab. Ce logiciel est très simple à installer et à maintenir, et n'est pas gourmand en ressources informatiques. Il peut donc être facilement déployé dans un établissement à moindre coût, humain et financier.
@ -301,7 +301,7 @@ Plus récemment, Eclipse a décidé de migrer vers GitLab sa plateforme techniqu
> *If Eclipse projects want any hope of drawing those fresh young minds into their open source world, and turning casual explorers into productive contributors, it needs to be as simple as pulling a Minecraft mod. It needs to be on GitHub, or on a modern stack that works just like it, such as GitLab.*
Pour résumer, les pratiques de développement ont évolué de façon significative, avec le passage rapide en quelques années des forges orientées utilisateurs aux forges orientées développeurs qui ont mis au centre de lattention le code source et facilité ladoption massive de lapproche de contribution via les *forks* et les *pull requests* ou *merge requests*.
Pour résumer, les pratiques de développement ont évolué de façon significative, avec le passage rapide en quelques années des forges orientées utilisateurs aux forges orientées développeurs qui ont mis au centre de lattention le code source et facilité ladoption massive de lapproche de contribution via les *forks* et les *pull requests* ou *merge requests*.
\begin{observation}{}{}
Un défi majeur pour une forge nationale est donc de surveiller activement les évolutions des usages et des solutions techniques, et dengager les transformations nécessaires pour permettre doffrir à tous les utilisateurs un environnement familier et cohérent avec les outils quils utilisent lorsqu'ils collaborent sur dautres projets logiciels.
@ -313,17 +313,17 @@ En labsence dune stratégie ambitieuse dans ce sens, et au vu de la facili
### Difficulté d'interaction avec la société
La principale limitation des forges disponibles actuellement dans l'Enseignement supérieur et de la Recherche est le fait que le public de ces forges ((c'est-à-dire les personnes pouvant créer un compte) est limité : la plupart des instances de forges disponibles ne permettent pas à une personne extérieure à l'Enseignement supérieur et de la Recherche de créer elle-même un compte sur ces plateformes. Il existe donc un frein à l'interaction avec la société.
La principale limitation des forges disponibles actuellement dans l'Enseignement supérieur et de la Recherche est le fait que le public de ces forges (c'est-à-dire les personnes pouvant créer un compte) est limité : la plupart des instances de forges disponibles ne permettent pas à une personne extérieure à l'Enseignement supérieur et de la Recherche de créer elle-même un compte sur ces plateformes. Il existe donc un frein à l'interaction avec la société.
Si certaines de ces forges permettent la création de comptes externes, elles sont souvent difficiles daccès (par exemple, pour `gitlab.inria.fr`, un compte externe doit être « parrainé » par une personne membre dune équipe-projet Inria) et limitées (le compte externe GitLab ne permet pas de créer ses propres projets). Il est donc souvent impossible, ou à tout le moins très difficile, de proposer des changements avec ce genre de compte, car cela nécessite d'effectuer un *fork* du projet original, et donc de créer un projet propre sur la forge. Rapporter un bogue nécessite davoir obtenu un compte au préalable, ce qui peut être rédhibitoire.
> L'approche d'OW2 est pragmatique : elle permet à chacun de créer un compte sur sa plateforme, mais limite par défaut à deux le nombre de créations de nouveaux projets. Cela permet à un utilisateur d'un logiciel OW2 d'interagir facilement avec le système de tickets et de pouvoir proposer une contribution de code. Les gestionnaires de la forge ont pu constater que cette ouverture par défaut n'est pas une source de création de comptes fantômes. OW2 délègue cependant la création de comptes à son annuaire, et pas directement à sa forge.
> L'approche d'OW2 est pragmatique : elle permet à chacun de créer un compte sur sa plateforme, mais limite par défaut à deux le nombre de créations de nouveaux projets. Cela permet à un utilisateur d'un logiciel OW2 d'interagir facilement avec le système de tickets et de pouvoir proposer une contribution de code. Les gestionnaires de la forge ont pu constater que cette ouverture par défaut n'est pas une source de création de comptes fantômes. OW2 délègue cependant la création de comptes à son annuaire, et pas directement à sa forge.
> RENATER propose la création d'un [compte réseau universel (CRU)](https://services.renater.fr/federation/outils/comptes-cru/index) pour permettre aux personnes extérieures à l'Enseignement supérieur et de la Recherche d'accéder à ces services en acceptant ce fournisseur virtuel d'identité.
> Certaines forges permettent l'authentification à l'aide du compte CRU.
\begin{observation}{}{}
En général, les logiciels de forges tels que GitLab ne permettent pas de limiter la création de projets à de simples contributions (c'est-à-dire à des \textit{forks} de projets de la plateforme). Il n'y a pas non plus de moyen d'empêcher un utilisateur de déposer des des photos ou vidéos sur son espace de projet.
En général, les logiciels de forge tels que GitLab ne permettent pas de limiter la création de projets à de simples contributions (c'est-à-dire à des \textit{forks} de projets de la plateforme). Il n'y a pas non plus de moyen d'empêcher un utilisateur de déposer des photos ou vidéos sur son espace de projet.
Or, permettre la création de projets à des personnes extérieures à l'établissement peut poser des problèmes juridiques, tels que de respect de \href{https://www.legifrance.gouv.fr/jorf/id/JORFTEXT000042031970}{la loi du 24 juin 2020 relative à la lutte contre les contenus haineux sur Internet}.
\end{observation}
@ -633,7 +633,7 @@ société toute entière.
Sil existe bien une forge nationale pour l'Enseignement supérieur et la Recherche, SourceSup, son évolution
fonctionnelle a divergé des pratiques dune bonne partie des développeurs de
l'Enseignement supérieur et de la Recherche, et aucune évolution majeure n'est prévue à ce jour; sous sa forme actuelle,
l'Enseignement supérieur et de la Recherche, et aucune évolution majeure n'est prévue à ce jour ; sous sa forme actuelle,
elle ne répond donc plus aux besoins exprimés.
La disponibilité de solutions sous licences libres pour installer des forges qui

View file

@ -103,7 +103,7 @@ include-before: |
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 peut développé maintenant (la dernière version du logiciel date de 2018).
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.
@ -121,9 +121,9 @@ include-before: |
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 artefacts associé 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.
Les forges logicielles sont principalement conçues pour gérer sur tout leur cycle de vie les différents artefacts 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 logiciels 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.
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.