- Em 21 de março de 2024, a Redis Ltd. anunciou que o projeto Redis, um "armazenamento de dados em memória", passaria a ser lançado sob uma licença não livre, com código disponível para uso, a partir do Redis 7.4
- A notícia foi desagradável, mas não exatamente inesperada; o ponto incomum é que existem várias opções que podem ser escolhidas como substitutas do Redis
- Usuários que desejam continuar usando software livre podem escolher entre pelo menos quatro opções, incluindo o fork já existente KeyDB e o projeto Valkey, anunciado recentemente pela Linux Foundation
Breve história do Redis
- Redis foi um projeto iniciado por Salvatore Sanfilippo (apelido "antirez") para usar no LLOOGG, um aplicativo de análise de logs em tempo real com requisitos que o MySQL não conseguia atender
- Foi projetado como um banco de dados de dicionário simples, em vez de um banco de dados relacional, e seu nome é uma abreviação de "remote dictionary server"
- Redis rapidamente ganhou popularidade como parte do movimento NoSQL, e em 2010 ele foi contratado pela VMware para desenvolver o projeto
- Redis ganhou popularidade com clientes como Twitter e Pinterest, começou a ser incluído em distribuições Linux e, em 2013, foi adicionado ao serviço ElastiCache da AWS
Nuvem versus código aberto
- Defensores de licenças com restrições de uso, como a SSPL e a RSAL do Redis, tentam apresentar isso apenas como uma batalha entre grandes provedores de nuvem, como a AWS, e o código aberto
- Ao olhar a lista de contribuidores do Redis, dá para ver que, além da empresa Redis, várias outras empresas também contribuem
Mudança no modelo de distribuição
- A Redis é uma empresa financiada por capital de risco e parece ter calculado que se afastar do código aberto poderia gerar mais receita
- O caso do MongoDB mostra que, mesmo após a mudança para a SSPL, a empresa continua crescendo, e muitas organizações preferem pagar pelo uso em vez de hospedar o serviço por conta própria
Forks e alternativas
- Poucos dias após a mudança de licença do Redis, surgiu um fork direto chamado Valkey, com apoio de AWS, Google Cloud, Oracle, Ericsson e Snap
- KeyDB é um fork criado em 2019 por razões técnicas e, após ser adquirido pela Snap, toda a base de código passou a ser totalmente open source sob a licença BSD de 3 cláusulas
- Drew DeVault, fundador da SourceHut, criou um fork chamado Redict usando a LGPLv3
- Garnet, da Microsoft, é um armazenamento de cache remoto compatível com Redis, lançado sob a licença MIT
A disputa pelas alternativas
- As distribuições Linux enfrentam o problema de encontrar um software para substituir o Redis.
- Comunidades como Fedora, openSUSE e Debian estão considerando KeyDB, Redict, Valkey e outros como substitutos do Redis.
O caminho adiante
- Ainda é cedo demais para prever se um ou mais forks ganharão tração significativa, mas o Valkey tem grande chance de se tornar uma alternativa confiável
3 comentários
No começo, o próprio Redis também era um substituto do memcached.
Mas nunca vi o substituto de alguma tecnologia ser decidido por uma campanha(?) desse jeito.
Only time will tell.
Valkey - a alternativa open source ao Redis anunciada pela Linux Foundation
Redis muda a licença de BSD para licença dupla
GN⁺: Redis adota uma licença de código-fonte duplamente disponível
Redict é um fork independente com copyleft do Redis
Opiniões do Hacker News
A Redis Community Edition continua podendo ser usada gratuitamente, receberá suporte e manutenção, e deverá continuar sendo melhorada.
Neal Gompa iniciou uma discussão sobre a mudança de licença na lista de desenvolvimento do Fedora e apontou a necessidade de remover o Redis do Fedora.
Foi surpreendente descobrir pela primeira vez que Binbin Wang, committer do Apache Kvrocks (uma alternativa ao Redis baseada em Flash), contribuiu com quase 25% dos commits da nova versão do Redis.
O motivo de a licença AGPL estar se tornando cada vez mais popular é que, embora todos, exceto o detentor dos direitos autorais, tenham de seguir regras muito rígidas, o software principal continua open source e a comunidade ainda se beneficia disso.
A AWS fez um fork do ElasticSearch como o DBaaS "OpenSearch". Isso causou problemas no meu emprego anterior, onde ficamos presos a uma versão específica da biblioteca NEST para .NET e não podíamos usar novos recursos. À luz do avanço tecnológico, isso parece estar indo na direção errada.
Usar a licença MIT e gerar receita por meio de suporte é uma solução simples para esse problema, além de outros problemas potenciais.
É interessante que cerca de 40% dos commits para o Reddit venham de empresas chinesas (Tencent 24,8%, Alibaba 6,8%, Huawei 5,2%, Bytedance 2%).
Neste momento, uma licença proprietária parece mais vantajosa. Se não há garantia de que a mesma licença será aplicada a todos os lançamentos futuros, qual é o valor de uma licença mais livre e amigável para negócios? Isso parece uma política de isca e troca.
O Redis parece um cavalo de Troia para desenvolvedores. No começo, parece apenas um banco de dados chave-valor simples, mas também pode ser usado como cache, e colocar tudo em cache parece algo elegante. No entanto, isso contrasta com o antigo princípio Unix de que cada programa deve se concentrar em uma única coisa que faz bem. Depois de 10 anos, você acaba precisando baixar um white paper enterprise do Redis para tomar as decisões corretas de cache.
Concordo com a visão de Andrew Kelley: o projeto Redis deveria ser renomeado para Redict, e o projeto atualmente chamado de "Redis" deveria ser visto como um fork comercial estranho do Redict.