Redis Forks

Published: Apr 9, 2024 by Isaac Johnson

Oh, Redis, how times have changed. Once the darling of the Open-Source community, they made waves on March 20th this year when Rowan Trollop, the CEO of Redis (co), said that future versions of Redis (software) will be released under the Redis Source Available License (RSALv2) and Server Side Public License (SSPLv1) ditching the prior BSD licenses.

According to Inforworld, the change means “Under the new licensing, cloud service providers hosting Redis products will no longer be permitted to use Redis source code free of charge”

Redis Ltd claims, in what is now nearly a trope of software companies ditching OS licenses, “The new source-available licenses will allow Redis to continue offering permissive use of its source code sustainably”.

Contributor and User impact

Some reactions on the news were positive in nature.

Miken32 wrote a comment on one of the articles:

There are hundreds of open source software projects supporting these massive companies and their profits. I am generally against making a software license more restrictive, but in this case, the way they’ve done it seems perfectly reasonable. And, perfectly predictable that the project would be forked so they could keep making money off the backs of volunteers.

There were also many threads on Lemmy I caught following the change. Perhaps my favourite comment was from a user ‘TootSweet’ on a post about ‘Redict’:

“Jesus. Even Redis falling prey to enshittification.

This is why we should prefer copyleft-licensed software. It’s a Ulysses pact with users.”

This spurned a nice long thread about AGPL where a user, hollyberries, summerized,

“AGPL code cannot be relicensed, making the license ideal for telling greedy devs (and management) who only see money without contributing back to get fucked”

Would the Real Redis Please Stand up? please stand up

Let’s clear up one misconsception first. Redis (the company) was not the developer of Redis (the in-memory keystore database).

Redis Limited started out as a Garantia Data in 2011 by Ofer Bengal and Yiftach Schoolman. Ofer was CEO of RiT technologies firm when the majority stake was bought up by their Russion distributor in 2008. Yiftach was founder and president of Crescendo Networks that was acquired by F5 Networks around 2011.

Seeing the value of Redis (software), they launched an enterprise version, “Redis Enterprise Cloud” in 2013 then bought up their major competitor, MyRedis in 2014 and at the same time renamed themselves to “Redis Labs”. It wasn’t until 2015 they hired in Salvatore Sanfilippo, the creator, to be a lead. It was then they became the ‘official sponsor’ of the project. (He lasted there 5 years). But evidentally transfered the IP and Copyrights to Redis Labs in 2018. In this momento article they point out:

Before stepping away from the project in 2020, Antirez transferred IP and trademark rights for Redis to Garantia, which is why Garantia now has the legal right to relicense the project.

Around then he “stepped away” as lead and the company rebranded as just “Redis”.

Redis would have us blame the Cloud Providers. Back in 2019 after they changed the license of their modules, they wrote

“Some cloud providers have repeatedly taken advantage of successful opensource projects, without significant contributions to their communities,” the Redis Labs team writes today. “They repackage software that was not developed by them into competitive, proprietary service offerings and use their business leverage to reap substantial revenues from these open source projects.”

And when we look at the Cloud Providers, they are also the primary drivers of adoption. As the Momento article rightly points out, Ford didn’t create the car. In fact, Henry Ford, while creditted for mass adoption of the auto industry isn’t really the one to credit. It was Ike’s interstate in 1956 that created an expansive system of roads that now drivers needed which usherd in a golden age of automobiles.

Financial Impact

If these changes are rooted in money, perhaps stock values will indicate if it worked out.

Hashicorp, which abandoned it’s OS roots in August of 2023 has pretty much stayed the same since

/content/images/2024/04/hashicorp-nyse.png

Mongo had a rough fall after only to surge back after “readjusting” how they account for their cloud offering, Atlas in 2023

/content/images/2024/04/mongodb-nyse.png

We’ve spoken of two forks thus far, but there are more. Recently, Microsoft research rolled out a RESP compatible offering in MS Garnet.

It “adopts the popular RESP wire protocol as a starting point, which makes it possible to use Garnet from unmodified Redis clients available in most programming languages of today, such as StackExchange.Redis in C#.” and as expected is based on .NET

In many of my Lemmy threads I saw mention of Snap’s open-source KeyDB which has been around since long before the fork as “a faster drop in alternative to Redis”.

Impact to Good Will

In 2018, Redis ditched the OS license on their modules, creating quite a stir.

To understand long-term impacts of ditching OS licensing, let’s consider a few big examples from the past in our industry.

Let’s look at the first software (I can think of) to really ditch Open-Source for source (sometimes) available, Java.

Back when I was finishing university, it seemed Java would be the language that would take over the world (fine, I’m old). In fact, in 1999 the JavaOne conference had 20,000 attendees at Moscone Center in San Francisco. Oracle, as we all know, devoured Sun Microsystems in 2010 and they tried to merge JavaOne with Oracle OpenWorld.

