Début avril, j’ai été invité à rejoindre le comité de pilotage (PMC) du projet libre et open source Orekit. J’ai accepté la proposition avec enthousiasme, alors que je ne connais rien à la mécanique spatiale – le domaine métier adressé par Orekit – et rien à Java – le langage dans lequel est développé cette bibliothèque. Je ne peux donc ni contribuer au code (euh…), ni aider les utilisateurs sur le forum. Dit ainsi, on peut se demander pourquoi on m’a invité et pourquoi j’ai accepté. :)

La réponse est simple : si un logiciel libre ne saurait exister sans développeurs, en fonction de sa taille, de sa nature et de sa complexité, il a aussi besoin de rédacteurs techniques, de traducteurs, de graphistes, de juristes, de webmasters, d’administrateurs système et réseaux, d’animateurs de communauté, de testeurs, d’experts du domaine, prêts à partager leur expérience et à aider les utilisateurs moins qualifiés, etc.

Bref, un projet libre ne se résume pas au code source et il y a bien plus d’une façon d’y contribuer. Examinons donc mon apport au projet.

En 2008, je travaillais déjà pour la division Espace de CS Group lorsque l’entreprise a décidé de diffuser Orekit sous licence libre. Luc Maisonobe (initiateur et leader technique d’Orekit) et Christine Fernandez (responsable du service de mécanique spatiale) m’ont impliqué dès le départ dans la réflexion sur la stratégie à adopter. J’étais là aussi en 2011, lorsque CS Group a décidé d’ouvrir la gouvernance du projet et je me souviens avoir proposé quelques amendements au brouillon de gouvernance. Depuis, j’ai suggéré à la communauté une autre révision de la gouvernance, visant à fluidifier le fonctionnement du projet et à faciliter la publication de patchs.

Si je ne connais rien à Java, j’ai une solide expérience du développement. Au fil des ans, j’ai proposé à la communauté d’adopter une plateforme de développement collaboratif et plusieurs bonnes pratiques (intégration continue, suivi qualimétrique). En 2018, j’ai proposé l’adoption de la forge GitLab et l’abandon des listes de diffusion au profit d’un forum moderne (Discourse). Guider la communauté vers les meilleures pratiques et lui proposer les meilleurs outils est mon souci constant, car la communauté est le bien le plus précieux d’un projet open source. Il faut veiller à lui fournir un cadre de collaboration attractif, accueillant et efficace.

Proposer des outils et des bonnes pratiques, c’est bien. Se charger de les mettre en œuvre, c’est mieux. Ayant quelques compétences en administration système, je m’occupe depuis 2011 de la plateforme de développement. Je suis celui qu’on vient voir lorsqu’un service ne répond plus ou lorsque la plateforme de CI/CD a un saute d’humeur.

Ce n’est pas du tout ma spécialité, mais je suis aussi l’auteur du site web actuel d’Orekit. Ce site web a d’ailleurs été créé il y a 10 ans et son look n’est plus au gout du jour, tout comme Jekyll n’est plus l’outil à privilégier aujourd’hui. Il serait grand temps de rafraichir tout ça. Si vous avez envie de faire quelque chose à ce niveau, de préférence via un générateur de site statique, n’hésitez pas à en parler sur le forum. ;)

Je le dis souvent dans mes conférences, j’ai un attachement personnel, profond et sincère, au projet Orekit. Je l’ai vu naitre, grandir, acquérir ses lettres de noblesse et devenir une référence dans son domaine. Mais j’ai surtout vu éclore et croitre sa communauté, exceptionnelle par sa qualité et son comportement. Je souhaite à tous les projets libres d’avoir une communauté telle que celle d’Orekit. Elle m’impressionne et je suis fier, à mon humble niveau, de faire partie de cette tribu.

Je vais faire de mon mieux au sein du PMC pour veiller à la bonne marche du projet. Je souhaite pousser quelques sujets en lien avec la gouvernance et l’animation de la communauté (adoption d’un code de conduite, nouvelle révision de la gouvernance), mais aussi des sujets techniques, telle l’adoption de la plateforme de gestion des traductions Weblate, pour rendre cette activité moins douloureuse.

Au-delà d’Orekit, avec le soutien de Luc Maisonobe et d’autres personnes, j’ai créé en 2013 la gouvernance du logiciel libre et open source de CS Group, ainsi que son Open Source Program Office (OSPO), que j’anime depuis 12 ans (cf. mon article Prix de la meilleure stratégie open source). J’accompagne les équipes qui souhaitent publier un projet sous licence libre ou contribuer à un projet tiers, en veillant à ce que les choses soient faites dans les règles de l’art. Mes 27 années d’expérience dans le logiciel libre et open source et ma passion pour ses quatre dimensions – technique, juridique, sociale et économique – trouvent leur plein emploi dans cet accompagnement.

Vous comprenez peut-être mieux maintenant pourquoi on m’a invité à rejoindre le PMC d’Orekit. ;)

Selon la gouvernance d’Orekit, de type méritocratique, lorsqu’un contributeur fait preuve d’une implication importante et soutenue dans le temps, le PMC peut reconnaitre son mérite en lui octroyant plus de droits et en le nommant « committer ». Un « committer » est une personne qui a le droit d’écrire dans le dépôt de code source officiel du projet, c’est donc un développeur. Ce terme laisse penser que la communauté Orekit ne saurait reconnaitre de mérite qu’à des développeurs. Ma nomination au PMC démontre que ce n’est pas le cas. Il se peut donc que je propose prochainement au PMC de remplacer dans la gouvernance, le terme « committer » par le terme plus inclusif de « maintainer » (mainteneur)…