Logo du Podcast Projets Libres !

[Les fondamentaux] Gouvernance Open Source dans les projets et les entreprises

Gouvernance dans les projets et les entreprises


Walid : Bienvenue à toutes et à tous pour ce nouvel épisode. Aujourd’hui, c’est un épisode qui découle d’une anecdote que je vais vous raconter. On est au Capitole du Libre 2025 (NDLR : erreur c’est 2024), il est 10 h du matin, je rencontre notre invité Sébastien Dinot, devant son stand, le stand de CS. On discute et il me dit « Écoute Walid, tu as fait un épisode sur les modèles économiques et la gouvernance du logiciel libre, j’ai écouté tout l’épisode et en fait je dois te dire que je ne suis pas content parce que tu ne parles pas du tout de gouvernance. » Et je lui ai dit « Tu as tout à fait raison, donc on va faire un épisode sur c’est quoi la gouvernance dans un logiciel libre et dans une entreprise ». Donc nous y voilà. Notre invité aujourd’hui, c’est Sébastien Dinot, qui va se présenter juste après. Comme d’habitude, mon compère pour parler de ces sujets-là, c’est Raphaël Semeteys qui est devrel chez Worldline. Bonjour Raphaël et bonjour Sébastien et bienvenue sur Projets Libres !

Sébastien : Bonjour Walid et bonjour Raphaël.

Présentation de Sébastien Dinot

Walid : Super, écoutez, on est en forme, il fait beau, c’est parti pour cet épisode. Aujourd’hui, donc, on reçoit Sébastien Dinot et Sébastien, je vais te laisser te présenter tout d’abord. Est-ce que tu peux nous parler un peu de toi et nous dire comment t’es tombé dans le logiciel Libre ?

Sébastien : Je travaille pour la direction technique de CS Group, qui est une filiale de Sopra Steria. Et mon travail au quotidien consiste à accompagner les équipes de CS et nos clients dans leur acculturation au logiciel libre. C’est-à-dire que je vais les accompagner dans les quatre dimensions qui sont la dimension technique, juridique, sociale et économique. Concrètement, ça peut passer par des audits de conformité juridique, un accompagnement pour une contribution, expliquer comment on va libérer un projet, voire la stratégie afférente, ou carrément élaborer la stratégie de l’entreprise vis-à-vis du logiciel libre. J’ai créé il y a 12 ans l’Open Source Program Office – l’OSPO – de CS. Sinon, à part, ça, à titre privé, j’ai été membre du conseil d’administration de l’APRIL, le secrétaire, puis vice-président pendant 13 ans.

Walid : Comment tu as découvert le logiciel libre ? C’était à quel moment, c’était pendant tes études, c’était après ?

Sébastien : Après… je suis vieux. J’en ai un souvenir très précis. C’était en février 1998. En février 1998, je ne sais pas si ça vous parle, mais c’est un pur hasard. J’ai découvert ça bien longtemps après. C’était au moment où Christine Peterson, Bruce Perens, Eric Raymond et compagnie créaient l’Open Source Initiative. Au moment où ils créaient l’OSI, moi, je disais à deux potes, « il faudrait que je me forme à Unix, ça serait quand même bien pour ma culture ». Et ces deux gars m’ont dit, « écoute, on a entendu parler d’un Unix gratuit qui fonctionne sur PC, tu devrais essayer ça. Ça s’appelle Linux ». Ok. Je n’avais pas encore Internet à ce moment-là. Je vais dans une librairie, je tombe sur un bouquin : « Initiation à Red Hat Linux ». Ça devait être la 4.8, je crois, à l’époque. J’ai acheté le bouquin, j’ai installé le CD et j’ai découvert un monde. Et très vite, je me suis dit, « mais c’est génial, j’ai un tas d’outils ». Et tout un tas de questions se sont arrivées, en fait. Comment ça se fait que j’ai tous ces outils gratuitement ? Qui les fait ? Pourquoi ? Comment ça marche ? Je me suis posé plein de questions. J’ai vraiment commencé à m’intéresser à la façon dont étaient produits ces logiciels, qui, à l’époque, pour moi, étaient avant tout gratuits. Et puis, à Paris, en octobre 1998, c’était la Fête de la science, j’entends parler d’une animation autour du logiciel libre à la Cité des sciences. J’y suis allé. Et là, je tombe sur une bande de jeunes hackers passionnés, avec une énergie débordante, qui font des démos et tout. Et puis, je les trouve super sympas. Et là, je pense que le lendemain, j’ai adhéré à leur association qui était l’APRIL.

La création de l’Open Source Initiative (OSI)

Walid : Attends, tu peux rappeler ce que c’est, que l’OSI ?

Sébastien : Alors l’OSI, c’est l’Open Source Initiative.

En fait, autour du logiciel libre, il y a deux mouvements. Il y a historiquement, la Free Software Foundation, la FSF, donc, qui adopte une approche philosophique et politique du logiciel libre et qui a défini ce qu’on appelle la Free Software Definition, la FSD. Et puis, en 1998, il y a des gens qui se sont dit qu’ils étaient plus des techniciens, on va dire, et qui ne voulaient pas entendre parler à l’époque de la dimension philosophique, politique du libre, et se sont dit : « il faut qu’on trouve un nouveau programme marketing pour le libre. Parce que c’est trop compliqué d’expliquer que free, c’est comme freedom, mais que ce n’est pas gratuit ». Donc, on va trouver de nouveaux termes. Et ils se sont réunis pour créer ce qui allait devenir l’OSI.

Sébastien Dinot

Et au milieu de cette bande de hackers, dont certains sont célèbres, Bruce Perens, Eric S. Raymond et puis d’autres, il y avait une femme qui n’était pas hacker, mais qui était… je crois qu’elle est de mémoire, elle doit être… je ne sais pas comment on dit en français. Elle est prévisionniste. Elle étudie les sciences actuelles pour essayer de se projeter dans l’avenir et d’essayer d’anticiper les évolutions. Et c’est… elle, Christine Peterson, que l’histoire a un peu oubliée, qui a suggéré à tout le monde d’utiliser le terme open source. On lui doit ce terme-là.

Walid: c’était la minute historique.

Sébastien: et donc, l’OSI a créé l’Open Source Definition.

Les contributions de Sébastien au libre

Walid : OK. T’as parlé de l’April. Est-ce qu’il y a des projets dans lesquels t’es impliqué, particulièrement ou des thématiques dans lesquelles t’es impliqué plus que d’autres dans le monde du libre ?

Sébastien : Ça dépend si tu parles de projets à proprement parler ou de thèmes. Je m’intéresse particulièrement aux aspects gouvernance, on va en reparler, et à la vie des projets libres. À part, ça, au départ, j’ai un profil de développeur. Et donc, de par mon parcours, mon expérience, j’ai toujours eu le gout du code performant et du code robuste. L’optimisation de code, la fiabilisation du code. Et donc, de là est venue la pratique des tests unitaires, de toutes les bonnes pratiques de développement, de la CI/CD, et tout ça. Et donc j’accompagne pas mal de projets sur ces aspects-là. La mise en œuvre des bonnes pratiques de développement, et comme on est dans le libre aussi, les bonnes pratiques de développement collaboratif. Après, si on parle de projets dans lesquels je suis impliqué, paradoxalement, il y en a peu. Alors, je suis un développeur, je dis être passionné, et je contribue à peu de projets, c’est étonnant. En fait, lorsque j’ai découvert le libre, je me suis aperçu que si je ne codais pas un logiciel, ce n’était pas grave, quelqu’un coderait mieux que moi. Mais par contre j’étais assez doué pour défendre mes idées et que dans ce domaine, nous n’étions pas si nombreux que ça. Et parmi ces personnes-là, peu étaient prêtes à consacrer de l’énergie pour promouvoir et défendre le logiciel libre. Et je me suis dit que c’est plus intéressant que je m’investisse là-dedans. C’est pour ça que je me suis investi très longuement dans l’April. Et après, je me suis aussi investi dans l’Open data. J’ai obtenu certains résultats dont je suis un petit peu fier. Et quand même, je me suis au fil du temps impliqué dans deux projets, plus que d’autres. Alors, je dis plus que d’autres parce que mon métier m’amène à intervenir sur plein de projets ponctuellement et à conseiller plein de projets. Mais sur le long terme, il y a deux projets sur lesquels je me suis investi. Et là encore, paradoxalement, les gens ne me connaissent pas trop sur ces projets-là. Ils ne savent pas que j’existe parce que je suis le gus qui, en salle machine, fait en sorte que les serveurs tournent, que les outils de CI/CD fonctionnent, etc. Donc, des choses pas visibles, en fait. Le premier, c’est un projet créé par CS, en 2002 et libéré en 2008, qui s’appelle Orekit. C’est une bibliothèque de mécanique spatiale diffusée sous licence Apache. Là, j’administre les serveurs, j’ai mis en place la qualimétrie, j’ai mis en place la CI/CD, j’ai introduit des outils tels que Discourse pour que la communauté fonctionne mieux. Je veille à ce que la gouvernance soit appliquée. Alors, aujourd’hui, les développeurs sont géniaux, c’est vraiment un projet génial. Si le monde du libre fonctionnait comme ça, tout le temps, ce serait un monde bisounours. Mais au début, les gens n’étaient pas trop habitués. Donc, je veillais à ce que les développeurs de CS se comportent bien avec la communauté. Parce que ce qu’un projet libre a de plus précieux, c’est sa communauté. Voilà. Et j’ai fait un peu le même genre de choses, mais j’ai arrêté en 2022, pour un projet qui s’appelle Orfeo Toolbox. Donc, de 2008 à 2022. Et là, c’est un projet en C++. C’est une bibliothèque de traitement d’image orienté télédétection, donc pour l’utilisation et le traitement de produits satellitaires. Et à part ça, à titre privé, je suis un randonneur et un amateur de cartes. Et donc, depuis 2009, je contribue massivement à OpenStreetMap. J’en suis à plus de 2 millions de modifications sur le projet.

Walid : Voilà. OpenStreetMap dont on a parlé dans pas mal d’épisodes. Sujet assez récurrent, surtout dans les épisodes sur le transport, on en parle beaucoup d’OpenStreetMap, parce qu’effectivement, c’est un peu la base. Ok, Raphaël, tu as des questions ?

Raphaël : Non, non, c’est clair. Je comprends bien le positionnement que tu décris, Sébastien. Justement, c’est ça qui est fort dans le libre et dans l’aspect communauté. Si chacun apporte quelque chose, il n’y a pas que le code dans la communauté, on va en parler avec la gouvernance.

Définition de la gouvernance dans un projet libre


Walid : Alors, justement… on va passer à la première partie sur la gouvernance, puisque la gouvernance, on a décidé, en faisant cet épisode, d’axer les choses sur deux thèmes. La première, c’est le thème de qu’est-ce que c’est qu’une gouvernance dans un logiciel libre, dans un projet libre et la deuxième, c’est qu’est-ce que c’est qu’une gouvernance à l’intérieur d’une entreprise. Donc, si on prend la gouvernance dans un projet libre, la première question qu’on peut se poser, c’est d’abord, qu’est-ce qu’on appelle la gouvernance ? c’est quoi la gouvernance ?

Sébastien:

Alors, tout à l’heure, je parlais des quatre dimensions du logiciel libre. Et effectivement, un projet libre, c’est un projet qui résulte de la collaboration de personnes morales et physiques dans quatre dimensions, technique, juridique, sociale et économique. Et on ne s’implique pas dans un projet si on ne connait pas les conditions d’engagement.