But by 2018, Oracle announced JavaOne would be discontinued (in favour of “Oracle Code One” which ran two more years). C19 took a hit on all tech conferences and Oracle is supposidly attempting to build out a 30th anniversary JavaOne in 2025.

I won’t attempt to summarize this reddit thread other than to say it’s a total mix of hate Oracle/miss Sun and hate Google/Android, love Oracle.

I can certainly recall the feelings at the time. They might be best captured in this famous Fork Yeah! talk in 2011 summarizing Oracle as the lawnmower

It has been a trend that younger programmers are not Java oriented. I wanted to check my assumptions so I looked to my state Universities CS program for the fall and it’s all C++ and Python. In fact, the only Java class offered out of their CSCI dept is for Non-majors and just an intro class.

I checked Stanford’s BS in CS courses and see they are still based in C++. MIT looks to use Python, CL and Asembly.

Again, just to check bias’s, I looked at the TIOBE index which lists Python as #1 and Java as fourth (and falling).

/content/images/2024/04/tiobe-01.png

A Softjourn article shows the TIOBE index over time:

/content/images/2024/04/tiobe-02.png

PYPL lists it as #2 (after Python).

While I focused on Java, Oracle, in that aquisition also got MySQL which has still lived on, but it appears from my vantage point, that PostreSQL is the dominant OS database (even over MariaDB, the mySQL fork). And further, almost immediate after Oracle trademarked Hudson, it forked in 2011 to Jenkins and Hudson, as a product is dead

Mongo, to my knowledge, never had a dedicated conference. I can speak to Hashiconf and how the “vibe” was very different this last year. They claimed 1500 officially attended, up from the first post-covid 2022 of 1000 in-person. They do have two conferences though (one in US and one in Europe).

My point is that the languages now tought in university are Open-Source, Python and C/C++.

The Forks

They suggested cloud providers could “license” Redis and thus far, only Microsoft has done so (in my opinion, likely because Github is heavily backed by Redis)

Madelyn Olson, a Redis maintainer from AWS wrote of the new fork, Valkey, created almost immediately, “We had a really exciting community roadmap before Redis changed the license. Clustering improvements, performance improvements, triggers, and so much more. We’ll keep driving this forward”.

Drew DeVault (of SourceHut, wlroots) also kicked off a fork in “Redict” based on the OSS 7.2.4 of Redis. Not only will that fork be entirely GPL’ed, it plans to fork some upstream dependencies as well such as Hiredis.

The counters suggest Open-Source licensing needs to change. An article by Matt Asay who is a VP at MongoDB that pulled this license switcheroo in Oct of 2022 suggested that current OS licenses just don’t handle cloud providers. He claims that the “problem is that open source hasn’t kept up with technology trends” and “there’s still no good open source licensing for the cloud”.

His point:

Does that matter? Does it matter even a tiny bit? It does not. If the code is free, the downstream user can take it, use it, modify it, and distribute it, so long as they keep the code free and open. As the license says, “You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.” Why would anyone care about the motivations behind using the license, so long as the end result—code freedom—remains?

Summary

/content/images/2024/04/redis-01.png

I know it may sound like a hit-piece or a rant against closed source. I work for a software company whose source is not open, though it wouldn’t make much sense to open it. I love products and offerings that also are not Open-Source - I’m still a huge fan of Azure, GCP and Datadog. But each of those companies, in some form or fashion, strongly support Open-Source. Microsoft, though Github, has long been the home of OS projects and has many free allowances for homed OS Projects. GCP, which used to host code (the Google graveyard is long and wide), gifted the world Kubernetes and works with OS developers in a variety of ways. Lastly, Datadog has the OpenSource hub and is a huge contributor to OpenTelemetry.

The point I’m attempting to make is that when a company, built on Open-Source, tries to lock it down, almost always in defense of falling margins and a percieved “ripping off” by others, it fails to re-invigorate the community. The core contirbutors and advocates (often older, architect level and internal corperate tech leaders) get cold to that company. The forks live on with some passion, the industry adopts the forks and if the companies that closed source and spurned the fork(s) do manage to hold on, it’s almost always by virtue of a solid SaaS offering, not the core product they relicensed.

I don’t suggest Redis (co) will fold. They’ll live on, though there will be leadership changes as growth stagnates. It might follow Hashicorp who is reportatly looking to sell itself. MongoDB went public in 2017 and did another offering in 2021. I suspect, in time, it will get acquired for IP and talent. Oracle, of course, lives on but I have yet to meet anyone who uses their cloud, at least directly.

In the next few posts we will be covering some of these Redis forks such as Valkey and Garnet.

Redis Forks OpenSource

Have something to add? Feedback? Try our new forums

Isaac Johnson

Isaac Johnson

Cloud Solutions Architect

Isaac is a CSA and DevOps engineer who focuses on cloud migrations and devops processes. He also is a dad to three wonderful daughters (hence the references to Princess King sprinkled throughout the blog).

Theme built by C.S. Rhymes