Drew DeVault, autore dell'ambiente utente Sway, del linguaggio di programmazione Hare, del client di posta Aerc e della piattaforma di sviluppo collaborativo SourceHut, ha presentato il rilascio del progetto Redict 7.3.0, che sviluppa un fork del DBMS Redis. Redict si è staccato da Redis 7.2.4, l'ultima versione rilasciata sotto licenza BSD. Le modifiche apportate dal progetto Redict sono distribuite sotto licenza LGPLv3.0, ma il codice preso in prestito da Redis rimane sotto licenza BSD.
Redict 7.3.0 è posizionato come la prima release separata del progetto, con modifiche che attualmente si limitano solo al rebranding e a piccole correzioni, ad esempio, l'utilità redis-cli è stata rinominata in redict-cli, e il file di configurazione /etc/redis.conf in /etc/redict.conf. Per quanto riguarda le sue funzionalità, Redict 7.3.0 è completamente compatibile con la release Redis 7.2.4 e può essere utilizzato come sua sostituzione, ma non ha alcuna relazione con il ramo in sviluppo di Redis 7.3.0 e non garantisce compatibilità con esso.
A differenza del fork Valkey creato da Amazon, Google, Oracle, Ericsson e Snap, il progetto Redict è orientato a mantenere la base di codice in modo conservativo per un lungo periodo e a garantire stabilità, piuttosto che promuovere cambiamenti radicali e innovazioni a favore delle aziende commerciali che forniscono risorse. Secondo gli sviluppatori di Redict, nella sua forma attuale il progetto Redis ha raggiunto la maturità e contiene tutte le funzionalità necessarie, pertanto è importante garantire in futuro il processo di correzione di bug e vulnerabilità, piuttosto che continuare ad ampliare la funzionalità.
La scelta della licenza LGPL invece della BSD per le modifiche proprie è motivata dalla protezione contro tentativi di creare distribuzioni proprietary di Redict e dalla bloccazione del trasferimento del codice nel progetto Redis divenuto proprietario. Tuttavia, la licenza LGPL non impedisce agli sviluppatori di prodotti commerciali e sistemi cloud di utilizzare Redict nei propri servizi e progetti. Redict si svilupperà esclusivamente grazie alla comunità e per il bene della comunità, e non da un piccolo gruppo di aziende che difendono i propri interessi. Le decisioni sullo sviluppo saranno prese sulla base del consenso tra i partecipanti allo sviluppo.
Tra i piani futuri si segnala la modernizzazione del sistema di assemblaggio, la creazione di fork delle librerie client (ad esempio, è già stato creato hiredict, un fork della libreria che implementa un client per Redis in linguaggio C) e il trasferimento delle varianti integrate di Lua e jemalloc a favore dell'integrazione di dipendenze esterne, il che semplificherà la manutenzione dei pacchetti nelle distribuzioni. Non si esclude inoltre il trasferimento di modifiche utili non radicali dalla base di codice di Valkey.
Fonte: opennet.ru