Sébastien Dinot


Et donc, pour que quelqu’un s’implique dans un projet libre, il doit connaitre les conditions d’engagement sur ces quatre dimensions. Alors, au niveau technique, ça va être le code source, les méthodes, les outils, le guide de contribution, qui vont définir les modalités pratiques de contribution. Au niveau juridique, ça va être les licences et les accords de contribution, qui sont de nature juridique, mais là, empiètent un petit peu sur la dimension sociale, parce que ça peut être une source de tension. Et au niveau social, au niveau des rapports humains, eh bien, c’est la gouvernance et les documents associés, tels que le code de conduite, qui vont définir le cadre social de collaboration. Donc, code et outils, la technique, licence et accords de contribution, le cadre légal et la gouvernance, le cadre social. Après, il y a la dimension économique qui se traite de différentes manières selon que c’est un petit projet ou que c’est un gros projet réunissant de grands groupes. Là, c’est très vaste, en fait.

Et donc, la gouvernance, qui adresse cette dimension sociale, c’est le socle constitutionnel du projet. Elle définit un ensemble de principes et de règles, donc de fonctionnement, et lorsqu’on la publie, ce qu’on appelle avoir une gouvernance ouverte, on fait en sorte que toutes les personnes impliquées dans le projet ou envisageant de s’impliquer aient connaissance des règles d’engagement, des règles de participation. Et ça, c’est très intéressant parce que non seulement ça peut décider effectivement des personnes à contribuer, mais aussi, en cas de dérive du projet, chacun est libre de se référer à la gouvernance et de dire « attendez, là, on sort des clous, vous n’appliquez pas les règles qui étaient tacitement convenues. »

Sébastien Dinot

Alors, une gouvernance, d’un projet à l’autre, elle adresse des points différents, mais il y a un sous-ensemble qu’on retrouve toujours, ce sont les rôles et les droits, je dirais même privilèges associés à ces rôles, les processus de décision et les personnes impliquées dans ces processus de décision. Ça, c’est vraiment ce qu’on trouve partout. Mais on peut avoir d’autres aspects. Par exemple, on peut avoir les objectifs, le périmètre du projet, pour s’assurer qu’il ne parte pas dans tous les sens. On annonce à tout le monde. Et ce qui fait que quand des gens vont proposer de nouvelles fonctionnalités, on va pouvoir dire : « attendez, là, on est en train de s’occuper de choses qui sont en dehors du projet », donc on veut garder le cap.

Ça peut être aussi un code de conduite. Alors… en 2025, quand on voit comment certains se comportent, un code de conduite est plus nécessaire que jamais. J’étais quelqu’un de rétif autrefois au code de conduite et finalement je suis devenu un adepte et je prône l’utilisation du code de conduite, la mise en place du code de conduite. Mais ça peut être aussi la gouvernance, les engagements d’un projet vis-à-vis d’une structure tierce. Par exemple, il existe des fondations open source et beaucoup de projets rejoignent ces fondations, se mettent sous leur ombrelle. Et ces fondations ont des exigences. Eh bien, faire connaitre ces exigences, les relations qui lient le projet et la fondation, ça peut être intéressant, aussi. Donc, la gouvernance, finalement, elle introduit de la transparence sur le fonctionnement du projet et de la confiance. Et la confiance, c’est ce dont on a besoin pour s’engager dans un projet. On est dans l’humain, vraiment, à 100 %. Par contre, il y a un petit détail auquel je fais attention, c’est que j’ai parlé tout à l’heure de socle constitutionnel. Et je vois vraiment la gouvernance comme un socle constitutionnel. Et le problème du socle constitutionnel, c’est qu’il a tendance à sacraliser ce qu’il dit. Et qu’il est difficile de revenir dessus ensuite. Ça demande des processus assez lourds. Et donc, il faut veiller à ne pas trop figer les choses dans le projet. Petite anecdote, tout à l’heure, je parlais d’Orekit. Bon, ce n’est pas très grave, mais la gouvernance, explique qu’on contribue au projet en envoyant des patches par mail. C’était peut-être vrai en 2002, ce n’est plus du tout le cas en 2025. Et je me demande ce que ça fait là, ça n’aurait pas sa place, ça ne devrait pas avoir sa place. Et je vais proposer une révision de la gouvernance pour corriger quelques petits détails, quelques vieillissements de ce type.

Raphaël : Alors, j’ai une question, parce que tu parles de gouvernance ouverte, donc là, c’est quand la constitution, la gouvernance, les règles, elles sont explicites, mais ce n’est pas toujours le cas dans les projets ou alors peut-être que ça apparait en un moment de maturation ou de maturité du projet.

Sébastien : Oui, tu as raison. Ce n’est pas toujours le cas. Alors, quand ce n’est pas le cas, soit c’est des tout petits projets. En fait, il faut bien se rendre compte, vous le savez aussi bien que moi, mais il faut le dire pour les auditeurs, la plupart des projets sont portés par une personne. Et cette personne reçoit toute contribution comme une bénédiction : « c’est génial, j’ai eu une contribution ce mois-ci, c’est fabuleux ». Et donc, cette personne-là, le porteur du projet, ne s’embarrasse pas d’une règle de gouvernance, d’un accord de contribution. Il prend cette contribution, il l’intègre et il est content.

Mais quand votre projet commence à grossir, vous avez besoin de gouvernance pour régler tout ça. Mais ce besoin de gouvernance n’apparait qu’à partir du moment où il est clair que vous entendez partager les pouvoirs. Or, on constate que certains projets, quoique gros, donc on n’est plus dans le cas que je décrivais tout à l’heure, sont volontairement maitrisés par une seule entreprise qui décide de tout. Donc, elle n’a pas besoin de gouvernance, elle décide en interne. Après, les gens décident de contribuer ou pas, mais là, on est dans un rapport totalement inégal, en fait. Donc, les contributeurs externes ne peuvent pas faire entendre leur voix.

Sébastien Dinot

Et je connais plusieurs projets qui en sont morts ou qui ont connu des forks de ce fait. Donc, la gouvernance, effectivement, beaucoup de projets n’en ont pas par ignorance ou volontairement, parce que le pouvoir est détenu par une entité unique et qui n’a pas l’intention de partager.

Par contre, tout projet qui commence à avoir des contributions régulières et compagnie, j’invite leurs porteurs à se poser la question. Parce qu’il ne faut pas attendre qu’il y ait un problème, qu’il y ait un clash, pour régler les choses en urgence, ça risque de dynamiter le projet. Il faut que les choses aient été prévues en amont, pour que le jour où le problème arrive, il y ait des règles auxquelles se référer et qu’on puisse dire de manière objective, non. Ce que tu fais n’est pas acceptable, non, ce n’est pas l’esprit du projet, etc. Ou alors le processus de décision n’a pas été respecté, donc, la décision est caduque.

Walid : Le terme de gouvernance, c’est quelque chose qui est arrivé au tout départ du logiciel libre, ce terme n’existait pas ? C’est quelque chose qui est arrivé au fur et à mesure du temps, et qui, je suppose, a évolué au fur et à mesure du temps aussi ?

L’apparition du terme de gouvernance d’un projet libre et son évolution


Sébastien : Non effectivement, au début, peu de gens se souciaient de gouvernance. Il y a sans doute une exception majeure qui est le projet Debian. Le projet Debian, dès 1997, s’est doté d’un contrat social, suivi en 1998, si ma mémoire est bonne, d’une constitution. Et je me souviens qu’au début des années 2000, tout le monde regardait le projet Debian comme une curiosité. Ils ont un contrat social, c’est étrange, ils ont mis des règles bien strictes. Peu de projets étaient organisés de la sorte. Si on prend le projet GNU, par exemple, qui est bien plus ancien que Debian, parce que Debian a dû démarrer en 1993, et le projet GNU en 1983, donc il a 10 ans de plus. Eh bien, pendant longtemps, le projet GNU, la direction était juste le fait d’écrits de Richard Stallman, qui indiquait ce qu’il comptait faire. Donc, c’est le manifeste GNU, c’est la définition du Logiciel Libre et d’autres documents fondateurs qui ont inscrit le projet GNU dans cette logique-là. Mais finalement, la FSF et Richard Stallman, pendant très longtemps, ne se sont pas souciés de l’humain. Ils ont évacué ce sujet. En fait, ils ne le traitaient pas. Et j’ai appris il n’y a pas si longtemps, par un pur hasard, qu’en 2020, le projet GNU s’était doté d’un contrat social. Un projet créé, amorcé en 1983, ne s’est vraiment doté d’un contrat social qu’en 2020. Par contre, vous avez la fondation Apache, qui elle, on devait être encore… c’était encore le XXe siècle quand elle a été créée, je crois que c’était 1999. Et elle, très tôt, elle s’est dotée d’une gouvernance qu’elle a imposée à tous les projets qui la rejoignaient. Ça a créé « The Apache Way », la façon de faire d’Apache, en fait. On en reparlera certainement. Elle a adopté un modèle méritocratique et elle impose à tous ses projets de fonctionner selon ce modèle-là. D’ailleurs, je repense au projet Debian. Donc, non seulement il y a une constitution, mais en plus, il y a un « Debian Project Leader » qui est élu chaque année. Donc, chaque année, il y a plusieurs personnes qui candidatent. Ces personnes peuvent éventuellement être réélues, mais généralement, au bout de 2, 3, 4 ans, elles passent la main. Et aujourd’hui, on trouve beaucoup de projets qui ont ce mode de fonctionnement. Mais en 1998, c’était l’exception.

Les modèles de gouvernances

Raphaël : Ils font même campagne et tout, c’est tout un système. Et effectivement, entre des Apache Way et Debian Rules, etc., par rapport à ma remarque, de tout à l’heure, quand on démarre un projet, on commence à avoir des contributions. Et puis quelque part, ça s’impose à un moment donné d’organiser ou de rendre explicite les choses. Justement donc, quelle est la boite à outils ou comment quelqu’un ou une communauté qui est en train de s’auto-organiser, sur quoi ils peuvent se baser ? Justement, on a parlé de ça à Apache Way, comment ils font chez Debian. Est-ce qu’il y a des bonnes pratiques, des types de gouvernance même qui ont été définis ?

Sébastien : Avant les bonnes pratiques, il y a des modèles de gouvernance. Historiquement, les deux qu’on a vu émerger, c’est le BDFL, le dictateur bienveillant à vie, et la méritocratie.

Alors, le dictateur bienveillant à vie, porte bien son nom. Il est bienveillant envers le projet, pas forcément envers sa communauté. Et c’est une personne généralement unique, qui décide de tout dans le projet. Et il n’y a aucun contre-pouvoir. Alors, vous me direz que c’est la définition même du dictateur, certes, mais cela pose problème. Parce qu’en fait dès qu’il va y avoir des tensions, le dictateur, au final, a toujours raison. Et donc, il faut des qualités humaines qu’on ne trouve pas toujours chez les développeurs pour que la communauté n’explose pas, et pour avoir le sens de la discussion, tout en disant à la fin, je tranche. Et le BDFL a tendance à favoriser les forks, les explosions de communautés. Donc, c’est un modèle malheureusement souvent toxique, et un certain nombre de projets l’ont abandonné.

Sébastien Dinot


