La Fondation Linux a annoncé la semaine dernière qu’elle hébergerait Valkey, un fork du magasin de données en mémoire Redis. Valkey est soutenu par AWS, Google Cloud, Oracle, Ericsson et Snap.
AWS et Google Cloud soutiennent rarement un fork open source ensemble. Pourtant, lorsque Redis Labs a abandonné Redis de la licence BSD permissive à 3 clauses le 20 mars et a adopté la licence publique côté serveur (SSPL), plus restrictive, un fork a toujours été l’un des résultats les plus probables. Au moment du changement de licence, Rowan Trollope, PDG de Redis Labs, a déclaré qu’il « ne serait pas surpris si Amazon sponsorisait un fork », car la nouvelle licence nécessite des accords commerciaux pour offrir Redis-as-a-service, ce qui la rend incompatible avec le définition standard de « open source ».
Cela vaut la peine de prendre quelques pas en arrière pour voir comment nous en sommes arrivés à ce point. Après tout, Redis fait partie des magasins de données les plus populaires et est au cœur de nombreux grands déploiements commerciaux et open source.
Une brève histoire de Redis
Tout au long de sa vie, Redis a connu quelques conflits de licence. Le fondateur de Redis, Salvatore Sanfilippo, a lancé le projet en 2009 sous licence BSD, en partie parce qu’il voulait pouvoir créer un fork commercial à un moment donné et aussi parce que « le BSD [license] permet à de nombreuses branches de rivaliser, avec différentes idées de licence et de développement », a-t-il déclaré dans un récent commentaire de Hacker News.
Après que Redis ait rapidement gagné en popularité, Garantia est devenu le premier grand fournisseur de services Redis. Garantia a été rebaptisée RedisDB en 2013, et Sanfilippo et la communauté ont riposté. Après un certain temps, Garantia a finalement changé son nom pour Redis Labs puis, en 2021, pour Redis.
Sanfilippo a rejoint Redis Labs en 2015 et a ensuite transféré son adresse IP à Redis Labs/Redis, avant de quitter l’entreprise en 2020. C’était seulement quelques années après que Redis ait modifié la façon dont il licencie ses modules Redis, qui incluent des outils de visualisation, un client SDK et plus encore. Pour ces modules, Redis a d’abord opté pour la licence Apache avec la clause Commons ajoutée qui empêche les autres de vendre et d’héberger ces modules. À l’époque, Redis avait déclaré que malgré ce changement pour les modules, « la licence de Redis open source n’a jamais été modifiée. C’est BSD et cela restera toujours BSD. Cet engagement a duré jusqu’à il y a quelques semaines.
Trollope de Redis a réitéré dans une déclaration ce qu’il m’avait dit lors de l’annonce initiale de ces changements, soulignant comment les grands fournisseurs de cloud ont profité de la version open source et sont libres de conclure un accord commercial avec Redis.
« Les principaux fournisseurs de services cloud ont tous bénéficié commercialement du projet open source Redis, il n’est donc pas surprenant qu’ils lancent un fork au sein d’une fondation », a-t-il écrit. « Notre changement de licence a permis aux CSP d’établir des accords de licence équitables avec Redis Inc. Microsoft est déjà parvenu à un accord, et nous sommes heureux et ouverts à la création de relations similaires avec AWS et GCP. Nous restons concentrés sur notre rôle de gestionnaire du projet Redis et sur notre mission d’investir dans le produit source Redis disponible, l’écosystème, l’expérience des développeurs et de servir nos clients. L’innovation a été et sera toujours le facteur de différenciation entre le succès de Redis et toute solution alternative.
Les fournisseurs de cloud soutiennent Valkey
Cependant, la réalité actuelle est que les grands fournisseurs de cloud, à l’exception notable de Microsoft, se sont rapidement ralliés à Valkey. Ce fork est né chez AWS, où Madelyn Olson, responsable de longue date de Redis, a initialement lancé le projet dans son propre compte GitHub. Olson m’a dit que lorsque la nouvelle est tombée, de nombreux responsables actuels de Redis ont rapidement décidé qu’il était temps de passer à autre chose. « Quand la nouvelle est tombée, tout le monde s’est dit : ‘Eh bien, nous n’allons pas contribuer à cette nouvelle licence’, et dès que j’ai parlé à tout le monde, ‘Hé, j’ai cette fourchette, nous essayons pour garder l’ancien groupe ensemble », a-t-elle déclaré. «Presque tout le monde disait: ‘ouais, je suis immédiatement à bord.’
La chaîne privée Redis d’origine comprenait cinq responsables : trois de Redis, Olson et Zhao Zhao d’Alibaba, ainsi qu’un petit groupe de committers qui ont également immédiatement signé sur ce qui est maintenant Valkey. Sans surprise, les responsables de Redis n’ont pas signé, mais comme me l’a dit David Nally, directeur de la stratégie et du marketing open source d’AWS, la communauté Valkey les accueillerait à bras ouverts.
Olson a noté qu’elle a toujours su que ce changement était une possibilité et tout à fait conforme aux droits de la licence BSD. « Je suis plus simplement déçu qu’autre chose. [Redis] J’ai été un bon intendant dans le passé, et je pense que la communauté est plutôt déçue du changement.
Nally a noté que « du point de vue d’AWS, cela n’aurait probablement pas été le choix que nous souhaitions voir chez Redis Inc. » Mais il a également reconnu que Redis avait tout à fait le droit d’effectuer ce changement. Lorsqu’on lui a demandé si AWS avait envisagé d’acheter une licence à Redis, il a donné une réponse diplomatique et a noté qu’AWS « avait pris en compte beaucoup de choses » et que rien n’était exclu dans la prise de décision de l’équipe.
« C’est certainement leur prérogative de prendre une telle décision », a-t-il déclaré. « Bien que nous ayons, en conséquence, pris d’autres décisions sur les domaines dans lesquels nous allons concentrer notre énergie et notre temps, Redis reste un partenaire et un client important, et nous partageons un grand nombre de clients entre nous. Nous espérons donc qu’ils réussiront. Mais du point de vue de l’open source, nous nous engageons désormais à assurer le succès de Valkey.
Il n’est pas fréquent qu’un fork se réunisse aussi rapidement et soit capable de rassembler le soutien d’autant d’entreprises sous les auspices de la Linux Foundation (LF). C’est quelque chose que les précédents forks Redis comme KeyDB n’avaient pas pour eux. Mais il s’avère que cela est en partie dû au hasard. L’annonce de Redis intervient en plein milieu de la version européenne de la conférence KubeCon de la Cloud Native Computing Foundation, qui s’est tenue à Paris cette année. Là, Nally a rencontré le directeur exécutif de la FL, Jim Zemlin.
« Cela a ruiné la KubeCon pour moi, car tout à coup, je me suis retrouvé dans de nombreuses conversations sur la façon dont nous réagissions », a-t-il déclaré. « [Zemlin] avait quelques inquiétudes et a proposé la Linux Foundation comme foyer potentiel. Nous avons donc suivi le processus de présentation de Madelyn [Olson] et le reste des responsables à la Linux Foundation, juste pour voir s’ils pensaient que ce serait une décision compatible.
Et après?
L’équipe Valkey travaille à la sortie d’une version de compatibilité qui offre aux utilisateurs Redis actuels un chemin de transition. La communauté travaille également sur un système de clustering partagé amélioré, des performances multithread améliorées et bien plus encore.
Avec tout cela, il est peu probable que Redis et Valkey restent longtemps alignés dans leurs capacités, et Valkey pourrait ne pas rester un remplaçant immédiat de Redis à long terme. L’un des domaines dans lesquels Redis (la société) investit est d’aller au-delà de la mémoire pour utiliser également le stockage flash, avec la RAM comme grand cache hautes performances. C’est pourquoi Redis a récemment acquis Speedb. Olson a noté qu’il n’y avait pas encore de projets concrets pour des capacités similaires dans Valkey, mais il ne l’a pas non plus exclu.
« Il y a beaucoup d’enthousiasme en ce moment », a déclaré Olson. « Je pense qu’auparavant, nous étions un peu conservateurs sur le plan technologique et essayions de nous assurer de ne pas casser des choses. Alors que maintenant, je pense qu’il y a beaucoup d’intérêt à construire beaucoup de nouvelles choses. Nous voulons toujours nous assurer de ne pas casser les choses, mais il y a beaucoup plus d’intérêt pour la mise à jour des technologies et pour essayer de rendre tout plus rapide, plus performant et plus dense en mémoire. […] Je pense que c’est un peu ce qui se produit lorsqu’un changement de garde se produit parce qu’un groupe d’anciens responsables ne sont plus là.