20 ans de Fedora-fr : deuxième entretien avec Remi empaqueteurs de paquets RPM
Dans le cadre des 20 ans de Fedora-fr (et du Projet Fedora en lui-même), nous – Charles-Antoine Couret (Renault) et Nicolas Berrehouc (Nicosss) – avons souhaité poser des questions à des contributeurs francophones du Projet Fedora et de Fedora-fr.
Grâce à la diversité des profils, cela permet de voir le fonctionnement du Projet Fedora sous différents angles pour voir le projet au-delà de la distribution mais aussi comment il est organisé et conçu. Notons que sur certains points, certaines remarques restent d’application pour d’autres distributions.
N’oublions pas que le Projet Fedora reste un projet mondial et un travail d’équipe ce que ces entretiens ne permettent pas forcément de refléter. Mais la communauté francophone a la chance d’avoir suffisamment de contributeurs de qualité pour permettre d’avoir un aperçu de beaucoup de sous projets de la distribution.
Chaque semaine un nouvel entretien sera publié sur le forum Fedora-fr.org, LinuxFr.org et le blog de Renault.
L’entretien du jour concerne Remi Collet (pseudo remi), empaqueteur du Projet Fedora en particulier concernant l’écosystème PHP.
Sommaire
Peux-tu présenter brièvement ton parcours ?
40 ans, c’est long !
J’ai découvert l’informatique à une époque préhistorique où l’on travaillait sur des terminaux (texte) connectés à de gros systèmes avec des langages oubliés (Cobol…). Ensuite j’ai eu la chance de voir les choses changer.
Travaillant pendant 20 ans dans une grande administration française, et parallèlement dans une université à la gestion du matériel pédagogique. J’ai vu arriver les ordinateurs personnels, les premiers réseaux locaux, GNU, Linux, Windows, Internet… Rapidement à l’université (veille technologique) et progressivement dans le monde professionnel. Les solutions OpenSource ont toujours été au cœur de mon activité, et la contribution un but personnel.
Au départ développeur, je suis aussi devenu administrateur système et réseau.
Je travaille désormais chez Red Hat comme développeur, principalement chargé de PHP.
Peux-tu présenter brièvement tes contributions au Projet Fedora ?
Lorsque j’ai migré mon ordinateur personnel sous Linux il y a plus de 20 ans, j’ai passé beaucoup de temps sur les forums, pour apprendre des autres et aider les nouveaux.
Cela a été très formateur.
Ensuite je me suis investi dans la maintenance de paquets RPM pour mes besoins et pour partager. Et je me suis concentré sur le monde PHP.
Qu’est-ce qui fait que tu es venu sur Fedora et que tu y es resté ?
J’ai commencé avec Red Hat Linux 5 (1997), qui est devenu Fedora Core, puis Fedora. Au départ c’est le hasard d’un serveur livré avec un CD. Et depuis j’ai toujours été fidèle à l’une des premières distributions majeures.
Pourquoi contribuer à Fedora en particulier ?
Parce que c’est “la” distribution où les choses changent.
Peux-tu préciser les éléments qui confirment cela de ton point de vue ?
L’exemple le plus marquant est sans doute “systemd” qui a provoqué lors de sa sortie un débat technique très vif, mais qui est désormais sur toutes les distributions (ou presque).
Contribues-tu à d’autres Logiciels Libres ? Si oui, lesquels et comment ?
Principalement PHP et de nombreux projets autour (extensions, bibliothèques, applications…).
Utilises-tu Fedora dans un contexte professionnel ? Et pourquoi ?
Oui, depuis 1997 avec l’installation d’un serveur d’accès à Internet. Et aujourd’hui sur tous mes serveurs et postes de travail.
Tu as été recruté par Red Hat alors que tu étais déjà dans la communauté de Fedora, comment cela s’est passé ?
Depuis la fusion de Fedora Core + extras (2007), j’étais devenu le mainteneur du paquet PHP. Donc quand Red Hat a cherché à recruter un mainteneur spécifique pour PHP (2012), j’étais le mieux placé.
Ils t’ont contacté ou tu as postulé ?
Ils m’ont contacté (cooptation), ce qui tombait bien puisque je cherchais un nouvel emploi.
Est-ce que la contribution à Fedora a été un élément déterminant dans le processus ?
Clairement oui, ainsi que mon implication dans PHP, en amont.
Est-ce que tes contributions dans Fedora se font entièrement dans le cadre de ton travail ? Si non, pourquoi ?
Non.
Je contribuais au Projet Fedora avant de rejoindre Red Hat, et si j’ai la chance de pratiquer ma passion (l’OpenSource) dans mon travail, je continue aussi en dehors. Ma position m’a aussi permis d’augmenter mes contributions sur les autres projets.
Par contre, aujourd’hui je cherche à maintenir un équilibre afin de garder une vie privée et sociale saine.
Est-ce que être employé Red Hat te donne d’autres droits ou opportunités au sein du Projet Fedora ?
Non (en dehors du temps), et heureusement. Fedora est avant tout un projet communautaire.
Tu es actif au sein de SIG PHP, quel est le rôle de cette équipe de travail et de ton activité dans cette équipe ?
Ce groupe n’a jamais été très actif, et je suis désormais pratiquement seul.
Tu es également contributeur au sein du projet PHP lui-même, quelle est la nature de ton travail pour ce projet ?
Je contribue régulièrement au code, surtout sur des corrections de défauts rapportés par les utilisateurs de mon dépôt, de Fedora ou de RHEL. Je maintiens aussi quelques extensions (zip, mailparse, rpminfo…). Je participe aussi activement au processus de publication des nouvelles versions (QA avant annonce).
Quels bénéfices retires-tu de travailler sur les deux aspects du projet PHP à savoir upstream mais aussi sur la conception de ces paquets ?
Il me semble indispensable de communiquer entre l’amont (le projet PHP) et l’aval (le Projet Fedora). Être impliqué dans les 2 projets simplifie énormément les choses. Et évidement, il est plus facile de faire évoluer un projet lorsqu’on y contribue activement.
Quelles simplifications cela comporte plus en détail selon toi ?
Lorsqu’un utilisateur de Fedora (ou de mon dépôt) signale un bug, il est plus simple de le corriger en étant contributeur, soit directement, soit par le dialogue avec les autres développeurs.
De même pour les évolutions de la distribution qui peuvent avoir un impact sur PHP (exemple: l’intégration à systemd).
Et la réciproque est vraie pour les évolutions du projet qui peuvent affecter la distribution (exemple: la suppression d’extension ou l’ajout de nouvelles fonctionnalités nécessitant de nouveaux outils).
Être actif dans une communauté permet d’être connu et reconnu et donc d’être écouté.
Tu as aussi l’un des dépôts externes les plus populaires et actifs de Fedora centré sur PHP, pourquoi as-tu créé ce dépôt ? Pourquoi tu continues à l’alimenter alors que le projet Fedora fourni déjà PHP ?
Ce dépôt existe depuis 2005 et me permettait de partager mon travail avant de contribuer à Fedora.
Aujourd’hui c’est là que je prépare les évolutions avant qu’elles soient intégrées dans Fedora (puis dans CentOS Stream, puis dans RHEL). Par exemple PHP 8.3 présent dans Fedora 40 était dans mon dépôt depuis presque 1 an (Juin 2023, version 8.3.0alpha1)
Alors que Fedora fournit une seule version de PHP et une cinquantaine d’extensions, mon dépôt propose 5 versions (même 10 pour EL), ~150 extensions et 2 modes d’installation.
Pourquoi ne pas utiliser le système de COPR pour ce travail ?
Copr est très intéressant pour les petits projets. Dans mon cas, ce sont des milliers de paquets. Et Copr n’est pas adapté pour les modules, ni pour les quelques paquets non libres que je maintiens (ex: Oracle).
Peux-tu expliquer l’importance du mainteneur de paquet dans la distribution ? Quels choix il faut effectuer, les difficultés techniques rencontrées, etc.
C’est celui qui essai de coordonner les projets amont / aval et les utilisateurs en essayant de satisfaire des besoins parfois incompatibles de stabilité, de compatibilité, d’innovation.
Les “Modules” de Fedora étaient censés être un pilier de Fedora.next pour fournir différentes versions des piles technologiques, comme PHP, pour une version donnée de Fedora. Maintenant que c’est abandonné, peux-tu expliquer les raisons derrière cet échec ? Pour un empaqueteur, quelles ont été les difficultés derrière ?
https://blog.remirepo.net/post/2024/03/29/DNF-5-and-Modularity. Je retiendrais que ce projet répondait avant tout à un besoin de distribution entreprise qui n’est pas vraiment utile à Fedora avec un cycle de version très rapide (6 mois).
La complexité du système de construction a peut-être été une raison de son échec.
Tu as aussi écrit la documentation française pour faire ses propres paquets RPM et tu as aidé de nombreux francophones à réaliser leurs premiers paquets, qu’est-ce qui t’intéresse à guider les débutants dans cette activité ?
Le partage.
Accompagner un débutant est toujours passionnant, humainement et techniquement. Cela permet aussi de répondre à des questions qu’on ne se pose pas forcément, et donc de se remettre en cause.
Les paquets traditionnels ne sont plus l’unique voie d’avoir un logiciel qui tourne sous Fedora. Avec Flatpak, Snap ou des solutions tels que Docker / Podman cela devient possible de s’en affranchir. Comment vois-tu l’évolution des paquets au sein d’une distribution dans Fedora ? Que penses-tu de ces évolutions ?
Avant on cherchait à créer une distribution cohérente ou chaque composant était partagé et utilisé par les autres (une sorte de Lego).
Aujourd’hui, et je le regrette, beaucoup ont abandonné cet objectif et beaucoup de projets préfèrent embarquer tous les composants qu’ils utilisent.
C’est le cas de PHP avec “composer”, de langages comme Rust où la notion de bibliothèques partagées n’existe même plus. Flatpack / Snap n’en sont qu’un développement extrême.
N’est-ce pas aussi parce que cela résout certaines problématiques liées à la rigidité des paquets qui rendent notamment la cohabitation de versions différentes délicates ou de rendre l’environnement de travail plus modulaire ?
Je pense que cela ne résout rien. On sait parfaitement installer plusieurs versions d’une bibliothèque simultanément.
Disons que c’est la solution de facilité, on n’essaie même plus de faire propre. Sans parler des projets qui embarquent des copies modifiées, sans que les modifications soient reversées ou discutées.
Si tu avais la possibilité de changer quelque chose dans la distribution Fedora ou dans sa manière de fonctionner, qu’est-ce que ce serait ?
La communauté Fedora est composée de gens passionnés. La passion entraine parfois des positions excessives et des discussions sans consensus possible.
La communauté des contributeurs a tué de beaux projets, comme les « Softwares Collections » ou les “modules”. Je trouve cela dommage.
Peux-tu expliquer ce que sont les Software Collections et pourquoi cela n’a pas abouti ? Quelles différences avec les modules notamment ?
Les Software Collections permettent une méthode standard d’installation de plusieurs versions d’une application sans conflit espace de nom différent, installation sous /opt et sans risque d’altération du système de base.
Le projet ayant été développé par Red Hat pour les besoins de sa distribution Entreprise il a provoqué un vif débat technique (ex: non respect de la FHS, ce qui a été corrigé par la suite) et a même provoqué l’épuisement et le départ de 2 membres du FPC.
La complexité d’utilisation (activation de la SCL) a aussi été des raisons de leur détestation.
Ce besoin étant quasi inexistant pour Fedora, personne n’a eu la force d’améliorer la solution qui a été abandonnée.
Les modules permettent de fournir plusieurs versions alternatives d’une application, mais sans permettre une installation simultanée. Fonctionnellement c’est comme si chaque version est disponible dans un dépôt différent qu’il suffit d’activer.
À l’inverse, est-ce qu’il y a quelque chose que tu souhaiterais conserver à tout prix dans la distribution ou le projet en lui-même ?
La passion justement, qui reste un moteur indispensable. S’il n’y a plus de passion, plus de plaisir, autant arrêter (j’ai abandonné quelques projets pour cela).
Que penses-tu de la communauté Fedora-fr que ce soit son évolution et sa situation actuelle ? Qu’est-ce que tu améliorerais si tu en avais la possibilité ?
La communauté Fedora est surtout composée de contributeurs. D’autres distributions ont une communauté d’utilisateurs et sont excellentes pour leur promotion.
Je n’ai malheureusement pas d’idée magique pour augmenter la communauté Fedora-Fr.
Je pense aussi que les contributeurs français sont souvent actifs dans la communauté globale (en anglais) plutôt que dans la communauté française.
Trouves-tu que c’est spécifique à la communauté francophone ?
Je ne sais pas, je ne connais pas trop les autres communautés, mais je rencontre beaucoup de nationalités différentes dans la communauté anglophone.
Merci Remi pour ta contribution !
Conclusion
Nous espérons que cet entretien vous a permis d’en découvrir un peu plus sur l’empaquetage de Fedora.
Si vous avez des questions ou que vous souhaitez participer au Projet Fedora ou Fedora-fr, ou simplement l’utiliser et l’installer sur votre machine, n’hésitez pas à en discuter avec nous en commentaire ou sur le forum Fedora-fr.
À dans 10 jours pour un entretien avec Emmanuel Seyman, ancien président de Borsalinux-fr et actuel empaqueteur dans l’écosystème du langage Perl.
Commentaires : voir le flux Atom ouvrir dans le navigateur