Ou souvent au moment où le créateur initial décide de tourner la page, on ne va pas reconduire un nouveau dictateur, on va passer sur un autre modèle. Et là, généralement, après la dictature, les gens ont envie de quoi ? Ils ont envie de démocratie. Ils n’ont même pas besoin de méritocratie, ils ont envie de démocratie. J’y reviendrai.

Et la méritocratie, c’est différent. C’est un partage des pouvoirs en fonction du mérite de chacun. Alors, en première approche, ça semble vraiment sympa comme modèle parce qu’on se dit, c’est bien. Plus les gens s’investissent dans un projet, plus ils contribuent, plus ils ont de pouvoir. Voilà quelque chose qui est juste. Dans la pratique, le problème de la méritocratie, c’est qu’elle résiste mal à l’usure du temps. Personne ne remet en cause le mérite. Chacun sait ce qu’on doit à la vieille gloire du projet. Et ce qui fait que, même quand des jeunes développeurs rejoignent les instances dirigeantes du projet, quand le jeune développeur, qui lui est actif et à ce jour, est très précieux pour le projet, exprime un point de vue, si le vieux contributeur qui est là, parce que personne ne lui a jamais demandé de partir et que tout le monde sait qu’on lui doit le projet historiquement, etc. Si le vieux développeur n’est pas d’accord, généralement, on va donner raison à la vieille personne plutôt qu’à la jeune. Alors qu’à l’instant T, le jeune contributeur est plus précieux pour le projet. Et donc, on reproche souvent à la méritocratie de créer des castes et de reproduire des biais sociétaux.

Sébastien Dinot

Ce qui fait qu’on a vu apparaitre au cours du temps deux autres modèles. C’est le modèle démocratique auquel je faisais allusion tout à l’heure, où là, typiquement, on se dit, mais finalement, Debian a tout compris. On va organiser une fluidité temporelle des pouvoirs, avec des mandats qui ont une durée limitée dans le temps, des élections. Alors, comme tu disais, Raphaël, Debian, ils font même campagne, ils défendent leur vision du projet, ils mettent en avant leurs espoirs pour le projet, et les développeurs votent. Et puis, vous avez un autre modèle qui, lui, est appelé libéral, parce qu’en fait, grosso modo, il n’y a pas de règle. On va dire plutôt qu’il y a la seule règle qui existe, c’est celui qui fait qui a raison. Donc, il y a un consensus mou, et puis, au final, quelqu’un décide de partir dans une voie, il a codé les choses, et voilà.

Walid : Tu as un exemple d’un projet comme ça ?

Sébastien : Il me semble qu’au sein de la CNCF, j’ai vu des projets comme ça. Mais il faudrait que je regarde… mais oui, il y en a, c’est sûr. La do-ocratie, c’est celui qui fait a raison.

Raphaël : J’avais une question sur le modèle démocratique, en tout cas celui de Debian. Parce que Debian, des gens qui votent dans le projet, c’est ceux qui ont le statut de développeur Debian. Donc il y a quand même un mix. Il faut mériter, quoi. Il faut d’abord être arrivé à développeur Debian.

Sébastien : Si tu transposes ça dans notre société, il faut faire partie de la communauté pour avoir le droit de s’exprimer. Et aux élections en France, à part, je crois, pour les élections locales depuis quelques années, mais il faut être français pour participer à l’élection du président. Tu peux bien résider en France depuis 20 ans, si tu n’es pas français, tu n’as pas le droit de voter pour le président de la République. Et pourtant, tu es concerné.

Raphaël : Faut être citoyen du projet.

Sébastien : Voilà. Et là, pour Debian, c’est pareil. Tu es développeur. Le terme développeur chez Debian est assez vaste. Tu as ce statut-là, donc tu es membre identifié de la communauté, donc tu as le droit de voter. Tu es utilisateur, c’est cool, on est super content de t’avoir, c’est génial. Par contre, non, tu n’es pas membre de la communauté de Debian. Mais effectivement, après, il y a toujours… la démocratie a toujours ses limites, que ce soit sur le logiciel libre ou dans la vie quotidienne.

Raphaël : L’autre biais que je vois aussi dans la partie méritocratie, outre la résistance au temps, c’est les jeux de pouvoir qu’il peut y avoir quand c’est des personnes qui sont payées par des entreprises.

Sébastien : Oui, tu as raison.

Justement, les entreprises adorent la méritocratie parce qu’elles s’investissent dans un projet, elles obtiennent une aura, une reconnaissance, et après, même si elles lèvent le pied, comme personne ne leur demande de partir des instances dirigeantes, comme tout le monde sait ce qu’on leur doit historiquement, non. Elles gardent un pouvoir de décision, tout en ne contribuant plus beaucoup au projet. Donc, les entreprises n’aiment pas trop les modèles démocratiques où, finalement, il faut retourner au charbon chaque année ou tous les deux ans et réobtenir un mandat.

Sébastien Dinot

Walid : Si je repars un peu au début de la conversation, imaginons, moi, je suis un utilisateur de logiciels libres. Je cherche à choisir un outil. Je tombe sur un outil, il a l’air sympa. On va en parler justement, après, ça fait un peu la transition avec la suite, avec les outils. Mais je vais voir un peu. Je m’aperçois qu’il n’y a pas vraiment de gouvernance.

Sébastien : Oui.

Le mode de contribution asymétrique

Walid : Et que c’est un outil avec une société derrière. En fait, en gros, je devrais avoir un gros warning. Attention, ce n’est pas clair. Qu’est-ce qui se passe si demain, je me mets à contribuer à ce projet ?

Sébastien : Oui, tu as raison. Il y a des questions à se poser que ne se posent pas beaucoup de gens. Mais par exemple, à CS, on a des règles à ce sujet-là. Par exemple, il y a des projets qui exigent ce que j’appelle un mode de contribution asymétrique. C’est-à-dire qu’en fait, le projet est sous licence fortement diffusive, mais il n’accepte les contributions que sous licence permissive, très évasive, type MIT, BSD. Ce qui fait qu’eux, ils peuvent refermer le code. Par contre, toi, derrière, tu ne peux pas refermer parce que leur licence, fortement diffusive, type GPL, s’impose à toi. Eh bien, typiquement, à CS, nous n’acceptons pas de contribuer à des projets qui ont un mode de contribution asymétrique. Nous contribuons sous la licence du projet ou nous ne contribuons pas.

Walid : C’est possible, ça ? On te demande que ton code soit sous une licence, mais on le diffuse sous une autre licence.

Sébastien : Tout à fait. Ce sont des projets qui sont portés par une seule entreprise. Elles veulent garder le pouvoir et elles veulent s’arroger… parce qu’en fait, historiquement, il y a plusieurs modes de gestion des contributions. Il y a soit un transfert des droits patrimoniaux, soit des accords de contribution qui sont de type les ICLA (NDLR : Indivual Contributor Licence Agreement), CCLA (NDLR : Corporate Contributor Licence Agreement) classiques ou le Developer Certificate of Origin. Mais si on prend le transfert de copyright, donc le Copyright Assignment, eh bien, il est clivant. Tu demandes à un tiers de contribuer et de te céder ses droits sur sa contribution. Franchement, la plupart du temps, les gens se disent « Non, je contribue à un projet, je ne vois pas pourquoi en plus je cèderais mes droits et pourquoi je n’aurais plus le droit de réutiliser mon propre travail derrière. » Donc, il faut vraiment s’appeler la Free Software Foundation pour obtenir des résultats et des contributions avec une telle exigence. Et encore, je connais des gens dans mon entourage qui refusent de contribuer à des projets GNU parce qu’ils n’acceptent pas le transfert de copyright, y compris au bénéfice de la FSF. Alors, la FSF est bien intentionnée, elle se dit « Si on a tous les copyrights, la seule personne qui peut être attaquée en justice, c’est la FSF. Et nous, on a les moyens de résister à une attaque et de défendre le projet. Donc, on sécurise le projet ». C’est pour ça que c’est très bien. Mais il y a des gens qui n’acceptent pas ça. Et on voit des acteurs commerciaux qui, à une époque, essayaient d’exiger les transferts de droits patrimoniaux. On en voit encore. C’est moins courant, mais on en voit encore. Et comme ça, comme ils sont les seuls détenteurs des droits patrimoniaux, ils sont les seuls à pouvoir décider de la licence. Et donc, ils peuvent éventuellement fournir une version fermée ou changer ultérieurement la licence, sans rien avoir à demander à quelqu’un. Mais après, l’autre stratégie, c’est de dire « Ah non, mais je ne demande pas de transfert de copyright. Par contre, vous contribuez à mon projet sous une licence libre permissive qui me permet de refermer le code, et moi, je le diffuse sous licence, fortement diffusive, donc vous, vous n’avez pas le droit de refermer le code. » Donc, effectivement, pour nous, c’est quelque chose de pas acceptable.

Walid : Bref, on dévie un peu j’allais dire. Déjà, un projet sur lequel tu as un Contributor License Agreement, qui est porté par une boite. Tu peux te dire que le risque que le projet se referme est non négligeable.

Sébastien : C’est une réalité, mais après, ça dépend comment est tourné le CLA, le Contributor License Agreement. Il faut savoir que généralement, le CLA, « vous contribuez au projet, d’accord, merci, et vous acceptez que votre code soit incorporé au projet libre et diffusé sous la licence du projet ». Donc, on prend un projet sous Apache, vous acceptez que ce soit diffusé sous licence Apache. Et effectivement, dans le passé, il y a eu un certain nombre de failles juridiques qui ont amené des projets à devoir changer de licence. Et moi, j’ai dû gérer ce genre de choses, et c’est compliqué. Changement de licence… retrouver tous les contributeurs, leur demander s’ils sont d’accord pour qu’on bascule de la licence A à la licence B, etc. Faire le tri, « lui, j’ai pas de réponse, ou elle, j’ai pas de réponse, finalement, soit on réécrit le code et on le jette, soit on oublie la fonctionnalité ». Donc c’est compliqué, ça peut prendre des mois. SciLab, ça leur a pris un an et demi pour basculer de CeCILL à une autre licence GPL (NDLR : voir l’historique des licences). Par contre, les accords modernes prévoient ça et disent « vous acceptez que nous changions de licence ultérieurement si le besoin s’en fait sentir ». Et c’est là qu’il y a potentiellement un problème. Par exemple, sur Orekit, on dit « il y a une telle clause, vous acceptez », mais on dit dans notre CLA « si on change, ce sera pour une licence qui reste dans l’esprit de la licence Apache 2 ». Autrement dit, le jour où on s’aperçoit qu’il y a une faille juridique dans l’Apache 2, et que des gens l’exploitent, on se dit qu’on va peut-être passer sur une Apache 3 (NDLR : Sébastien voulait dire : « la fondation Apache s’empresserait de publier une v3 et le projet Orekit l’adopterait certainement »), mais on ne passera pas sur une licence propriétaire ou autre chose. Donc, effectivement, il faut être méfiant, mais il faut analyser, toujours pareil, quelles sont les règles d’engagement ? Qu’est-ce que j’accepte ?

De quoi a-t-on besoin pour faire une gouvernance en 2025 ?

Walid : De quels outils on a besoin pour faire une gouvernance en 2025 ?

