6 puntos por GN⁺ 2024-03-29 | 3 comentarios | Compartir por WhatsApp
  • El 21 de marzo de 2024, Redis Ltd. anunció que el proyecto Redis, un "almacén de datos en memoria", se publicará bajo una licencia no libre y disponible para uso del código fuente a partir de Redis 7.4
  • La noticia fue desagradable, pero no del todo inesperada, y lo particular es que existen varias opciones para elegir como sustituto de Redis
  • Los usuarios que quieran seguir usando software libre pueden elegir entre al menos cuatro opciones, incluidos el fork existente KeyDB y el proyecto Valkey, anunciado recientemente por la Linux Foundation

Breve historia de Redis

  • Redis fue un proyecto iniciado por Salvatore Sanfilippo (apodado "antirez") para usarlo con LLOOGG, una aplicación de análisis de logs en tiempo real con requisitos que MySQL no podía cubrir
  • Fue diseñado como una base de datos de diccionario simple en lugar de una base de datos relacional, y su nombre es una abreviatura de "remote dictionary server"
  • Redis ganó popularidad rápidamente como parte del movimiento NoSQL, y en 2010 VMware lo contrató para su desarrollo
  • Redis ganó popularidad a través de clientes como Twitter y Pinterest, comenzó a incluirse en distribuciones de Linux y en 2013 se agregó al servicio ElastiCache de AWS

La nube frente al código abierto

  • Quienes apoyan licencias con restricciones de uso como la SSPL y la RSAL de Redis intentan presentar esto únicamente como una batalla entre grandes proveedores de nube como AWS y el código abierto
  • Al revisar la lista de contribuidores de Redis, se puede ver que además de la empresa Redis también contribuyen varias compañías

Cambio del modelo de distribución

  • Redis, como empresa respaldada por capital de riesgo, parece haber calculado que alejarse del código abierto le permitiría generar más ingresos
  • El caso de MongoDB muestra que, incluso después de cambiar a la SSPL, siguió creciendo, y muchas empresas prefieren pagar por usar el servicio en lugar de alojarlo por cuenta propia

Forks y alternativas

  • A los pocos días del cambio de licencia de Redis apareció un fork directo llamado Valkey, apoyado por AWS, Google Cloud, Oracle, Ericsson y Snap, entre otros
  • KeyDB es un fork creado en 2019 por razones técnicas y, después de ser adquirido por Snap, toda su base de código pasó a ser completamente de código abierto bajo la licencia BSD de 3 cláusulas
  • Drew DeVault, fundador de SourceHut, creó un fork llamado Redict usando LGPLv3
  • Garnet de Microsoft es un almacenamiento de caché remoto compatible con Redis y se publica bajo licencia MIT

La competencia por las alternativas

  • Las distribuciones de Linux enfrentan el problema de tener que encontrar software para reemplazar Redis.
  • Comunidades como Fedora, openSUSE y Debian están considerando KeyDB, Redict y Valkey, entre otros, como reemplazos de Redis.

El camino por delante

  • Aún es demasiado pronto para predecir si uno o más forks lograrán una tracción significativa, pero es probable que Valkey se convierta en una alternativa confiable

3 comentarios

 
iolothebard 2024-03-30

En un principio, Redis también era un reemplazo de memcached.
Pero nunca había visto que el reemplazo de una tecnología se decidiera con una campaña(?) de esta manera.
Only time will tell.

 
GN⁺ 2024-03-29
Opiniones de Hacker News
  • La edición comunitaria de Redis seguirá siendo gratuita, tendrá soporte y mantenimiento, y continuará mejorando.

    • Los desarrolladores no necesitan reemplazar Redis en aplicaciones SaaS ni en software basado en la web.
    • Esto busca evitar que AWS ofrezca Redis como servicio sin pagar compensación a los desarrolladores de Redis.
  • Neal Gompa inició una discusión sobre el cambio de licencia en la lista de desarrollo de Fedora y señaló la necesidad de eliminar Redis de Fedora.

    • Gompa también planteó este tema en la lista de discusión de Factory de openSUSE.
    • Después de la eliminación gradual de Docker, varias distribuciones adoptaron Podman como reemplazo de Docker. Parece probable que se desarrolle una situación similar con Redis.
  • Me enteré por primera vez de que Binbin Wang, committer de Apache Kvrocks (una alternativa a Redis basada en Flash), aporta casi el 25% de los commits de la nueva versión de Redis.

  • La razón por la que la licencia AGPL se está volviendo cada vez más popular es que, aunque todos excepto el titular de los derechos de autor deben seguir reglas muy estrictas, el software central sigue siendo open source y la comunidad todavía se beneficia.

    • En particular, la licencia BSD parece ser una forma especialmente mala de manejar un negocio.
  • AWS hizo un fork de ElasticSearch como el DBaaS "OpenSearch". Esto causó un problema en mi trabajo anterior, donde estábamos limitados a una versión específica de la librería NEST para .NET y no podíamos usar funciones nuevas. Viéndolo desde la perspectiva del avance tecnológico, parece ir en la dirección equivocada.

  • Usar la licencia MIT y generar ingresos a través del soporte es una solución sencilla para este problema y también para otros problemas potenciales.

  • Es interesante que alrededor del 40% de los commits de Reddit provengan de empresas chinas (Tencent 24.8%, Alibaba 6.8%, Huawei 5.2%, Bytedance 2%).

  • En este momento, una licencia propietaria parece más ventajosa. Si no hay garantía de que todas las versiones futuras tendrán la misma licencia, ¿cuál es el valor de una licencia más libre y amigable para los negocios? Parece una política de carnada y cambio.

  • Redis parece un caballo de Troya para los desarrolladores. Al principio parece una base de datos key-value simple, pero también puede usarse como caché, y cachear todo parece genial. Sin embargo, eso contrasta con el viejo principio de Unix de que cada programa debe enfocarse en una sola cosa que haga bien. Después de 10 años, terminas teniendo que descargar el whitepaper empresarial de Redis para tomar decisiones correctas de caching.

    • Esto viene de la experiencia de haber trabajado en un proyecto donde Redis se usaba como base de datos y como caché en puertos distintos. La mayoría de los equipos de desarrollo no leyeron el manual porque Redis "era simple y funcionaba bien", y surgieron varios problemas, pero en startups que luchan por sobrevivir no hay tiempo para ordenar ese tipo de cosas.
  • Estoy de acuerdo con la perspectiva de Andrew Kelley: cambiar el nombre del proyecto Redis a Redict y considerar el proyecto actualmente llamado "Redis" como un fork comercial extraño de Redict.