Libre à Vous, précisions sur la gouvernance ouverte
Libre à Vous est une émission de radio animée par Frédéric Couchet, qui traite de l’actualité du libre et des libertés numériques. Elle est diffusée sur la radio FM Cause Commune le mardi, de 15h30 à 17h00, et les enregistrements sont disponibles en service audio à la demande (podcasting). Ses émissions donnent toujours à découvrir et à réfléchir, comme cela a été le cas pour moi de celle consacrée aux femmes dans l’informatique.
L’entreprise CS GROUP – France, mon employeur, publie sous licence libre certains des logiciels qu’elle développe sur fonds propres et elle contribue à un nombre croissant de projets libres. Sa plus belle réussite est la bibliothèque de mécanique spatiale Orekit, devenue une référence internationale dans son domaine, à laquelle contribuent des agences gouvernementales, des industriels, des centres de recherche et des universités.
J’ai souvent discuté avec Frédéric Couchet de la stratégie de CS GROUP en matière de logiciel libre et d’Orekit. Frédéric me sait aussi soucieux de la bonne gouvernance des projets libres, de leur ouverture et du soin qu’ils accordent à leur communauté. Il m’a donc invité à parler de ces sujets dans son émission diffusée le 30 novembre 2021. Libre à Vous privilégie le direct, mais j’habite à Toulouse et je passe rarement à Paris. Frédéric m’a donc proposé de profiter de l’un de mes déplacements professionnels pour enregistrer l’émission « dans les conditions du direct » le 11 novembre dernier.
« Dans les conditions du direct », cela veut dire qu’on s’interdit de faire plusieurs prises afin de conserver la spontanéité des échanges. Cela veut aussi dire que si une question nous prend au dépourvu, si l’inspiration nous fait défaut sur l’instant et si notre réponse manque de clarté ou de pertinence, tant pis, c’est dans la boite, on fait avec !
En écoutant l’émission, j’ai réalisé que certaines de mes réponses étaient largement perfectibles. Mon plus joli raté s’est produit dans la seconde partie de l’émission, alors que nous parlions de la gouvernance des logiciels libres. Frédéric m’a demandé ce qu’était une gouvernance ouverte. Comme je n’avais pas encore pleinement présenté jusque-là ce qu’était la gouvernance d’un projet, j’ai voulu préciser ce point avant d’expliquer ce que signifiait « ouverte ». Erreur ! Non content de me répéter (ce qui avait peu d’intérêt pour les auditeurs), j’ai fini par oublier de répondre à la question initiale, et je n’ai donc pas expliqué ce qu’était une gouvernance ouverte. Les auditeurs sont restés sur leur faim. :(
D’où ce post aujourd’hui.
Gouvernance ouverte
Quand je qualifie d’ouverte une gouvernance, je ne veux pas dire que les documents qui la formalisent sont publics et que les conditions d’engagement dans le projet sont connues de tous ; ceci est juste un prérequis. Une gouvernance ouverte est une gouvernance dont les règles permettent à des membres actifs de la communauté de prendre part aux décisions et de faire entendre leur voix sur un pied d’égalité, qu’ils travaillent ou non pour l’entité qui porte le projet. Cette caractéristique est essentielle à l’épanouissement de la communauté et au bon fonctionnement du projet. Pourtant, les entreprises qui libèrent des logiciels ont du mal à lâcher prise et à réellement partager le pouvoir de décision avec des tiers. Cette réticence se comprend. Outre le fait qu’une entreprise aime bien avoir les coudées franches dans ses décisions, lorsqu’elle publie un logiciel, elle a bien souvent assumé seule jusque-là le cout humain et financier de son développement. Pourquoi devrait-elle impliquer des tiers dans les décisions et prendre en compte leur avis potentiellement contraire à ses priorités ou à sa vision du projet ?
Elle le doit pourtant, si elle veut la réussite et la large adoption de son projet. En effet, le succès passe par le développement de la communauté et pour se développer, la communauté a besoin de se sentir bien accueillie et entendue, elle a besoin de se sentir en confiance. Cela est vrai pour les utilisateurs du logiciel ; cela l’est encore plus pour les éventuels contributeurs. Sans transparence, sans respect, sans confiance, sans droit à la parole, personne ne s’implique durablement dans un projet. Ce besoin a même conduit à l’émergence de gouvernances plus démocratiques que les gouvernances historiques, comme j’ai pu l’expliquer dans mon article intitulé Évolutions de la gouvernance des projets libres.
Le projet doit donc être en mesure d’accueillir dans ses instances de direction ou parmi les personnes impliquées dans les prises de décision, des contributeurs « externes », qui ne travaillent pas pour l’entité initiatrice du projet, mais qui ont montré un investissement substantiel et durable dans le projet. La gouvernance doit affirmer cette ouverture, elle doit en détailler les principes et les règles. Qui prend les décisions ? Comment ? Où peut-on prendre connaissance des décisions passées, des débats en cours ou à venir ? Comment peut-on soumettre une question ou une proposition ? Comment peut-on faire connaitre son avis ? Comment peut-on être impliqué dans la prise de décision ? Quels sont les critères à satisfaire ? Etc.
Pour instaurer la confiance, la déclaration d’intention qu’est la gouvernance doit se traduire en faits observables par tous. Autrement dit, si un comité de pilotage anime le projet, il doit accueillir des contributeurs externes. Si un contributeur exprime un avis divergent, il doit être discuté et pris en compte s’il s’avère pertinent.
Si l’on prend l’exemple du projet Orekit, sa gouvernance est publiée en ligne. Dans son comité de pilotage, dont les membres sont listés sur la page d’accueil, on trouve neuf entités différentes. À ce jour, CS GROUP continue à assurer la majeure partie des développements ; c’est donc elle qui propose le calendrier et le contenu des nouvelles versions d’Orekit. Si ceux-ci font en général consensus, le jour où un membre du comité travaillant pour une autre entité a exprimé et motivé une réserve sur le contenu de la future version, CS GROUP a su l’entendre et se rallier à son point de vue (revoyant en interne ses plans). J’en ai été ravi, le comité de pilotage n’était pas un simple bureau d’enregistrement de la volonté de CS GROUP ! Plus tard, lorsque CS GROUP a délégué à un committer externe le soin d’une release d’Orekit, j’y ai vu un signe fort. CS GROUP a dû revoir à cette occasion ses prérogatives, créer une clé cryptographique non nominative pour signer les paquets et la partager avec un tiers, preuve d’une réelle confiance.
Il y a deux ans, un chercheur de l’US Navy a proposé sur le forum d’Orekit une évolution séduisante, mais copieuse et qui cassait l’interface de la bibliothèque. Il a détaillé sa conception et s’est proposé de l’implanter. Les ingénieurs d’Airbus Defence and Space se sont montrés enthousiastes, tout en soulignant que la solution présentée ne répondait pas à certains de leurs cas d’utilisation. Après quelques échanges, le chercheur de l’US Navy a ajusté sa copie, il s’est lancé et, deux mois plus tard, il a offert le fruit de son travail à la communauté. La seule intervention de CS GROUP dans cet échange et la réalisation qui a suivi a été « Your proposal is great! » Pourtant, CS GROUP a été la première à faire bon usage de cette évolution. Voilà ce qui se passe quand vous savez faire confiance. :)