Sébastien : Moi, je dirais qu’il ne faut pas réinventer la roue. Et il faut partir de choses qui existent et qui ont fait leurs preuves. Donc, déjà, il faut savoir quel modèle on veut adopter : BDFL, méritocratie, libéral, démocratique. Et ensuite, on va voir ce que font des fondations. Parce que les fondations, elles ont des juristes qui ont fait des choses assez élaborées. Et là, on est sûr que c’est solide, par contre, ça peut faire peur. Si vous prenez la fondation NumFOCUS, elle vous propose des modèles de gouvernance. Vous n’êtes pas obligé d’adopter la gouvernance qu’elle vous propose. Par contre, elle a des exigences et votre gouvernance doit être conforme à ces exigences. Mais il y a des projets moins ambitieux et qui sont fort utiles. Par exemple, il y a un projet qui gagne à être connu, qui s’appelle MVG – Minimal Viable Governance : c’est un projet qui adresse… alors ils le découpent en deux. Ils se mettent dans la situation où une organisation voudrait une gouvernance globale pour un ensemble de projets. Et donc, une partie de la gouvernance s’adresse à l’organisation. Voilà quelles sont les règles valables de manière transverse sur tous les projets. Et une partie de la gouvernance qui est proposée s’adresse au projet avec la latitude qu’il a. Typiquement, c’est une très bonne idée de partir sur ce genre de choses plutôt que de tout réinventer. Mais aujourd’hui, clairement, il faut aller voir ce qui se fait dans des fondations et comprendre surtout les implications de chaque modèle.

Qui travaille sur les sujets liés à la gouvernance des projets libres ?

Walid : Qui travaille sur ces sujets de gouvernance ? Est-ce qu’il y a des instances ? Est-ce qu’il y a des groupes de réflexion ? Qui sont les gens qui travaillent sur ces sujets ?

Sébastien : Les fondations, la Linux Foundation, par exemple, Apache, c’est déjà le cas. Donc, le projet GNU, j’ai dit qu’ils ont travaillé sur le contrat social GNU. Donc, ce sont ces fondations qui vont réfléchir à des gouvernances et à des règles qu’elles vont imposer à tous les projets qui souhaitent les rejoindre. Mais sinon, c’est chaque projet qui va décider à son niveau de la gouvernance qu’il va mettre en place. Et par exemple, il m’est déjà arrivé d’accompagner plusieurs projets qui m’ont contacté. Leurs porteurs m’ont contacté. Ils m’ont dit « Nous sommes un consortium, nous voulons libérer un logiciel et nous voudrions mettre en place une gouvernance. » Je les ai accompagnés dans l’élaboration de cette gouvernance après avoir étudié quel était leur projet, quelle était leur stratégie, quelle était leur place dans l’écosystème et quelles étaient leurs attentes, et on a forgé une gouvernance adaptée au projet.

Walid : Mais là, par exemple, les gens ils te contactent, toi, tu fais ça, mais dans tout cet écosystème, qui travaille sur ces sujets-là ? Est-ce que c’est des cabinets de conseil ? Est-ce que c’est des juristes ? Qui sont les experts, en fait, dans ces domaines ?

Sébastien : Alors, je ne connais pas tous les acteurs, tu t’en doutes, mais je sais qu’il y a différents acteurs qui proposent. Je sais que la Fondation Eclipse propose ce type d’accompagnement. Il y a des gens chez eux qui proposent ça. Je suis sûr que tu vas voir des entreprises comme Inno³, qui connaissent très bien, ils sont capables de t’accompagner sur ce genre de projet (NDLR : voir l’épisode avec Benjamin Jean). Après, il y a des gens qui, comme moi, ont une petite réputation, et donc on les contacte, eux, et on passe après un contrat avec l’entreprise qui les emploie. Enfin, voilà, donc il y a un certain nombre d’acteurs.

Mais aussi, on peut aller voir des communautés, comme la communauté Rust, par exemple, qui a beaucoup travaillé sur la gouvernance, sur l’inclusivité, sur pas mal de sujets, qui est plutôt en pointe. Même s’il y a eu des clashs internes à une certaine époque qui ont fait partir certains modérateurs, justement, parce que les règles de gouvernance n’étaient pas respectées par le noyau dur. Mais au moins, les documents existent. La situation est bien évidemment différente selon qu’on est un petit projet avec… on est entre deux potes et on fait un truc ou on est une grande entreprise, et derrière, il y a un enjeu stratégique. On est un grand groupe. Et après, typiquement, tu prends des grandes entreprises comme RTE, qui est très active dans le domaine des logiciels liés à l’énergie. Eh bien, ils ont même décidé de s’adosser à la Linux Foundation. Ils ont même créé la Linux Foundation Energy, LFE, pour profiter de tout ce canevas. Parce qu’à leur niveau, entre opérateurs équivalents entre différents pays, il y avait d’énormes enjeux au niveau de la gouvernance. Je crois qu’il n’y a pas de réponse unique à ta question.

Walid : Je n’attendais pas une réponse unique, mais c’était plus pour faire un panorama des gens qui sont intéressés par ce sujet, qui réfléchissent là-dessus, etc. Raphaël ?

Raphaël : J’imagine que quand on s’approche, on veut rentrer dans une fondation, ça va dépendre de la fondation. Comme tu l’as dit, il y en a qui vont proposer des choses. Il y en a qui vont t’accompagner, comme tu l’as dit. Il y en a qui vont te laisser complètement libre et qui vont dire tu respectes, ça, ça, ça, ça, le reste, c’est ton affaire. Il y a aussi des communautés ou des méta-communautés, comme je les appelle, qui existent et qui peuvent plus ou moins accompagner, voire imposer.

Sébastien : Tu as totalement raison. Par exemple, tu prends la fondation NumFOCUS. NumFOCUS, j’en avais parlé plusieurs fois, c’est une fondation qui, au départ, a pour but de promouvoir l’informatique libre à usage scientifique, à finalité scientifique. Une fois qu’on a dit ça, ça semble très ciblé, mais quand on va voir, comme c’est tout logiciel susceptible d’avoir un intérêt pour le monde scientifique, c’est relativement large. Beaucoup de projets l’ont rejointe. Cette fondation est assez remarquable. Contrairement à beaucoup de fondations qui vont vous faire payer l’adhésion, vous la rejoignez, elle ne vous fait pas payer, par contre, elle a plein d’exigences. Et ces exigences, elles dépendent du niveau d’intégration que vous voulez, du niveau de support que vous voulez. Si vous voulez juste être affilié, vous devez avoir une gouvernance ouverte, elle doit être inclusive, elle doit respecter ceci, cela, après, à vous de voir pour les détails. Et si, par contre, la fondation NumFOCUS peut financer des projets. Et là, si on veut rejoindre ce programme de financement, la fondation NumFOCUS a des exigences supplémentaires. Et notamment, elle veut une place au sein du comité de pilotage, du PMC (NDLR : Project Management Committee), du PSC, comme vous voulez, pour voir de l’intérieur ce qui se passe et s’assurer que l’argent qu’elle fournit est bien utilisé. Donc vraiment, là, on est dans le cadre d’une fondation qui a vraiment une politique à géométrie variable, suivant ce que vous attendez d’elle.

Qu’entend-t-on par gouvernance en entreprise ?

Walid : Passons à la deuxième partie. Parlons maintenant de la partie gouvernance et entreprises. Là, pour le coup, autre chose. Je suis une société ou je suis un organisme public. Bref, je veux contribuer, je veux être un bon citoyen. Comment est-ce que je m’y prends ? Là, de quoi on parle de gouvernance quand on est une société ou une organisation ?

Sébastien : On a le même terme, mais on arrive sur un sujet qui n’a rien à voir avec le premier.

Walid : C’est marrant qu’on utilise le même terme, d’ailleurs.

Sébastien : Voilà.

La gouvernance, c’est, dans l’entreprise, la sécurisation et la formalisation de ta relation au logiciel libre. Sécurisation a deux sens. Sécuriser l’usage, comment je contrôle, ce qu’on utilise et que je m’assure que, par exemple, au niveau des licences, c’est conforme à ma politique industrielle, que c’est conforme à la politique industrielle de mes clients, mes exigences contractuelles, éventuellement à la loi, ou des choses comme ça. Et puis, effectivement, pour les quelques entreprises qui décident de contribuer à des projets libres, voire de publier des logiciels libres, eh bien, comment fait-on les choses proprement ?

Sébastien Dinot

Donc, on va mettre en place des processus pour être sûr que, au final, pour faciliter, parce qu’en cadrant, on facilite paradoxalement, plutôt que de laisser faire et d’avoir des gens qui contribuent sous le manteau parce qu’ils ont peur de se faire taper sur les doigts, ils ne savent pas vraiment ce qu’ils peuvent faire, pas faire. Non, on va cadrer, on va annoncer cette gouvernance, on va dire si vous voulez libérer, si vous voulez contribuer, passez par tel comité qui gère la chose, telle personne. Et on va vous accompagner et vous allez pouvoir le faire. Et on sécurise à la fois l’entreprise, en vérifiant que les choses sont correctement faites et qu’on est en capacité de le faire. Et on sécurise le salarié parce qu’il obtient le feu vert de l’entité qui est chargée de délivrer ses feux verts. Et donc, derrière, on ne peut rien lui reprocher.

Walid : C’est quelque chose dont je n’avais pas forcément conscience, mais en discutant avec toi, tu m’avais pointé sur un exemple, justement, du fait que le salarié, s’il s’adresse, dans le cas de CS, à l’OSPO, on va en parler après, et que vous lui donnez le feu vert, c’est vous qui êtes responsables du fait qu’on libère ce code et ce n’est pas une action du salarié, il n’a pas pris la décision.

Sébastien : Oui c’est ça. C’est qu’en fait, l’OSPO, l’Open Source Program Office, va procéder à l’analyse juridique, va s’assurer qu’au niveau contractuel, nous sommes bien en capacité, que nous n’avons pas transféré les droits à notre client, va procéder à un certain nombre de vérifications. On peut même demander si on voit que le code a été un peu bâclé, qu’il n’est pas à niveau, parce que parfois, ce ne sont pas des projets clients, parfois, qu’on libère, ça va être un outil qu’on a fait en interne. Parce qu’il répondait à un besoin, et on se dit que ce serait sympa de le publier. On va pouvoir avoir des exigences sur la qualité du code, en disant qu’il y a un minimum syndical à respecter, au niveau de la documentation, de l’information donnée aux utilisateurs.

Et effectivement, au sein de l’OSPO, il y a la direction juridique, il y a la direction technique, il y a la direction marketing, qui, dans le process, ont l’occasion de s’exprimer. Il y a ces analyses qui sont faites. Et donc, quand le salarié reçoit le feu vert de l’OSPO, il reçoit à travers l’OSPO le feu vert de la direction technique, de la direction juridique et de la direction marketing. Après, on ne peut plus lui reprocher d’avoir fait ce qu’il a fait. Il a suivi les règles et il a eu le feu vert.

Sébastien Dinot

Ce qui est intéressant d’ailleurs, c’est que quelqu’un m’avait dit une fois, quand j’en avais parlé, « Quand vous donnez l’autorisation à quelqu’un de contribuer, comment vous sécurisez ça ? Vous faites un avenant à son contrat ? » Effectivement, dans beaucoup d’entreprises où les choses ne sont pas cadrées autrement, si on veut sécuriser, on va faire un avenant au contrat. Mais à CS, ce n’est pas la peine. La personne a reçu le feu vert de la direction juridique et de la direction technique. L’OSPO enregistre, trace les décisions, enregistre tout ça dans une forge. La personne est sécurisée, elle n’a pas besoin d’un avenant.

