6 points par GN⁺ 2024-03-29 | 3 commentaires | Partager sur WhatsApp
  • Le 21 mars 2024, Redis Ltd. a annoncé que le projet Redis, « magasin de données en mémoire », serait publié à partir de Redis 7.4 sous une licence non libre, à code source disponible
  • La nouvelle est désagréable, mais n’avait rien de totalement inattendu ; ce qui est particulier, c’est qu’il existe plusieurs options possibles comme alternative à Redis
  • Les utilisateurs qui souhaitent continuer à utiliser du logiciel libre peuvent choisir parmi au moins quatre options, dont le fork existant KeyDB et le projet Valkey nouvellement annoncé par la Linux Foundation

Bref historique de Redis

  • Redis est un projet lancé par Salvatore Sanfilippo (surnommé « antirez ») pour faire fonctionner LLOOGG, une application d’analyse de logs en temps réel ayant des exigences auxquelles MySQL ne répondait pas
  • Il a été conçu comme une simple base de données de type dictionnaire plutôt que comme une base de données relationnelle, et son nom est l’abréviation de « remote dictionary server »
  • Redis a rapidement gagné en popularité dans le cadre du mouvement NoSQL, et son auteur a été embauché en 2010 par VMware pour en poursuivre le développement
  • Redis a gagné en popularité via des clients comme Twitter et Pinterest, a commencé à être inclus dans les distributions Linux, puis a été ajouté en 2013 au service ElastiCache d’AWS

Cloud contre open source

  • Les partisans de licences à usage restreint comme la SSPL et la RSAL de Redis essaient de présenter cela uniquement comme un affrontement entre l’open source et les grands fournisseurs de cloud comme AWS
  • En regardant la liste des contributeurs de Redis, on voit que, outre l’entreprise Redis elle-même, diverses sociétés y contribuent également

Changement de modèle de distribution

  • Redis est une entreprise financée par le capital-risque et semble avoir fait le calcul qu’un éloignement de l’open source lui permettrait de générer davantage de revenus
  • Le cas de MongoDB montre qu’après son passage à la SSPL, l’entreprise a continué à croître, et que beaucoup de sociétés préfèrent payer pour l’usage plutôt que d’héberger elles-mêmes le service

Forks et alternatives

  • Quelques jours seulement après le changement de licence de Redis, un fork direct appelé Valkey est apparu, soutenu par AWS, Google Cloud, Oracle, Ericsson et Snap
  • KeyDB est un fork créé en 2019 pour des raisons techniques ; après son rachat par Snap, l’ensemble de sa base de code est devenu pleinement open source sous licence BSD à 3 clauses
  • Drew DeVault, fondateur de SourceHut, a créé un fork appelé Redict en utilisant la LGPLv3
  • Garnet de Microsoft est un magasin de cache distant compatible avec Redis, publié sous licence MIT

La concurrence entre les alternatives

  • Les distributions Linux sont confrontées à la nécessité de trouver un logiciel pour remplacer Redis.
  • Les communautés de Fedora, openSUSE et Debian envisagent notamment KeyDB, Redict et Valkey comme remplaçants de Redis.

La suite

  • Il est encore trop tôt pour prévoir si un ou plusieurs forks obtiendront une traction significative, mais Valkey a de fortes chances de devenir une alternative crédible

3 commentaires

 
iolothebard 2024-03-30

À l’origine, Redis était lui aussi un remplaçant de memcached.
Mais je n’ai jamais vu le choix du remplaçant d’une technologie se décider par ce genre de campagne (?).
Only time will tell.

 
GN⁺ 2024-03-29
Avis Hacker News
  • Redis Community Edition reste utilisable gratuitement, continuera d’être prise en charge et maintenue, et sera améliorée.

    • Les développeurs n’ont pas besoin de remplacer Redis dans les applications SaaS et les logiciels web.
    • L’objectif est d’empêcher AWS de proposer Redis comme service sans rémunérer les développeurs de Redis.
  • Neal Gompa a lancé une discussion sur le changement de licence sur la liste de diffusion des développeurs Fedora et a souligné la nécessité de retirer Redis de Fedora.

    • Gompa a également soulevé le sujet sur la liste de discussion Factory d’openSUSE.
    • Après l’abandon progressif de Docker, plusieurs distributions ont adopté Podman comme alternative à Docker. Une situation similaire semble se dessiner pour Redis.
  • J’ai appris pour la première fois que Binbin Wang, committer d’Apache Kvrocks (une alternative à Redis basée sur Flash), a contribué à près de 25 % des commits des nouvelles versions de Redis.

  • Si la licence AGPL devient de plus en plus populaire, c’est parce que tout le monde, sauf le détenteur des droits d’auteur, doit suivre des règles très strictes, tout en laissant le logiciel principal en open source, ce qui permet à la communauté d’en bénéficier malgré tout.

    • La licence BSD, en particulier, semble être une très mauvaise manière d’exploiter une activité commerciale.
  • AWS a forké ElasticSearch en DBaaS « OpenSearch ». Dans mon précédent emploi, cela a entraîné un problème : nous étions limités à une version spécifique de la bibliothèque NEST .NET et ne pouvions pas utiliser les nouvelles fonctionnalités. À la lumière de l’évolution technologique, cela semble aller dans la mauvaise direction.

  • Utiliser la licence MIT et générer des revenus via le support est une solution simple à ce problème ainsi qu’à d’autres problèmes potentiels.

  • Il est intéressant de constater qu’environ 40 % des commits de Reddit proviennent d’entreprises chinoises (Tencent 24,8 %, Alibaba 6,8 %, Huawei 5,2 %, Bytedance 2 %).

  • À ce stade, une licence protégée par copyright semble plus avantageuse. S’il n’y a aucune garantie que toutes les futures versions conserveront la même licence, à quoi sert une licence plus libre et plus favorable aux entreprises ? Cela ressemble à une politique d’appât et de substitution.

  • Redis ressemble à un cheval de Troie pour les développeurs. Au départ, cela paraît être une simple base de données clé-valeur, mais cela peut aussi servir de cache, et tout mettre en cache a l’air séduisant. Pourtant, cela va à l’encontre de l’ancien principe Unix selon lequel chaque programme doit se concentrer sur une seule chose qu’il fait bien. Au bout de 10 ans, il faut télécharger le livre blanc enterprise de Redis pour prendre les bonnes décisions de mise en cache.

    • Cela vient de mon expérience sur des projets où Redis était utilisé comme base de données et comme cache sur des ports différents. La plupart des équipes de développement n’avaient pas lu le manuel parce que Redis « est simple et fonctionne bien », et plusieurs problèmes sont survenus, mais dans une startup qui lutte pour survivre, personne n’a le temps de remettre cela en ordre.
  • Je suis d’accord avec le point de vue d’Andrew Kelley : le projet Redis devrait être renommé Redict, et le projet actuellement appelé « Redis » devrait être considéré comme un étrange fork commercial de Redict.