La Fundación Linux anunció la semana pasada que albergará Valkey, un fork del almacén de datos en memoria Redis. Valkey cuenta con el respaldo de AWS, Google Cloud, Oracle, Ericsson y Snap.
AWS y Google Cloud rara vez respaldan juntos un fork de código abierto. Sin embargo, cuando Redis Labs cambió Redis de la licencia BSD de 3 cláusulas permisiva el 20 de marzo y adoptó la licencia más restrictiva de la Licencia Pública del Lado del Servidor (SSPL), un fork era una de las salidas más probables. En ese momento del cambio de licencia, el CEO de Redis Labs, Rowan Trollope, dijo que «no le sorprendería si Amazon patrocina un fork», ya que la nueva licencia requiere acuerdos comerciales para ofrecer Redis como servicio, lo que lo hace incompatible con la definición estándar de «código abierto».
Vale la pena retroceder un poco para ver cómo llegamos a este punto. Redis, después de todo, es uno de los almacenes de datos más populares y está en el núcleo de muchos despliegues comerciales y de código abierto.
A lo largo de su vida, Redis ha visto algunas disputas de licencias. El fundador de Redis, Salvatore Sanfilippo, lanzó el proyecto en 2009 bajo la licencia BSD, en parte porque quería poder crear un fork comercial en algún momento y también porque «la licencia BSD permite que muchas ramas compitan, con diferentes licencias e ideas de desarrollo», dijo en un comentario reciente de Hacker News.
Después de que Redis ganara rápidamente popularidad, Garantia se convirtió en el primer gran proveedor de servicios de Redis. Garantia cambió de nombre a RedisDB en 2013, y Sanfilippo y la comunidad se opusieron. Después de algún tiempo, Garantia finalmente cambió su nombre a Redis Labs y luego, en 2021, a Redis.
Sanfilippo se unió a Redis Labs en 2015 y luego transfirió su propiedad intelectual a Redis Labs/Redis, antes de renunciar a la empresa en 2020. Eso fue solo un par de años después de que Redis cambiara la manera en que licencia sus módulos de Redis, que incluyen herramientas de visualización, un SDK de cliente y más. Para esos módulos, Redis primero optó por la Licencia Apache con la Cláusula de los Comunes que restringe a otros de vender y alojar estos módulos. En ese momento, Redis dijo que a pesar de este cambio para los módulos, «la licencia para Redis de código abierto nunca cambió. Es BSD y siempre permanecerá BSD». Esa promesa duró hasta hace unas semanas.
Trollope de Redis reiteró en un comunicado lo que me había dicho cuando anunció estos cambios, enfatizando cómo los grandes proveedores de servicios en la nube se beneficiaron de la versión de código abierto y pueden celebrar un acuerdo comercial con Redis.
«Los principales proveedores de servicios en la nube han obtenido beneficios comerciales del proyecto de código abierto Redis, por lo que no sorprende que lancen un fork dentro de una fundación», escribió. «Nuestro cambio de licencia abrió la puerta a los proveedores de servicios en la nube para establecer acuerdos de licencia justos con Redis Inc. Microsoft ya ha llegado a un acuerdo, y estamos felices y abiertos a crear relaciones similares con AWS y GCP. Seguimos enfocados en nuestro papel como guardianes del proyecto Redis, y nuestra misión de invertir en el producto disponible de código abierto Redis, el ecosistema, la experiencia del desarrollador y servir a nuestros clientes. La innovación ha sido y siempre será el factor diferenciador entre el éxito de Redis y cualquier otra solución alternativa.»
Los proveedores de la nube respaldaron a Valkey
La realidad actual, sin embargo, es que los grandes proveedores de la nube, con la notable excepción de Microsoft, rápidamente se unieron a Valkey. Este fork se originó en AWS, donde la mantenedora de Redis de toda la vida, Madelyn Olson, inició inicialmente el proyecto en su propia cuenta de GitHub. Olson me dijo que cuando se anunció la noticia, muchos de los actuales mantenedores de Redis decidieron rápidamente que era hora de pasar página. «Cuando se anunció la noticia, todos simplemente dijeron, ‘Bueno, no vamos a contribuir a esta nueva licencia’, y tan pronto como hablé con todos, ‘Oye, tengo este fork, estamos tratando de mantener el antiguo grupo unido'», dijo. «Prácticamente todos dijeron, ‘sí, estoy inmediatamente a bordo’.»
El canal privado original de Redis incluía a cinco mantenedores: tres de Redis, Olson y Zhao Zhao de Alibaba, así como un pequeño grupo de colaboradores que también se unieron de inmediato a lo que ahora es Valkey. Los mantenedores de Redis no se unieron, como era de esperar, pero como David Nally, director de estrategia y marketing de código abierto de AWS, me dijo, la comunidad de Valkey los recibiría con los brazos abiertos.
Olson señaló que siempre supo que este cambio era una posibilidad y estaba dentro de los derechos de la licencia BSD. «Estoy más decepcionada que otra cosa. [Redis] había sido un buen administrador en el pasado, y creo que la comunidad está algo decepcionada por el cambio.»
Nally señaló que «desde la perspectiva de AWS, probablemente no habría sido la elección que queríamos ver de Redis Inc.» pero también reconoció que Redis está en su derecho de hacer este cambio. Cuando se le preguntó si AWS había considerado comprar una licencia de Redis, dio una respuesta diplomática y señaló que AWS «consideró muchas cosas» y que nada estaba descartado en la toma de decisiones del equipo.
«Claro que es su prerrogativa tomar esa decisión», dijo. «Si bien hemos, como resultado, tomado algunas otras decisiones sobre dónde vamos a enfocar nuestra energía y nuestro tiempo, Redis sigue siendo un socio y cliente importante, y compartimos muchos clientes entre nosotros. Por lo tanto, esperamos que tengan éxito. Pero desde una perspectiva de código abierto, ahora estamos invirtiendo en garantizar el éxito de Valkey.»
No es frecuente que un fork se forme tan rápidamente y pueda reunir el apoyo de tantas empresas bajo la égida de la Fundación Linux (LF). Eso es algo que forks anteriores de Redis como KeyDB no tenían a su favor. Pero resulta que parte de esto también fue una cuestión de sincronización afortunada. El anuncio de Redis se produjo justo en medio de la conferencia europea de la Cloud Native Computing Foundation’s KubeCon, que se celebró en París este año. Allí, Nally se reunió con el director ejecutivo de la LF, Jim Zemlin.
«Arruinó KubeCon para mí, porque de repente, me vi envuelto en muchas conversaciones sobre cómo responder», dijo. «[Zemlin] tenía algunas preocupaciones y ofreció la Fundación Linux como un posible hogar. Así que pasamos por el proceso de presentar a Madelyn [Olson] y al resto de los mantenedores a la Fundación Linux, solo para ver si pensaban que iba a ser un movimiento compatible.»
¿Qué sigue?
El equipo de Valkey está trabajando en lanzar una versión de compatibilidad que brinde a los usuarios actuales de Redis un camino de transición. La comunidad también está trabajando en un sistema de clustering compartido mejorado, un rendimiento multi-hilo mejorado y más.
Con todo esto, es poco probable que Redis y Valkey permanezcan alineados en sus capacidades por mucho tiempo, y Valkey puede que no siga siendo un reemplazo directo de Redis a largo plazo. Una de las áreas en las que Redis (la empresa) está invirtiendo es en pasar de la memoria a también utilizar almacenamiento flash, con RAM como una gran memoria caché de alto rendimiento. Es por eso que Redis recientemente adquirió Speedb. Olson señaló que no hay planes concretos para capacidades similares en Valkey aún, pero tampoco lo descartó.
«Ahora hay mucha emoción», dijo Olson. «Creo que anteriormente hemos sido un poco conservadores tecnológicamente y tratando de asegurarnos de no romper cosas. Mientras que ahora, creo que hay mucho interés en construir muchas cosas nuevas. Todavía queremos asegurarnos de no romper cosas, pero hay mucho más interés en actualizar tecnologías y tratar de hacer todo más rápido, más eficiente, más denso en memoria. […] Creo que eso es lo que sucede cuando cambia el guardia porque muchos de los mantenadores anteriores ya no están básicamente allí.»