Raphaël : J’avais une remarque parce qu’on disait, ouais, on utilise le même mot, mais en fait, ce n’est pas pour la même chose, mais c’est vrai que tu disais dans le premier cas, une gouvernance, il y a une constitution, il y a des règles, il y a un contrat qui est passé, et là, c’est un peu pareil. Pas qu’on fait tout à fait la même chose, mais tu disais, oui, mais la qualité du code, la documentation, et puis ci, et puis ça, en fait, ça, j’imagine que c’est décrit quelque part. Vous avez aussi quelque part une policy ou une constitution qui est la base de votre gouvernance, en fait.

Sébastien : Tout à fait. La gouvernance, au départ, il a fallu l’écrire, l’élaborer. Après, il a fallu mettre en place des procédures d’accompagnement pour la libération et d’accompagnement pour la contribution. Donc, tu as raison, tout ça est élaboré. Donc, oui, c’est une gouvernance. Mais ce que je voulais dire, c’est que tu as raison, ça relève du même principe, mais déjà là, on ne la publie pas. Cette gouvernance, ça reste un processus interne en entreprise. Et ensuite, l’objectif, il est vraiment de sécuriser la relation d’entreprise à l’Open source.

Raphaël : Oui, ça ne couvre pas les mêmes choses et ce n’est pas le même objectif.

Sébastien : Voilà, c’est pour ça que j’ai voulu distinguer.

Quand apparaît la notion de gouvernance du libre en entreprise ?

Walid : Quand est-ce que ça apparait, cette notion de gouvernance en entreprise ? Parce qu’au début, c’est pareil, les entreprises, il n’y avait pas ces outils juridiques, il n’y avait pas ces organisations.

Sébastien : Je n’ai pas de date à te donner, mais par contre, je devine que c’est apparu très tôt. Dans les entreprises les plus matures, celles qui sont les plus soucieuses du risque juridique d’un côté et de leur patrimoine immatériel de l’autre. D’une part, quand tu utilises des composants et que tu apprends qu’il y a des licences qui sont potentiellement fortement diffusives, tu peux vouloir les interdire. Si on les interdit comme ça en bloc, ça montre qu’on ne comprend pas le sujet. Mais bon, je connais des entreprises… en 1999, j’avais discuté avec un très gros industriel française qui avait déjà repéré la GNU GPL et qui interdisait l’utilisation de composants sous GNU GPL dans son entreprise, par exemple. Il interdisait l’utilisation de GCC alors que le GCC est fourni avec une exception, qui a pris différentes formes au fil du temps, il y a toujours eu une exception qui a fait que l’utilisation normale de GCC ne provoque pas la diffusion de la licence GNU GPL à l’exécutable compilé. Mais bon, très tôt, il y a des sociétés qui se sont souciées de sécuriser leur logiciel, et après, en termes de contribution, quand on contribue, quand on libère c’est toujours un savoir-faire interne que l’on révèle. Et là, il y a beaucoup d’entreprises qui ont le réflexe tout bêtement d’interdire. Et ça, c’est une erreur stratégique à mes yeux, parce que contribuer et libérer, c’est aussi un moyen de se faire connaitre et d’acquérir une réputation technique.

Walid : On en parlera tout à l’heure, justement.

Raphaël : J’avais une remarque sur la maturité des entreprises. Par rapport à ça, notamment l’utilisation.

Moi, j’ai trouvé, en tout cas au cours de ma carrière, que c’est arrivé tôt. Chez les industriels, c’est-à-dire ceux qui ont l’habitude de mélanger du code et du matériel, parce qu’ils ont cette notion de BOM, enfin de Build of Material (NDLR : nomenclature), et après, oui, de Software, de SBOM (NDLR : voir cet article sur le site d’Inno³). Mais effectivement, tu parlais de trucs spatiaux et tout, très vite, des gens ont compris que s’ils envoyaient du code dans l’espace, c’était compliqué après si on avait des problèmes. Ou alors si on avait diffusé des millions de téléphones portables dans la nature et qu’on se retrouvait avec des problèmes de licence. Moi, en tout cas, j’ai trouvé que c’était dans le domaine industriel qu’assez tôt, les gens ont été matures sur ce sujet-là.

Raphaël Semeteys

Sébastien : Il y a eu des grands procès, par exemple, entre IBM et d’autres fabricants de matériel ou de systèmes d’exploitation. On pourrait imaginer, tu prends des milieux où il y a très peu d’acteurs en lice, et ce ne sont que des mastodontes. Par exemple, tu prends l’aéronautique avec Boeing et Airbus. Tu te doutes que si à un moment, il y en a un des deux qui peut faire un croche-pied juridique à l’autre, il ne va pas se priver. Et donc, effectivement, là, il est sûr que les choses sont cadrées. Et le seul problème, c’est que souvent, le cadrage entraine l’inhibition dans ces cas-là. Il faut savoir franchir l’inhibition et jouer la bonne carte.

Walid : J’ai eu exactement les mêmes remarques que tu as dites par un gros industriel du spatial français aussi. La première chose qu’il fait, c’est regarder toutes les licences, analyser toutes les licences et tout. C’est vraiment un travail assez conséquent, finalement.

Sébastien : Oui, tout à fait.

La génèse du terme OSPO et le fonctionnement de l’OSPO chez CS Group

Walid : On vient de dire que la gouvernance, c’est quelque chose qui est arrivé finalement assez tôt. Mais il y a un terme qui est arrivé plus tard, c’est le terme d’OSPO. Est-ce que tu peux expliquer un peu, si tu le sais, comment on en arrive à ce terme d’OSPO et d’où ça vient ?

Sébastien : Alors, le terme en lui-même est très vieux.

Walid : Ah, oui ?

Sébastien : Il existait déjà quand j’ai créé le Comité de pilotage du logiciel libre, le CPLL, à CS. Lorsque j’ai émis cette idée en 2012, enfin, on l’a créé en 2013, il existait déjà. Mais il était utilisé par quelques rares entreprises américaines. Il n’avait pas encore de signification importante, il n’avait pas encore valeur d’étendard. Il a pris sa valeur d’étendard au tournant des années 2020, lorsque c’est devenu un souci d’un plus grand nombre d’entreprises, que du coup, plus d’entreprises ont cherché à créer un tel comité, qu’il a fallu un nom. Elles se sont raccrochées à ce qu’elles ont trouvé. Il y a eu l’OSPO, dans la foulée, il y a eu d’un côté l’OSPO Alliance, portée notamment en Europe par l’OW2 et d’autres acteurs. Et il y a eu le TODO Group, et ces deux entités qui visent à proposer aux entreprises la mise en œuvre de bonnes pratiques pour, justement, sécuriser leur relation à l’Open source, mais la sécuriser de manière positive, sécuriser l’utilisation, mais après, inviter à contribuer et à libérer. Eh bien, ces deux groupes ont popularisé le terme OSPO et à tel point qu’en 2022-2023, à CS, nous nous sommes dit « bon, le CPLL, personne ne connait, chaque fois, je suis obligé d’expliquer ce que c’est. Bon, on va adopter le terme étendard OSPO ». Et le CPLL est devenu l’Open source Program Office.

Raphaël : Tout à l’heure, tu l’évoquais un petit peu quand tu disais, quand on donne le feu vert, le « on », c’est-à-dire les gens qui sont représentés dans l’OSPO, c’est ça, quelles sont un peu les parties prenantes, qui est impliqué là-dedans et pourquoi en fait ?

Sébastien : D’une entreprise à l’autre, c’est très variable.

Il y a malheureusement beaucoup d’entreprises où l’OSPO se résume à une personne. Et le « O » final, il passe de Office à Officer. Et cette personne, elle, n’a aucune autorité particulière, si ce n’est d’examiner les demandes et d’aiguiller éventuellement vers les acteurs complémentaires. Et du coup, quand tu as le feu vert de l’OSPO, tu n’as pas de feu vert, parce qu’il faut encore faire valider par tout le monde.

Sébastien Dinot

J’avais déjà conscience de ça en 2012, lorsqu’on a réfléchi à l’OSPO de CS. Donc, j’ai voulu faire les choses autrement, parce qu’il y avait ce biais-là. Mais il y en avait aussi d’autres. Je connaissais des structures qui avaient déjà des gouvernances, mais elles étaient tellement complexes, il fallait tellement de tampons, ça tuait dans l’œuf toute velléité de contribution ou de libération. Donc, je me suis dit « je veux un truc efficace, je veux un truc qui facilite les choses. Et que lorsque l’on obtienne le feu vert de l’OSPO, c’est bon, on puisse y aller ». Et donc, plutôt que de créer un Officer, j’ai vraiment tenu à créer un Office en disant « qui a son mot à dire dans ce processus de libération ? » Il y a, comme je le disais, la Direction technique, la Direction juridique, et la Direction marketing. Mais il y a aussi la chaine hiérarchique opérationnelle. Parce que finalement, c’est la chaine hiérarchique opérationnelle qui décide de sa stratégie sur son marché. Après, la question, c’est où s’arrête-t-on ? Trop bas, on n’adresse peut-être pas le niveau stratégique, et donc ça ne va pas. Trop haut, si on remonte jusqu’au comité exécutif, on est obligé de tellement contextualiser la demande, de fournir tellement d’informations, c’est inefficace, et en plus, franchement, c’est des choses dont les gens se moquent, ça ne les concerne pas quand ils sont au comité exécutif d’une grosse boite, les détails de stratégie. Et donc, en réfléchissant, on se dit, le bon niveau de décision, c’est la division. Chez nous, maintenant, on est des Business Units. Donc, la division. Et on s’est dit, OK, le chef de division, le directeur de division, décide de sa stratégie. Par contre, il n’a peut-être pas connaissance de certains détails. Il n’a peut-être pas connaissance du contexte contractuel de ce projet-là. Et donc, on a décidé qu’on demandait que la direction technique, juridique et marketing sont membres permanents de l’OSPO. Et qu’on a des représentants de chaque BU pour faire les relais au quotidien, dans les différentes BU. Et on a aussi un ou deux experts Open source pour traiter les demandes concrètement. Mais après, dans le processus de décision, on implique la chaine hiérarchique du demandeur, le chef de projet, le directeur d’activité ou de département et le directeur de division. Et quand le directeur de division et tout le monde a dit oui, nous, de notre côté, on a fait notre boulot, on a fait l’audit juridique, on a demandé quelques ajustements si les attendus n’étaient pas respectés. Et donc, l’OSPO se prononce et dit OK, oui ou non. Généralement, c’est oui.

Walid : Une demande, dans votre cas, c’est un ticket ? C’est quoi ? Comment on fait une demande ?

Sébastien : C’est un dossier que les gens doivent remplir. Il y a un dossier pour la contribution et un dossier pour la libération. Ce dossier permet de saisir les informations qui nous sont nécessaires. Quel est le projet bénéficiaire ? Quelle est sa licence ? Quel est le contexte contractuel ? Ce n’est pas forcément très long, mais il faut que nous le sachions. Ça évite de poser des questions à chaque fois. Et après, c’est pour être sûr que les collaborateurs qui veulent contribuer ou libérer se sont posés des questions. Par exemple, tout à l’heure, on parlait de gouvernance. On leur demande « avez-vous prévu une gouvernance ? ». La réponse ne doit pas obligatoirement être « oui, j’ai prévu une gouvernance, ce sera de la méritocratie ». La réponse, ça peut être « non, parce que c’est un outil pour lequel on ne nourrit pas d’ambition particulière, on pense juste que ce serait sympa de libérer, c’est pour être utile à d’autres. Et puis, si un jour on commence à avoir des contributions, à ce moment-là, on réfléchira à une gouvernance ». Mais c’est être certain que les gens se sont posés la question. Et donc ils remplissent ce dossier, et on examine déjà ce dossier. Parfois, il y a des questions complémentaires, parce qu’il y a des choses qui ne sont pas très claires ou qui nous interpellent. Et puis, après, on va demander un accès au code source et on va regarder un petit peu à quoi ressemble le code.

