En quelques mots, Redict est une version indépendante et non commerciale de Redis® OSS 7.2.4. Il est basé sur le code source BSD 3-Clause de Redis® OSS, et toutes les modifications à partir de ce point sont placées sous la Lesser GNU General Public license, LGPL-3.0-only.
Pourquoi LGPL ?
Le choix de LGPL comme licence pour Redict est un choix délibéré qui tient compte d'un certain nombre de préoccupations. Plus important encore, il s'agit d'une promesse irrévocable que Redict sera toujours libre, bien plus forte que la promesse faite par le cofondateur de RedisLabs et ex-CEO Yiftach en 2018. En utilisant une licence copyleft, toutes les modifications apportées à Redict doivent être distribuées en utilisant la même licence de logiciel libre LGPL, garantissant que les versions modifiées du logiciel seront libres.
En outre, aucune sorte d'accord de licence de contributeur ne sera utilisée pour donner à une entité des privilèges spéciaux en ce qui concerne les droits d'auteur et les licences de Redict d'une manière similaire à celle employée par Redis®. Par conséquent, le copyright de Redict est détenu en commun par tous les contributeurs, qui devraient tous accepter un futur changement de licence, ce qui rend pratiquement impossible un changement de licence similaire dans l'avenir de Redict. La provenance des contributions est vérifiée par le certificat d'origine du développeur.
Il existe de nombreuses licences copyleft et la LGPL a été choisie comme la plus adaptée à Redict. L'Affero GNU General Public License (AGPL) est un choix courant pour les projets de cette nature, en particulier ceux gérés par des intendants qui, comme Redis® Ltd, préféreraient que les fournisseurs de cloud ne vendent pas leur logiciel. L'AGPL est une excellente licence, mais l'objectif est de permettre aux utilisateurs de se conformer le plus facilement possible à la licence Redict et il n'y a pas de raison de décourager les fournisseurs de cloud de faire usage de Redict. La licence EUPL a été envisagée, mais n'a pas été retenue pour les mêmes raisons.
La LGPL a été préférée à la GNU General Public License pour éviter que les intégrations avec des modules compatibles Redis® ou des plugins Lua ne soient soumises à la "viralité" de la GNU GPL.
Le choix de la LGPL protège l'avenir du projet Redict tout en équilibrant au mieux chacune de ces préoccupations.
Changements par rapport à Redis®
Actuellement, les changements par rapport à Redis® 7.2.4 sont limités. La principale préoccupation est de changer le nom de manière rétrocompatible et d'établir une base technique pour un avenir indépendant. Les changements mis en œuvre jusqu'à présent pour les utilisateurs sont les suivants :
- Les exécutables ont été renommés en redict-*, par exemple redict-cli.
- L'API Lua fournit un global "redict" compatible avec l'API Redis® OSS, disponible via le global "redis" pour une compatibilité ascendante.
- Les symboles de l'API du module ont été renommés, mais Redict conserve la compatibilité ABI avec les modules Redis® OSS jusqu'à la version 7.2.4.
Des travaux sont en cours pour achever le processus de renommage, et un guide de migration sera disponible lorsque la première version, 7.3.0, sera publiée, ce qui devrait idéalement être le cas la semaine prochaine. Redict fonctionnera comme un remplacement direct de Redis® OSS 7.2.4, bien que vous puissiez prendre des mesures pour mettre à jour votre configuration locale pour Redict si cela vous convient (comme la migration de votre base de données vers /var/lib/redict).
Le référentiel a également été mis à jour pour être conforme à la spécification REUSE, pour faciliter le processus de conformité de la licence et pour clarifier les différentes licences logicielles qui s'appliquent à Redict, y compris la licence BSD 3-Clause du code OSS original de Redis® et les nouveaux changements LGPL, mais aussi les dépendances vendored telles que Lua.
Changements futurs
L'intention de Redict est de poursuivre le développement d'une distribution de logiciel libre compatible avec Redis® OSS, avec un minimum de changements perturbateurs pour le moment. Des discussions sont en cours sur les changements suivants :
- Profiter de l'occasion pour supprimer certaines fonctionnalités obsolètes depuis longtemps, telles que "redis-trib"
- Éliminer les dépendances vendored et passer à Lua en amont, jemalloc
- Devenir plus agnostique en aval, en supprimant par exemple les services systemd ou upstart.
Hiredis sera également forké, car il s'agit d'une dépendance interne de Redict.
Aucun effort ne sera fait pour rester compatible avec les futures versions de Redis® SAL.
Changements d'infrastructure
Cette opportunité est utilisée pour établir une communauté indépendante des infrastructures propriétaires, telles que GitHub et Slack. Le code source est hébergé sur Codeberg, une instance Forgejo gérée par une association allemande à but non lucratif, qui devrait fournir une expérience utilisateur confortable et familière pour toute personne à l'aise avec la communauté Redis® OSS basée sur GitHub. De plus, un canal IRC #redict a été créé sur libera.chat, où la communauté naissante est en train de s'organiser.
Relations avec d'autres forks
Avant le changement de licence de Redis®, un certain nombre de forks étaient déjà établies, comme KeyDB. Cependant, ces forks ont plus d'opinions que Redict n'en a l'ambition : Redict fournira une continuation plus conservatrice de la base de code OSS Redis®.
Dans les semaines à venir, il est probable que d'autres forks de Redis® OSS apparaissent. Il est possible que des changements soient apportés à partir de forks sous licence permissive, ou utilisant une licence copyleft compatible avec la LGPL.
Besoin de votre aide
Rejoignez le projet et apportez votre aide ! Les contributeurs établis de Redis® OSS n'ont qu'à se faire connaître et ils se verront accorder un accès push au dépôt amont. Si vous avez des pull requests en cours contre Redis® OSS, prenez le temps de les rebaser contre Redict. Les nouveaux contributeurs sont également encouragés à participer au développement.
Vous pouvez également contribuer à l'élaboration de la documentation de Redict, car la documentation de Redis® n'utilise pas de licence libre et ne peut donc pas être adaptée à Redict. La participation des distributions Linux cherchant à remplacer leur paquetage "redis" par un logiciel libre constitue également un atout. N'hésitez pas à venir à faire part de vos besoins, de vos inquiétudes et de vos commentaires.
Rejoignez la communauté sur IRC pour commencer : #redict sur libera.chat. Une infrastructure communautaire supplémentaire sera mise en place dans un avenir proche, notamment une liste de diffusion sur la sécurité et un code de conduite mis à jour.
Source : "Redict is an independent, copyleft fork of Redis®" (Redict)
Et vous ?
Que pensez-vous de Redict et de ses potentialités ?
Voir aussi :
Redis, célèbre base de données en mémoire, n'est plus un logiciel libre car il abandonne la licence BSD à trois clauses. Des distributeurs comme Fedora envisagent déjà de le supprimer en conséquence
L'étude 2024 de Red Gate sur l'état de l'art en matière de SGBD montre l'avance de Microsoft SQL Server, pour un usage professionnel d'entreprise quel est votre classement ?