ARTICLE AD
The Linux Foundation last week announced that it will host Valkey, a fork of the Redis in-memory data store. Valkey is backed by AWS, Google Cloud, Oracle, Ericsson and Snap.
AWS and Google Cloud rarely back an open-source fork together. Yet, when Redis Labs switched Redis away from the permissive 3-clause BSD license on March 20 and adopted the more restrictive Server Side Public License (SSPL), a fork was always one of the most likely outcomes. At the time of the license change, Redis Labs CEO Rowan Trollope said he “wouldn’t be surprised if Amazon sponsors a fork,” as the new license requires commercial agreements to offer Redis-as-a-service, making it incompatible with the standard definition of “open source.”
It’s worth taking a few steps back to look at how we got to this point. Redis, after all, is among the most popular data stores and at the core of many large commercial and open-source deployments.
A brief history of Redis
Throughout its lifetime, Redis has actually seen a few licensing disputes. Redis founder Salvatore Sanfilippo launched the project in 2009 under the BSD license, partly because he wanted to be able to create a commercial fork at some point and also because “the BSD [license] allows for many branches to compete, with different licensing and development ideas,” he said in a recent Hacker News comment.
After Redis quickly gained popularity, Garantia became the first major Redis service provider. Garantia rebranded to RedisDB in 2013, and Sanfilippo and the community pushed back. After some time, Garantia eventually changed its name to Redis Labs and then, in 2021, to Redis.
Sanfilippo joined Redis Labs in 2015 and later transferred his IP to Redis Labs/Redis, before stepping down from the company in 2020. That was only a couple of years after Redis changed how it licenses its Redis Modules, which include visualization tools, a client SDK and more. For those modules, Redis first went with the Apache License with the added Commons Clause that restricts others from selling and hosting these modules. At the time, Redis said that despite this change for the modules, “the license for open-source Redis was never changed. It is BSD and will always remain BSD.” That commitment lasted until a few weeks ago.
Redis’ Trollope reiterated in a statement what he had told me when he first announced these changes, emphasizing how the large cloud vendors profited from the open-source version and are free to enter a commercial agreement with Redis.
“The major cloud service providers have all benefited commercially from the Redis open-source project so it’s not surprising that they are launching a fork within a foundation,” he wrote. “Our licensing change opened the door for CSPs to establish fair licensing agreements with Redis Inc. Microsoft has already come to an agreement, and we’re happy and open to creating similar relationships with AWS and GCP. We remain focused on our role as stewards of the Redis project, and our mission of investing in the Redis source available product, the ecosystem, the developer experience, and serving our customers. Innovation has been and always will be the differentiating factor between the success of Redis and any alternative solution.”
Cloud vendors backed Valkey
The current reality, however, is that the large cloud vendors, with the notable exception of Microsoft, quickly rallied behind Valkey. This fork originated at AWS, where longtime Redis maintainer Madelyn Olson initially started the project in her own GitHub account. Olson told me that when the news broke, a lot of the current Redis maintainers quickly decided that it was time to move on. “When the news broke, everyone was just like, ‘Well, we’re not going to go contribute to this new license,’ and so as soon as I talked to everyone, ‘Hey, I have this fork — we’re trying to keep the old group together,'” she said. “Pretty much everyone was like, ‘yeah, I’m immediately on board.”
The original Redis private channel included five maintainers: three from Redis, Olson and Alibaba’s Zhao Zhao, as well as a small group of committers who also immediately signed on to what is now Valkey. The maintainers from Redis unsurprisingly did not sign on, but as David Nally, AWS’s director for open-source strategy and marketing, told me, the Valkey community would welcome them with open arms.
Olson noted that she always knew that this change was a possibility and well within the rights of the BSD license. “I’m more just disappointed than anything else. [Redis] had been a good steward in the past, and I think community is kind of disappointed in the change.”
Nally noted that “from an AWS perspective, it probably would not have been the choice that we wanted to see out of Redis Inc.” But he also acknowledged that Redis is well within its rights to make this change. When asked whether AWS had considered buying a license from Redis, he gave a diplomatic answer and noted that AWS “considered a lot of things” and that nothing was off the table in the team’s decision-making.
“It’s certainly their prerogative to make such a decision,” he said. “While we have, as a result, made some other decisions about where we’re going to focus our energy and our time, Redis remains an important partner and customer, and we share a large number of customers between us. And so we hope they are successful. But from an open-source perspective, we’re now invested in ensuring the success of Valkey.”
It’s not often that a fork comes together this quickly and is able to gather the support of this many companies under the auspice of the Linux Foundation (LF). That’s something that previous Redis forks like KeyDB didn’t have going for them. But as it turns out, some of this was also fortuitous timing. Redis’s announcement came right in the middle of the European version of the Cloud Native Computing Foundation’s KubeCon conference, which was held in Paris this year. There, Nally met up with the LF’s executive director, Jim Zemlin.
“It ruined KubeCon for me, because suddenly, I ended up in a lot of conversations about how we respond,” he said. “[Zemlin] had some concerns and volunteered the Linux Foundation as a potential home. So we went through the process of introducing Madelyn [Olson] and the rest of the maintainers to the Linux Foundation, just to see if they thought that it was going to be a compatible move.”
What’s next?
The Valkey team is working on getting a compatibility release out that provides current Redis users with a transition path. The community is also working on an improved shared clustering system, improved multi-threaded performance and more.
With all of this, it’s not likely that Redis and Valkey will stay aligned in their capabilities for long, and Valkey may not remain a drop-in Redis replacement in the long run. One area Redis (the company) is investing in is moving beyond in-memory to also using flash storage, with RAM as a large, high-performance cache. That’s why Redis recently acquired Speedb. Olson noted that there are no concrete plans for similar capabilities in Valkey yet, but didn’t rule it out either.
“There is a lot of excitement right now,” Olson said. “I think previously we’ve been a little technologically conservative and trying to make sure we don’t break stuff. Whereas now, I think there’s a lot of interest in building a lot of new things. We still want to make sure we don’t break things but there’s a lot more interest in updating technologies and trying to make everything faster, more performant, more memory dense. […] I think that’s sort of what happens when a changing of the guard happens because a bunch of previous maintainers are now basically no longer there.”