Walid : Ça, c’est dans le cas où tu veux libérer un projet. Et dans le cas où tu veux contribuer à un projet existant, tu n’as pas cette notion de gouvernance ?

Sébastien : Si. Alors, déjà, on va vérifier que c’est bien un projet libre parce qu’on contribue qu’à des projets libres, que ce n’est pas de la contribution asymétrique. On peut avoir des accords de contribution et faire signer par les développeurs impliqués et par le directeur de division. Il y a ce genre de choses qu’on va traiter dans le cadre d’une contribution.

Contribution d’entreprise vs contribution personnelle

Raphaël : Il y a peut-être des cas aussi, tous simples, je contribue en mon nom, au nom de l’entreprise, qu’est-ce que je mets comme identifiant ?

Sébastien : Alors, là, tu abordes un sujet intéressant qui est que, effectivement, quand c’est dans le cadre de son travail, les droits patrimoniaux sont, de par le Code de la propriété intellectuelle, automatiquement dévolus à l’employeur. Donc, déjà, le copyright, ce sera l’employeur et pas toi. Toi, tu peux apparaitre comme auteur, tu as la reconnaissance de ta paternité, c’est tout, ça ne donne pas plus de droits.

Et par contre, il y a des cas, parce qu’en fait… que traite l’OSPO ? en termes de contributions, il traite des demandes ponctuelles, des contributions ponctuelles. Tiens, on a développé une fonction pour un projet A et on veut la soumettre. Ce sera plus intéressant pour nous de la soumettre que de la garder pour nous. On a des contributions au long cours. Donc, là, la contribution ponctuelle, le code existe déjà, on connait parfaitement le contexte : « OK, on connait le code et on donne un feu vert pour ça ». Après, on a la contribution au long cours. On a des salariés qui… par exemple, on a un collaborateur qui assure le portage sur Linux de processeurs PowerPC. C’est CS qui maintient en grande partie le processeur PowerPC dans Linux. Là, ça fait des années qu’il fait ça, et à chaque fois qu’il pousse du code, il n’a pas demandé une autorisation. Donc, on examine une demande de contribution au long cours, une autorisation de contribution au long cours, et on dit, une fois qu’on a vérifié que tout était bon, « ce développeur, dans le cadre de ce projet, de ce projet chez nous, de ce contexte contractuel, a le droit de contribuer à ce projet libre ». Et si un des éléments change, on réévaluera, mais sinon, on ne change pas. Après, on a la libération. Et la quatrième chose, c’est les contributions du salarié sur son temps personnel.

De manière générale, quand c’est sur son temps personnel et avec ses moyens propres, ça ne regarde pas l’entreprise. C’est son problème et c’est son copyright. Par contre, ça peut regarder l’entreprise quand la contribution peut apparaitre comme un acte déloyal. Qu’on estime qu’elle met en œuvre des savoir-faire particuliers, entreprises. Et là, on explique aux développeurs, dans ce cas-là, si vous soupçonnez qu’il peut y avoir ce problème-là, venez voir l’OSPO et on traite. Soit au final, vous obtenez l’accord, et c’est tant mieux, tout le monde est content, mais au moins, c’est sécurisé. Soit on vous dit non, et dans ce cas-là, au moins, vous ne vous investissez pas pour rien, vous ne risquez pas de vous faire sanctionner ultérieurement, d’avoir un procès ou quoi que ce soit. Ou alors, si jamais vous décidez que votre projet est plus important que votre emploi chez CS, vous pouvez décider de démissionner et d’aller porter votre projet. OK, c’est votre choix. Mais en tout cas, on ne va pas se retrouver dans une situation conflictuelle a postériori, où il y aurait des perdants des deux côtés.

Sébastien Dinot

Ce cas-là s’est déjà produit. Par exemple, une collaboratrice qui était payée pour contribuer à QGIS sur son temps pro, nous a dit, « moi, j’aimerais contribuer sur d’autres sujets ». On lui a dit, « non, ça ne nous intéresse pas ». Elle a dit, « OK, je vais faire sur mon temps perso ». « Ah, OK, d’accord, on va traiter ça au niveau de l’OSPO ». Et on a défini avec elle, on lui a dit, « OK, alors ce périmètre-là, c’est sur ton temps pro et c’est copyright CS. Ce périmètre-là, c’est sur ton temps perso avec tes moyens propres, et c’est du copyright toi ». On traite ça.

Raphaël : C’est important à préciser.

Parce que moi, j’ai déjà croisé, dans certains contextes, des responsables IP qui disaient aux développeurs : « même si tu codes chez toi le soir avec tes propres moyens, il n’y a aucun moyen que tu fasses un reset et que tu oublies tout ce que tu as appris dans l’entreprise. Donc, je considère que ce que tu fais… ». Tu vois, en faisant du FUD (NDLR : peur, incertitude, doute), tu vois, un petit peu comme ça. Et donc là, c’est là où il faut accompagner les pauvres développeurs qui, du coup, ne savent plus quoi faire. Ils disent, ouh, là là, je vais avoir des problèmes.

Raphaël Semeteys

Sébastien : Exactement, tu as raison. Mais c’est sûr qu’il y a des entreprises, elles jouent le FUD, elles jouent la menace. Mais non, la loi ne dit pas ça. La loi est explicite à ce niveau-là.

Walid : Il y a une dernière chose dont on n’a pas parlé, mais parce que c’est assez périphérique à ça, et je renverrai les gens vers une conférence très intéressante qui a été donnée par… au Capitole du Libre, cette année, par une collègue à toi sur la fusion, ta collègue Alice…

Sébastien : Ah oui, Alice !

Walid : De chez toi et Emmanuel du CNES sur la fusion de deux communautés, qui était super intéressante sur tous ces problèmes juridiques et tout ça, etc. (NDLR : La fédération d’outils open source : enjeux, méthodes et problématiques).

Sébastien : Elle a eu à gérer les aspects techniques, juridiques et sociaux, justement. Les aspects humains, avec la gouvernance et tout ça.

Walid : Les fusions de deux projets qui n’ont pas les mêmes licences, qui n’ont pas les mêmes gouvernances et tout. C’était assez intéressant. On mettra aussi le lien dedans. C’était assez intéressant.

Les retombées économiques pour CS Group des contributions aux logiciels libres

Walid : On a déjà commencé à parler des contributions de CS. Mais je sais parce que nous, on en a déjà parlé avant. Et j’aimerais bien que tu en parles un peu. C’est OK, vous faites les choses correctement. Vous essayez de vous comporter bien dans vos contributions. Mais quelle est la contrepartie, en fait ? C’est-à-dire quel avantage ça vous donne par rapport aux autres, de faire ça ?

Sébastien : Je vais prendre le projet Orekit, par exemple. Alors, là, c’est plus qu’une contribution, c’est une libération. Donc, un projet de mécanique spatiale qu’on a libéré en 2008, dont on a ouvert la gouvernance en 2011. Aujourd’hui, il y a un comité de pilotage avec 17 personnes représentant 13 entités différentes. On a des committers externes, des release managers externes. Aujourd’hui, ça ne surprend plus personne à CS de voir une release officielle d’Orekit, un produit issu de CS, déroulé par quelqu’un travaillant pour l’US Navy ou pour Airbus Defence and Space. Ce projet, qui est vraiment le libre dans sa plus noble expression, objectivement, en 2025, il nous coute encore beaucoup plus cher à développer que ce qu’il nous rapporte de manière directe, parce qu’on a quelques demandes de prestations pour du développement spécifique, pour de l’intégration, pour des études. C’est très loin de couvrir le cout d’investissement. Donc, si on ne regardait que le retour sur investissement direct, ce ne serait absolument pas intéressant pour nous de faire Orekit. Mais il se trouve que nous avons une capacité à mesurer le retour sur investissement indirect. Et quel est ce retour sur investissement indirect ? Déjà, nous avons fait Orekit parce que nous voulions notre autonomie dans ce domaine-là. Nous l’avons, et avec une brique qui est devenue…

Walid : Nous, c’est quoi ? c’est CS ?

Sébastien : CS voulait son indépendance.

Au départ, on a fait Orekit parce qu’on s’est dit qu’on veut avoir notre propre outil en mécanique spatiale. Pour ne plus avoir à dépendre de tiers. Et donc, déjà, non seulement aujourd’hui, on a cette brique, mais en plus, c’est l’une des briques qui fait référence. Airbus Defence and Space, dans tous ses centres de mécanique spatiale, maintenant, intègre Orekit. Et les calculs de trajectoire sont faits par Orekit. Et ce n’est loin d’être le seul industriel. Il y a bien d’autres agences industrielles, laboratoires de recherche qui font ça. Via cette reconnaissance, on a obtenu une notoriété. Et cette notoriété a contribué à la conquête de nouveaux marchés.

Sébastien Dinot

Je parlais d’Airbus Defence and Space. Par exemple, nous étions absents de chez Airbus Defence and Space. Ils ont découvert Orekit. Ils se sont dit, « waouh, c’est génial ». Ils ont vu ce qu’on faisait dans le libre, par ailleurs. Ils ont vu nos compétences, notre capacité à faire de l’audit, de code et tout. Et ils ont jugé que nous étions un partenaire intéressant. Et donc, ils nous ont pris comme contractants de premier niveau. Et nous avons aujourd’hui, c’est pour nous un client important. Et nous avons d’excellents rapports avec lui. Pareil, l’Agence spatiale européenne (ESA), nous a pris comme contractants de premier niveau. Et comme elle a éjecté au passage deux autres contractants historiques, elle a été sommée de se justifier.

Walid : Tu peux expliquer ce que ça veut dire pour les gens qui ne savent pas, contractant de premier niveau ?

Sébastien : En fait, nous sommes habilités à répondre directement aux appels d’offres de l’ESA et pas à passer par un tiers pour nous représenter. L’ESA, donc, nous a choisis. Elle a dû s’expliquer. Parce que sur les quatre sous-traitants qu’elle a retenus, elle nous a mis la deuxième note. Et donc, elle a dit, tout simplement, et c’est dans une conférence publique, il y en a une qui peut se retrouver, elle a dit, on a pris CS, grosso modo, ils ont dit, on a pris CS parce qu’ils ont fait Orekit. Clairement, Orekit, c’est génial. Donc, ils connaissent la mécanique spatiale. On a pu voir le code, super bien conçu, super bien codé, donc, au niveau informatique, ils maitrisent. En plus, c’est une licence libre, permissive. C’est tout à fait ce qu’on apprécie. Donc, c’est complètement compatible avec notre politique industrielle. Ça nous va très bien. Et ils ont mis Orekit en avant pour expliquer pourquoi ils nous avaient pris et pourquoi ils nous avaient mis une aussi bonne note. Et depuis, l’ESA nous passe énormément de contrats. Ça fait des années que nous sommes sous-traitants pour eux. Et la plupart de ces contrats n’ont absolument aucun lien avec Orekit. C’est dans d’autres domaines. Alors, il se peut qu’il y ait des études sur Orekit, qu’il y ait des intégrations Orekit, mais c’est anecdotique par rapport à tout un tas d’autres contrats que nous avons avec eux, EUMETSAT, pareil. Je peux vous en prendre plein. Et donc, des gens vis-à-vis desquels Orekit a joué, et notre politique dans l’Open source, parce qu’il n’y a pas qu’Orekit, il y a toute notre maturité, tout notre savoir-faire, toutes nos compétences, ont joué le rôle du pied à la porte. On rentre grâce à ça, on est reconnu grâce à ça, et après, on nous prend comme sous-traitants et nous réalisons tout un tas de prestations pour ces clients-là. Et en quelques années, la division espace de CS, qui est la plus motrice sur cette gouvernance Open Source, celle qui publie plus de choses en libre, qui contribue plus à des projets de tiers, eh bien, ses effectifs, alors pas que grâce à l’Open Source, ce serait prétentieux, mais parce qu’il y a aussi des effectifs évidemment très qualifiés, très pointus. Mais au final, ses effectifs, en quelques années, sont passés de 200 à 800 personnes.

