olly - Fotolia
Les graduations et la CNCF : le cas Linkerd ravive le débat
La décision de Buoyant de faire payer l’accès aux versions stables du code du service mesh Linkerd, concurrent d’Istio, suscite des objections et un débat sur la gouvernance de l’open source, ainsi qu’une réponse officielle de la CNCF.
Les responsables du projet Linkerd, un service mesh porté par la CNCF, ont annoncé la semaine dernière que les entreprises de plus de 50 employés qui l’utilisent en production devront payer à Buoyant, principal contributeur et éditeur commercial, 2 000 dollars par cluster pour accéder aux versions stables de son code. Ce financement supplémentaire est nécessaire pour maintenir le projet à long terme, selon les responsables. En principe, cette décision pourrait compromettre son statut de projet open source, jugent les analystes.
En réponse, le comité de supervision technique (Technical Oversight Committee, ou TOC) de la Cloud Native Computing Foundation (CNCF) soumettra Linkerd à un « bilan de santé », initié via une « issue » nouvellement ouverte sur la page GitHub de la filiale de Linux Foundation.
Selon Chris Aniszczyk, directeur technique de la CNCF, la décision de Linkerd ne contrevient pas techniquement aux critères de graduation de la CNCF.
Un bilan de santé nécessaire, malgré une décision techniquement acceptable
« La plupart des projets open source, et même ceux qui vivent dans des fondations… n’exigent pas que des builds soient fournis », précise Chris Aniszczyk dans un courriel à la rédaction de TechTarget [propriétaire du MagIT]. C’est en des termes similaires qu’il s’est exprimé sur X (Twitter), en citant un article de blog sur le sujet rédigé par Matt Farina, ingénieur distingué chez SUSE et ancien membre du TOC de la CNCF.
Pour rappel, la CNCF fait passer ses projets par trois étapes : l’incubation à leur lancement, le bac à sable (sandbox) quand ils gagnent en fonctionnalités, et la graduation, une fois qu’ils sont matures. Sur les 173 projets hébergés par la CNCF, 25 bénéficient de ce statut « graduated ». Les projets en fin de vie, ou qui posent un problème, sont « archivés ».
Chris Aniszczyk Directeur technique de la CNCF
« Nous avons des projets qui deviennent parfois malsains avec le temps », ajoute Chris Aniszczyk. Le TOC a récemment archivé trois projets après un processus de révision : un projet en phase d’incubation, appelé OpenEBS, un autre en phase de bac à sable nommé Fonio et un troisième dont le statut n’est pas clair appelé Brigade. Les projets archivés ne bénéficient plus des services de marketing de la CNCF, mais continuent d’être hébergés par la Fondation Linux.
« Le TOC envisage d’augmenter potentiellement les exigences de graduation des projets pour les rendre plus claires en ce qui concerne la gestion des builds », poursuit M. Aniszczyk. « À l’heure actuelle, une grande partie de ces exigences proviennent du programme des bonnes pratiques de l’OpenSSF [Open Source Security Foundation], pour lequel nous demandons aux projets rattachés à la CNCF d’adhérer ».
C’est un des critères importants pour les entreprises utilisatrices, comme le soulignait Taylor Dolezal, Head of Ecosystem chez la CNCF, qui présentait au MagIT la stratégie de la fondation pour se rapprocher de ses usagers finaux.
Un utilisateur de Linkerd, lui, remarque sur X que le processus de bilan de santé aboutit généralement à un archivage, ce qui l’inciterait à repenser son utilisation du projet.
« Si [Linkerd] est archivé, nous devrons migrer vers [Istio], car [le] parapluie CNCF… fait partie de nos exigences d’acceptation et je dois être prêt », écrit Jorge Turrado, expert SRE chez SCRM, une filiale big data de Lidl International (dont le siège est à Barcelone) et qui a souligné dans un message séparé à la rédaction de TechTarget qu’il ne s’exprimait pas au nom de l’entreprise.
La Linux Foundation et la CNCF sont perçues comme des garants d’une certaine neutralité en matière de gestion de projets open source. Logiquement, Chris Aniszczyk répond que Jorge Turrado n’est pas le seul à s’inquiéter.
« Je ne pense pas que ce type de décision extrême se prenne du jour au lendemain », répond M. Aniszczyk, se voulant rassurant. « Beaucoup de projets prennent bien le retour d’information, apportent des améliorations, etc. ».
En ce sens, la figure de proue de Linkerd a indiqué qu’il s’attendait à ce que le processus de bilan de santé ait un résultat positif.
« La CNCF, Buoyant et les mainteneurs de Linkerd ont toujours été alignés autour d’un objectif commun : assurer la stabilité à long terme du projet », affirme William Morgan, PDG de Buoyant, dans un courriel adressé à la rédaction de TechTarget. « Nous ne nous attendons pas à ce que cela change ».
Selon William Morgan, environ 5 000 entreprises utilisent Linkerd. Les estimations récentes du nombre d’utilisateurs de son concurrent principal Istio ne sont pas facilement disponibles, mais Istio compte 8 800 contributeurs open source individuels, dont 85 mainteneurs issus de 15 entreprises différentes. Les événements virtuels IstioCon en 2021 et 2022 ont attiré plus de 4 000 participants chacun, selon un billet de blog de la Cloud Native Computing Foundation (CNCF). Le proxy Envoy compte à lui seul plus de 300 entreprises contributrices. Deux éditeurs commerciaux, Solo.io et Tetrate, ont également émergé avec des produits qui offrent un support Istio pour les entreprises.
Le débat sur les critères de graduation de la CNCF s’approfondit
Contrairement à la plupart des autres projets ayant fait l’objet d’un bilan de santé jusqu’à présent, Linkerd est un projet gradué de la CNCF. Pour recevoir ce badge, signe de sa maturité, il a dû respecter un ensemble de critères, en sus des exigences de l’OpenSSF.
Parmi ces critères, la CNCF stipule qu’un projet doit avoir des contributeurs de plus d’une entreprise.
Or, si le code de Linkerd a été validé par des développeurs externes à Buoyant (l’éditeur qui prévoit maintenant de faire payer les versions stables du code du maillage de services), tous ses mainteneurs (les développeurs ayant le pouvoir de pousser les modifications de code validées vers la branche principale sur GitHub) travaillent pour Buoyant. Les développeurs de Buoyant sont également à l’origine de la majorité des modifications de code apportées au projet, soit plus de 40 000. Le deuxième plus grand nombre de modifications (136) est attribué par Devstats aux contributeurs « indépendants », suivi par 70 modifications assignées à la CNCF.
Ces critères de graduation étaient déjà en cours de révision au sein du TOC de la CNCF depuis l’année dernière. Parmi les points à l’étude, figure l’exigence que « les projets aient une distribution saine de la diversité des entreprises/organisations auteurs de commits, en visant moins de 40 % de contributions d’une seule entreprise/organisation ».
Le fil de discussion sur les critères de graduation du TOC sur GitHub n’a pas été mis à jour en 2024, mais la décision de Linkerd a renouvelé les appels à une discussion plus large sur les exigences de graduation et de gouvernance de la CNCF.
Parmi les réactions les plus virulentes à la décision de Linkerd sur les réseaux sociaux, on trouve Dan Lorenc, co-créateur du projet open source de sécurisation de la supply chain logicielle Sigstore et PDG de Chainguard. Dan Lorenc, parmi d’autres, se demande si un projet CNCF gradué peut dépendre de contributeurs provenant d’un seul éditeur.
Le changement de Linkerd « aurait pu être acceptable… [s’il] avait été discuté [et] débattu ouvertement », considère-t-il dans un message publié sur X.
« Mais parce que ce projet n’est géré que par un seul fournisseur, toutes ces étapes ont été accélérées », ajoute-t-il, « ce qui est en quelque sorte l’objectif du TOC qui exige généralement que les projets gradués soient gérés par plusieurs fournisseurs ».