C'était inévitable. Kubernetes, si souvent présenté comme un modèle de vertu communautaire, est au cœur d’une bataille entre Joe Beda, le CEO de Heptio (et cofondateur de Kubernetes), et… tout le monde. Celui-ci soutient que Red Hat OpenShift est un fork de Kubernetes et qu’il n'est pas conforme à 100 %, ce que démentent vigoureusement employés et partisans de Red Hat. Mais Joe Beda est allé encore plus loin en déclarant que « beaucoup de clients » pensent qu'il « est très important de savoir » si OpenShift est un fork de Kubernetes ou s’il vient en surcouche du projet amont Kubernetes. Il est clair que, étant donné les revenus croissants générés par OpenShift, la plateforme ne peut être considérée comme un fork. Soit les clients sont sourds à l'argument de Joe Beda (qui ressemble à celui répété pendant plusieurs années par Canonical), soit ils ne sont pas d'accord avec ces accusations. Ou tout simplement peut-être, qu'ils s'en fichent.
L'ironie à propos de cette dispute via Twitter, c’est qu’elle a été involontairement déclenchée par Red Hat après que Brian Gracely, le directeur de la stratégie de Red Hat a mis un lien vers un article de l'analyste Janakiram MSV, lui demandant de « cesser de répandre de fausses informations ». Mais de quoi s’agit-il ? « On critique Red Hat d’avoir créé un fork de Kubernetes ». Comme le dit la source, la « fausse information » n’occupait qu’une toute petite place - une courte phrase - dans un long article très élogieux sur la stratégie de Red Hat dans le cloud. La plupart des entreprises adoreraient voir ce genre d’article publié. Mais Red Hat n'a pas pu laisser passer cette insinuation laissant entendre qu’il faisait de l’open source de mauvaise qualité.
Quand un fork n’est pas un fork
Joe Beda, dont l'entreprise développe un service concurrent d’OpenShift, a également choisi de ne pas ignorer ce débat, et s’est empressé de déclarer qu’OpenShift était un fork : « Il est possible d’être un fork et d’être conforme. OpenShift est significativement différent du projet amont Kubernetes. C'est un fork ». Dan Kohn, directeur exécutif de la Cloud Native Computing Foundation chargée de superviser le code et la communauté Kubernetes, a pris la défense de Red Hat : « OpenShift, comme les 54 autres distributions et plates-formes (et à la différence de Heptio et des sept autres installateurs) comporte des correctifs et n'est donc pas identique au Kubernetes original. Mais comme dans le cas de Linux, les distributions et les clouds comportent des correctifs sans être pour autant considérés comme des forks du noyau ».
Marc Boorshtein, le CTO de Tremolo Security fait valoir que « Azure, AWS et Google ont besoin de personnalisations pour répondre aux besoins spécifiques de leurs clients, tout comme Red Hat.... et ces personnalisations sont conservées dans différentes sources d’arborescence. Tous font de leur mieux pour utiliser des crochets standards quand ils sont disponibles ». Krish Subramanian, un analyste de Rishidot s'est demandé si OpenShift pouvait être considéré comme un fork, et sa réponse est négative. Cela aurait probablement pu mettre un terme à la dispute, mais Joe Beda en a décidé autrement. Il a continué à affirmer que Openshift était un fork, afin, semble-t-il de discréditer OpenShift et de montrer que l'approche d'Heptio était plus « propre » et plus conforme à l’open source.
La « fork » de Red Hat n'a pas d'importance pour les clients.
Les entreprises veulent des produits qui fonctionnent. Si le monde du logiciel libre discute et s’inquiète du verrouillage des fournisseurs, les entreprises ont fait preuve d’une remarquable capacité à s’affranchir de cette préoccupation. Elles investissent dans Microsoft, dans Oracle et, aussi dans OpenShift de Red Hat. Joe Beda affirme que les clients se préoccupent de savoir si OpenShift est ou non fork, mais les revenus de Red Hat montrent tout simplement que ce point n’a pas d’importance pour eux. OpenShift continue à rapporter beaucoup d’argent à Red Hat, et il semble que le produit va soutenir la croissance de Red Hat au cours des deux prochaines décennies, tout comme Red Hat Enterprise Linux a porté l'entreprise au cours des deux dernières décennies.
Il est clair que les entreprises veulent du Kubernetes. Mais elles veulent aussi qu'il fonctionne avec leurs autres infrastructures. Comme l’a déclaré Brian Gracely de Red Hat : « Nous avons toujours dit qu’OpenShift était un Kubernetes++. Nous ne supprimons rien de Kubernetes, et les clients ont un accès complet à toutes les API. Les extensions que nous avons développées répondent aux exigences complexes de l’IT d’entreprise (multilocation, routage complexe et défauts de sécurité). Certaines choses existaient dans OpenShift avant d’apparaître dans Kubernetes (par exemple, le contrôle d'accès basé sur les rôles et Router), et nous avons essayé de les repousser en amont. Des fonctions comme Router sont encore en avance sur la fonction Ingress par défaut de Kubernetes. D'autres choses ont évolué parce que la communauté a créé quelque chose de génial (comme les Helm Charts), que nous avons adopté comme option alternative aux modèles OpenShift que nous avions avant Helm ».
Tester le code pour s'assurer de la conformité
Cela veut-il dire pour autant qu’Openshift est un fork de Kubernetes ? Non. C'est une façon de faire travailler Kubernetes dans le monde réel. Comme l’a encore déclaré Brian Gracely : « Ce sera toujours un peu fluide, mais nous nous engageons à 100 % dans la réussite de Kubernetes. Nous disons toujours en interne que Kubernetes doit réussir (et qu’il doit être stable et sécurisé) et que le succès d’OpenShift passe après ». Le fait de se concentrer sur la réussite du projet sous-jacent (projet amont) avant son propre succès commercial est probablement le meilleur antidote au forking, parce qu'il incite l’entreprise à investir massivement dans le projet source ».
Si vous avez encore des doutes sur le sujet, vous pouvez utiliser un outil comme Kubernetes by Example pour savoir si le code principal de Kubernetes fonctionne avec OpenShift. Mais inutile de perdre du temps pour cela. Il suffit de voir qui dans monde réel utilise OpenShift (en plus de Microsoft, AWS, Google, et d'autres distributions Kubernetes) pour résoudre les problèmes du monde réel. Et ils ne cherchent pas à couper les cheveux en quatre pour savoir quelle approche open source est la plus « pure ». Ils veulent juste un Kubernetes qui fonctionne avec leurs autres investissements IT. L’objectif n’est pas de créer un fork, mais de répondre aux attentes et aux besoins des clients.
Commentaire