Nous sommes passés d’une stature française à une stature européenne. La NASA nous connait, elle nous a déjà invités à des colloques, l’US Navy contribue de manière importante au projet Orekit. On a des contributions qui sont venues de l’US Navy, qui ont fait tomber en pâmoison Airbus Defence and Space et CS (NDLR : Sébastien fait référence au travail sur le multi-threading). On était heureux. Là encore, récemment, on a un laboratoire de recherche important aux États-Unis qui a contribué. Et donc, on a une aura internationale grâce à ça. Et ça nous rapporte des marchés. Et si on réfléchit aux campagnes marketing qu’il aurait fallu faire pour avoir ce niveau de renommée et espérer être recruté par ces grands comptes comme sous-traitants, les budgets seraient sans comparaison. Ce serait bien plus important.

Walid : En fait,

le truc le plus important là-dedans, c’est le temps long, finalement. C’est-à-dire que tu n’as pas de campagne marketing, mais tu as le temps devant toi. Ce qui fait que, comme tu fais les choses bien avec le temps, mais ça veut dire aussi qu’il ne faut pas chercher une retombée à court terme.

Walid Nouh


Sébastien : Exactement. Disons que ça, c’est une force des ESN par rapport à des éditeurs.

Un éditeur, il vend son produit. Et donc, sa stratégie, qu’elle soit libre ou propriétaire, elle est forcément axée autour de ce produit. Et lorsqu’il choisit le libre, il doit trouver un modèle économique qui est viable sur ce produit-là. Une ESN peut tout à fait jouer cette carte-là. Alors, CS une ESN particulière, c’est rare finalement sur les ESN qui publient leurs propres outils. Mais nous, nous avons des gens très compétents sur les domaines métiers, et donc nous développons des outils pour nos propres besoins. C’est pour ça que nous avons fait des outils comme Orekit. Et donc, on a cette capacité de proposer des prestations sur d’autres domaines. Donc, le fait qu’Orekit soit le pied dans la porte, soit le levier, la marche d’accès à de nouveaux clients, et qu’après on nous commande des prestations sur autre chose, ne nous pose aucun problème. Tant qu’au final, nous nous y retrouvons et que nous gagnons en renommée, que nous gagnons en marché, tout le monde est satisfait.

Sébastien Dinot

Raphaël : Moi, je complèterais par rapport à ce que tu dis, Walid, sur le temps long. En fait, c’est la confiance. C’est-à-dire que la confiance, ça met du temps à se construire. Mais par contre, une fois que c’est là, c’est quelque chose sur lequel tu peux vraiment compter. Parce que les gens, avec le temps, justement, ils ont pris confiance dans ça. Et je pense que contribuer et faire de la gouvernance ouverte sur ce genre de choses-là, en étant un acteur comme une ESN et en fournissant des solutions de ce type-là, ça donne confiance.

Sébastien : Alors, pour compléter, pour aller dans ton sens, Raphaël, une chose que je peux dire, parce que pareil, Airbus Defence and Space a donné une conférence sur le sujet (NDLR : voir diapo 10 à 14). Ils ont donné une conférence un jour où ils ont expliqué ce qu’ils faisaient d’Orekit et tout le bien qu’ils en pensaient. Et ils ont dit ce jour-là qu’entre le moment où ils ont découvert Orekit et le moment où ils ont décidé d’afficher leur choix, de dire, nous, on utilise Orekit et on va s’impliquer dans la communauté, il y a eu quatre ans. Ils l’ont mis en observation pendant quatre ans. Ils l’ont fait tourner, ils ont regardé ce que ça donnait sur les calculs, etc. Et ils ont fait des benchmarks avec d’autres outils, parce que pour eux, c’est névralgique, la brique de la mécanique spatiale. Et donc, pendant quatre ans, ils ont évalué le produit. Et au bout de quatre ans, ils se sont dit, mais non seulement le produit est bon, non seulement il est performant, mais en plus, la communauté fonctionne super bien. Il y a un niveau de support parce qu’évidemment, ils ont rencontré des problèmes, donc, de manière plus ou moins anonyme, ils avaient posé des questions et des trucs comme ça. Et ils ont dit qu’il y a un niveau de support qu’on n’a pas, même avec les prestations payantes chez d’autres éditeurs. Et du coup, ils ont fait ce que j’appelle leur coming-out. On utilise Orekit et on va s’impliquer dans la communauté.

Walid : Quatre ans, à l’échelle d’un jeune éditeur qui fait son produit, quatre ans, il peut être mort, tu vois.

Sébastien : Tout à fait.

Walid : Quand tu choisis un produit d’une startup, qui a levé plein de thunes pour essayer d’être le meilleur et de montrer et de faire du marketing et dire qu’il est meilleur, ça se trouve, dans trois ans, son produit n’est plus là. C’est pour ça que je parlais vraiment de temps long.

Sébastien : Je vais te dire que nous, je pense que si on avait pensé à un moment ou à un autre, qu’on récupèrerait des fruits de nos efforts quatre ou cinq ans plus tard, les gens auraient dit « non, mais je ne vais pas investir pendant cinq ans pour un retour hypothétique dans cinq ans. » Mais notre objectif premier, c’était d’être autonomes. On a fait Orekit parce que nous voulions être autonomes sur notre marché, pour pouvoir conquérir d’autres marchés. Le moteur initial était d’ordre commercial, stratégique.

Raphaël : Après, le temps dans l’aéronautique, l’aérospatial, ce n’est quand même pas le même que dans les startups.

Walid : C’est clair.

Raphaël : Même chez Elon Musk, parce que…

Walid : Quand on te demande de faire du support sur 30 ans ou sur 20 ans sur ton logiciel, ce n’est plus la même chose.

Sébastien : Ceci étant, je pense que les choses sont en train de changer avec ce qu’on appelle le New space. On a des startups qui ont une visibilité à 6 mois, 1 an, 2 ans.

Walid : On a pas mal balayé les différents sujets. On aurait pu certainement rentrer beaucoup plus en détail dans certains sujets, mais là, c’est plutôt pas mal. Je ne sais pas si Raphaël, tu as encore d’autres questions autour de ça ou pas toi ?

Bonnes pratiques autour du contrôles des dépendances logicielles dans les projets chez CS Group

Raphaël : Moi, j’ai une question, mais bon… je ne sais pas, parce que je vais peut-être ouvrir une boite là, quelques minutes de la fin. C’est concernant les bonnes pratiques en termes d’utilisation. Donc, là, on n’est même pas sur de la contribution ou de la libération, mais juste des développeurs ou des architectes qui sélectionnent des composants, des librairies, qui tirent des dépendances dans des projets qui sont des projets internes pour des produits ou pour des clients. Donc, là, j’imagine que dans votre constitution, policy, je ne sais pas comment l’appeler, il y a des règles aussi là-dessus, mais est-ce que ça c’est suffisant, ou vous avez eu besoin de mettre en place aussi des outils pour contrôler en fait ce qui passe au niveau des dépenses notamment ?

Sébastien : Le contrôle, on le met en place progressivement. On utilise des outils dans le cadre… alors soit je fais des audits parce qu’on me demande de faire un audit, avant une libération ou avant une livraison, souvent un peu tard, on me demande de faire un audit, et donc j’explique éventuellement ce qui ne va pas dans le projet, ce qu’il faut casser et refaire, ou je dis « c’est bon, vous pouvez libérer, c’est nickel ». Après, il y a des outils qui aident à faire ces audits, qui sont généralement propriétaires, mais qui coutent un bras, pour le dire clairement, donc qu’on met rarement en œuvre. Et après, il y a des outils plus basiques qui vont juste être capables de générer ce qu’on appelle un SBOM, donc un Software Bill of Materials. Donc, grosso modo, c’est : « voilà le logiciel et la liste des composants que j’ai trouvés à l’intérieur ». Le seul problème, c’est que ces outils-là, ils s’appuient sur des systèmes de package, de dépendance, d’inclusion, etc. Donc, ils vont trouver les composants qui sont utilisés en tant que tels. Par contre, ils ne vont pas être capables d’identifier les 500 lignes copiées-collées dans ton projet qui viennent de tel projet sous licence GPL. Et ça, c’est un problème potentiellement. Donc, effectivement, quand on nous demande, nous réalisons des audits, dans le cadre de la sécurisation de la chaine d’approvisionnement, nous sommes en train de mettre en place aussi des outils qui visent à la sécurisation juridique, mais aussi à la sécurisation vis-à-vis des failles de sécurité, la gestion de vie, le cycle de vie et l’obsolescence. C’est la lutte contre l’obsolescence logicielle. Veiller à avoir des composants qui ne sont pas trop vieux. Et après, en termes de règles, on n’est pas parfait. On n’a pas des règles absolues. Par contre, régulièrement, on me demande conseil sur une brique. Par exemple, on n’a pas de règles monolithiques du style « c’est la GNU GPL, vous ne l’utilisez pas, c’est non ». C’est : que fais-tu de ce composant ? Dans quel contexte ? Et je te dirai si tu peux l’utiliser ou pas. Et après, dans les sélections, on a des règles, des bonnes pratiques. Eh bien, je dis toujours : ne regardez pas que le code. Regardez s’il y a le bug tracker. Est-ce qu’il y a des bugs qui sont signalés ? Est-ce qu’ils sont corrigés vite ? Est-ce que vous détectez une communauté vivante de contributeurs et d’utilisateurs ? Ou est-ce qu’il y a une seule personne ? Voilà. C’est le genre…

Walid : Pardon, non, c’est juste pour dire, vous ne voyez pas, vous ne pouvez pas voir la tête de Raphaël avec son grand sourire parce que c’est son sujet de prédilection, c’est pour ça. Désolé.

Sébastien : Voilà, d’accord, très bien. Mais voilà, en fait, je demande aux gens, enfin, je vais vérifier pour eux tout un tas de paramètres. Alors, il y a la plateforme Open Hub, je ne sais pas si vous la connaissez. C’est une plateforme crowdsourcée. Et si votre logiciel que vous utilisez n’est pas présent, vous pouvez le déclarer et vous revenez le lendemain. Généralement, il a fait l’analyse. Et il va vous dire, voilà, ce projet-là, en moyenne, il y a 5 contributeurs par mois, 30 commits. Il existe depuis 5 ans, il a une vitalité croissante. Et donc, vous dites : c’est un bon cheval. Et à contrario, quand vous voyez que votre projet, il est mort, il n’y a pas eu de seule contribution depuis 5 ans, vous dites : alerte. OK, il a l’air super, génial, mais il n’y a plus personne qui bosse dessus depuis 5 ans. Non, stop.

Les OSPOs et la formation

Raphaël : OK, bon, après, c’est ma dernière question. Après, je m’arrête, promis. Du coup, oui, ce que je comprends, c’est-à-dire au niveau des projets, ils ont quand même leur stratégie, même technique, ils choisissent leur composant, etc. Et après, quand ils ont certaines questions ou qu’il y a un audit, là, ils vont aller regarder dans le détail. La question que j’ai, c’est est-ce que c’est de l’ordre des prérogatives ou des choses que un OSPO peut faire, de manière générale, chez vous ou peut-être dans d’autres contextes, de faire de la vulgarisation, de la formation, d’expliquer, en fait, des choses, parce que c’est un…

Sébastien : Ah, j’ai complètement oublié d’en parler de tout ça. Tu as raison, c’est pas « on peut », c’est « on doit ». À CS, on a mis en place un programme de sensibilisation aux droits d’auteur et aux logiciels libres. Et alors, pour la petite histoire, pour être totalement transparent, ce programme, on l’a mis en place, essentiellement au départ, au niveau de la BU Espace, de la division Espace, parce que c’est elle qui contribue le plus, qui libère le plus de choses, etc. Et donc, on a expliqué aux gens ce que c’est le droit d’auteur, et après, comment fonctionnent les licences, quel est le support que vous pouvez avoir en interne, c’est demi-journée de formation, et on a formé beaucoup de gens. Et on a vu disparaitre tout un tas de mauvaises pratiques et d’erreurs que je trouvais régulièrement dans les projets. Et il est arrivé des moments où des gens formés, je me souviens une fois, une développeuse est venue me voir, et « eh Sébastien, tiens, je crois qu’on a fait une connerie dans le projet, tu peux venir voir ? » Ah oui, et effectivement, quelqu’un qui n’avait pas suivi la formation avait fait une bêtise, il a fallu que je récupère le coup derrière. Bon, ben voilà, et j’ai réussi à le récupérer, tant mieux, voilà, il a fallu traiter. Donc il a montré un véritable intérêt, en fait. C’était vraiment un succès. Et puis, entre accroissement des effectifs de 200 à 800, renouvèlement des effectifs, à CS comme partout ailleurs, il y a du turnover, et changement de priorité, on a un moment mis en pause ce programme. Et là, assez vite, au bout d’un an, deux ans, j’ai vu réapparaitre des problèmes qui avaient complètement disparu. À tel point qu’aujourd’hui, il y a des responsables de département qui me demandent à ce qu’on le remette en place. Là, j’ai discuté récemment avec un responsable de département qui m’a dit « je veux qu’on mette ça en place pour toutes mes équipes. » Parce qu’il a connu l’époque où il y avait ce programme, il l’avait vu. Aujourd’hui, quand il voit les erreurs qui sont faites et qui sont rattrapées par l’OSPO, par les analyses, il dit « je ne veux plus que ça arrive ».

Walid : C’est quoi, comme type d’erreur ? tu peux donner un exemple pour qu’on s’imagine ?

Sébastien : C’est typiquement l’inclusion d’un composant sous GPL que tu veux libérer sous licence Apache, par exemple. Ça va être des copyrights qui ne sont pas appropriés, des informations qui ne sont pas fournies, des choses qui ne devraient pas être faites, qui devraient être maitrisées, qui ne sont pas maitrisées.

Raphaël : Ce que je me dis aussi, c’est ce que je vois à mon niveau, c’est qu’il y a de la vulgarisation à faire auprès des développeurs, ceux qui vont faire, utiliser, etc. mais aussi au niveau de leur manager.

Sébastien : Tout à fait. Et je n’ai pas le même discours, évidemment, quand je m’adresse à des développeurs ou à des managers. Tout comme il y a des fois, en fait, le programme de sensibilisation, on m’a déjà demandé de le donner dans d’autres entreprises pour créer une culture interne. Et là, il y a des entreprises où ça va être des effectifs techniques que j’ai en face de moi. Et il m’est arrivé aussi d’avoir la direction, toute la direction d’entreprise. D’une entreprise qui voulait comprendre ce que c’est ce logiciel libre et comment elle pouvait intégrer ça dans sa stratégie. Et là, je ne reparle pas de Git. C’est clair.

Mots de la fin

Walid : On va s’arrêter là parce qu’on a déjà bien parlé et c’était super intéressant. Avant qu’on s’arrête, je voudrais te proposer de faire un mot de la fin. Mais avant de faire un mot de la fin, je voudrais que Raphaël fasse un mot de la fin, lui-même. Est-ce que tu retiens quelque chose de tout cet échange d’abord Raphaël ?

Raphaël : Oui, je suis très content de cet échange-là. C’est hyper intéressant d’avoir un retour clair et bien organisé, bien structuré, comme Sébastien peut le faire, et avec une expérience en plus de plusieurs décennies sur comment mettre en place tout ça et comment ça a évolué. Donc ça, je trouve que c’est fondamental. Et c’est pour ça que ma dernière question, elle était orientée. Mais je pense qu’il reste, et c’est pour ça qu’un podcast comme le tien, Walid, il est fondamental pour ça, je pense aussi.

Il faut continuer à vulgariser et à expliquer, en fait. Moi, je le vois avec les nouveaux, les jeunes qui arrivent, etc. Des fois, on part de loin. Pour eux, GitHub, open source, je prends le code, je ne me pose aucune question, absolument aucune. Et c’est dommage parce que c’est riche, en fait. Il y a vraiment des choses à apprendre. Et on l’a vu, on a parlé des aspects humains, des contrats sociaux et tout. Il y a vraiment des choses à apprendre, même au niveau personnel.

Raphaël Semeteys

Et c’est dommage de… Donc, rien que pour ça, je suis content ; c’est mon mot à moi. Pardon.

Walid : Sébastien, ton mot de la fin ?

Sébastien : Mon mot à moi, c’est que le logiciel, ce n’est pas qu’un objet technique, c’est un objet dual, c’est donc technique et juridique. Quand on l’utilise, quand on le manipule, ça a des conséquences techniques, mais aussi juridiques. Et au-delà de ça, c’est un objet qui est fait par des humains. Et donc, il y a des considérations sociales, des facteurs humains à prendre en compte qu’il ne faut pas négliger parce qu’ils sont primordiaux.

On ne mesure pas le succès de votre logiciel à la qualité de son code, même si la qualité de ce code fait qu’on va l’adopter ou pas, ça contribue à son adoption. Au final, on mesure le succès de votre logiciel à sa communauté d’utilisateurs et de contributeurs. Et donc, si vous lancez dans ce genre d’aventure, vous devez faire en sorte d’avoir une communauté qui fonctionne bien, qui se développe bien. Ça nécessite de réfléchir à la gouvernance.

Sébastien Dinot

Walid : Mon mot de la fin à moi, c’est que, étant moi-même en train d’essayer, au jour d’aujourd’hui, c’est-à-dire le 19 mars, d’essayer de créer une petite équipe pour travailler autour du podcast, se posent ces questions de règles, d’outils, de collaboration, tout ça, etc., un peu de gouvernance, même si c’est pas en modèle réduit, mais c’est un peu pareil. Donc, c’est assez intéressant de faire ça maintenant. Et moi, je suis super content parce que ça fait déjà pas mal de temps qu’on discute ensemble, Sébastien, de ces sujets-là, quand on se croise sur les différents salons, et que je t’avais dit que ça valait vraiment la peine de faire un épisode.

On a terminé, ça fait 1h30 qu’on enregistre. Merci aux auditrices et aux auditeurs qui ont tenu jusque-là. On espère que vous avez appris des choses. N’hésitez pas à faire vos retours à travers nos réseaux sociaux habituels, en particulier Mastodon, qui est un réseau décentralisé et qui est tout à fait approprié par les temps qui courent. Et puis, à une prochaine pour d’autres épisodes. Comme vous avez pu le voir, le rythme de publication s’est un peu réduit, puisqu’on est repassé plutôt à un rythme de un mois ces temps-ci. Écoute Sébastien, au plaisir de te revoir une prochaine fois. Raphaël, à bientôt. Portez-vous bien tous les deux.

Sébastien : Merci à vous deux. C’était très intéressant de discuter avec vous. Merci pour l’invitation.

Raphaël : Merci.

Walid : À bientôt.

Production de l’épisode

  • Enregistrement à distance le 19 mars 2025
  • Trame : Raphaël Semeteys & Walid Nouh
  • Transcription : Walid Nouh, Sébastien Dinot (relectures et corrections)
  • Pour aller plus loin : Sébastien Dinot & Walid Nouh

Pour aller plus loin

Les interventions ou écrits de Sébastien :

Recommandé et commentaires par Sébastien pour en savoir plus :

  • Open Source Guides
  • Organisation, gouvernances de projets Open Source (Inno3)
  • Do-ocratie
  • Orekit sur Openhub : Pour info, la méthode COCOMO est connue pour surévaluer nettement (on annonce souvent un facteur 3) le cout de développement d’un projet utilisant un langage moderne. C’est le cas avec Orekit. OpenHub annonce 192 années d’effort. CS estime son effort sur Orekit à 44  annnées, auxquelles il faut ajouter quelques années, peut-être 10, pour l’ensemble des autres contributeurs.

Exemple significatif de contribution sur Orekit :

https://orekit.org/doc/orekit-day/2019/3-quartz-fds-presentation-for-orekit-day-airbus-ds.pdf Cf. planches 10 à 14, notamment la planche 13. 🙂

Pour la petite histoire, sur la planche 14, Airbus Defence and Space (ADS) signale quelques améliorations potentielles d’Orekit : « Not designed for multi-threading with heterogeneous data contexts »

Le Naval Research Laboratory (NRL) de l’US Navy ayant fait le même constat, un chercheur du NRL (Evan Ward) a corrigé ce fameux problème de « data context » quelques mois après. Cf. cet échange sur le forum : https://forum.orekit.org/t/data-context-proposal/589

En résumé :

* 18 septembre : Evan Ward (NRL) annonce son intention et demande si son design convient à tout le monde.

* Super accueil de CS, d’ADS (« Yannick » est alors le responsable du service de mécanique spatiale d’ADS) et d’autres. Mais Yannick explique qu’il a un cas d’utilisation qui n’est pas satisfait par la proposition d’Evan. Evan revoit sa copie, lui et Yannick discutent, Evan ouvre une issue pour marquer le terrain, puis plus de nouvelles.

* 15 novembre : 2 mois sont passés. Evan annonce qu’il a bien progressé et explique une difficulté qu’il rencontre. Nouvel échange entre le NRL, ADS et, un peu CS (Luc).

* 3 décembre : Evan annonce qu’il a terminé et vient de pousser une MR (NDLR merge request). Tout le monde est enthousiaste.

Evan a fait un travail formidable sur ce coup et il a résolu un problème de conception qui ennuyait tout le monde. ADS et CS n’ont rien fait si ce n’est faire part de leurs doléances et l’encourager, mais ils sont les premiers bénéficiaires de cette grande avancée. L’autre problème résiduel (le multithreading) sera résolu dans Orekit 12.

Recommandé par Projets Libres! :

Licence 

Ce podcast est publié sous la licence CC BY-SA 4.0 ou ultérieur

, ,
Fediverse reactions

/publica