top | item 39858144

The race to replace Redis

759 points| chmaynard | 1 year ago |lwn.net

496 comments

order
[+] brody_hamer|1 year ago|reply
It wasn’t clear to me until I read their blog, that redis will remain free to use in their “community edition”, which will continue to be supported and maintained (and improved!)

So we as developers don’t have to scramble to replace redis in our SAAS apps and web based software.

This is more about preventing AWS from eating their lunch by providing redis-as-a-service, without paying any sort of compensation to the redis developers.

Redis’ blog post: https://redis.com/blog/redis-adopts-dual-source-available-li...

[+] tison|1 year ago|reply
For the first time, I know our (Apache Kvrocks, an alternative to Redis on Flash) committer Binbin Wang committed nearly 25% of the commits to the newer Redis version.

You can find his contributor for both at:

* https://github.com/apache/kvrocks/graphs/contributors

* https://github.com/redis/redis/graphs/contributors

[+] tison|1 year ago|reply
And here is an interesting conversation when Binbin came to the Kvrocks community: https://github.com/apache/kvrocks/pull/1581#issuecomment-163...

* Me: @enjoy-binbin Out of curiosity, do you have a fuzzer to test out Kvrocks? Your recent great fixes seem like a combo rather than random findings :D

* Binbin: They were actually random findings.I may be sensitive to this, doing code review and found them (also based on my familiarity with redis)

[+] west0n|1 year ago|reply
Neal Gompa opened a discussion on the Fedora development list, noting the license change and the need to remove Redis from Fedora.

Gompa also raised the issue on openSUSE's Factory discussion list.

After Docker was phased out, various distributions have adopted the compatible Podman as a replacement for Docker. It seems that a similar story is unfolding with Redis.

[+] cpach|1 year ago|reply
NB: Docker Engine is open source. (Docker Desktop is not.)
[+] michaelcampbell|1 year ago|reply
> need to remove Redis from Fedora

I don't get it; does the new license prohibit it from being distributed thus, or is this a philosophical "need"?

[+] jacooper|1 year ago|reply
Docker was only phased out in red hat distros because they don't like it and want to push Podman. Others still have docker packaged in their repos.
[+] kqr|1 year ago|reply
I liked Andrew Kelleys perspective on this: let's treat Redict as a rename of the Redis project, and the project now called "Redis" a weird commercial fork of Redict.

https://andrewkelley.me/post/redis-renamed-to-redict.html

[+] crabmusket|1 year ago|reply
> Redict is a Finished Product

I am keenly looking on to see if the people involved in Redict see it the same way. As a user of Redis, I would like to switch to one of these open-source forks, and to be honest one which is "done" and focused on maintenance, bug fixes etc. rather than new features sounds more attractive.

[+] Kwpolska|1 year ago|reply
This article lists the other contenders for the title of new Redis, and I think Redict is going to be the least successful thanks to its founder, niche hosting site, and the hostile AGPL licence.
[+] nerdponx|1 year ago|reply
Isn't this the reason why AGPL has started to get more popular? Everyone has to play by the very strict rules except the copyright holder, who can do whatever they want, but the community still benefits from the core software being open source.

The BSD license in particular seems like a particularly bad way to run a business.

[+] tsimionescu|1 year ago|reply
The whole move to new "open-core" licenses started with the most famous (infamous?) AGPL project - MongoDB. The AGPL is not what companies like this want (Mongo, Elastic, Redis etc). They don't want AWS's code: AWS is already providing that. They want AWS to pay them royalties or stop competing.
[+] verdverm|1 year ago|reply
I see more of a shift to open core.

Many large orgs just say no to viral licenses, and in choosing AGPL, you put blockers to adoption.

Open core releases some of the project under permissive license, and keeps some private or under a permissions license.

We are all still trying to figure out how we can have sustainable open source where people can be paid to work on it full time

[+] orthoxerox|1 year ago|reply
some kind of GPL + no CLA = good. If you contribute to GPL Redis, the Redis company cannot relicense your work, because they own it as much as you do.

GPL + CLA = bad. If you contribute to GPL Redis and transfer the copyright to your contributions to the Redis company, they can switch to whatever license they want.

SSPL + no CLA = interesting, I would love to see the Redis company open source their hosting stack because they are accepting external contributions.

[+] jhoechtl|1 year ago|reply
Absolutely! And the haters of that license either do not understand it or have their user-hostile intentions.

Or plan to make money with other people's love and free-time.

[+] kamikazechaser|1 year ago|reply
SSPL that is now adopted by Redis >7.4.2 is a fork of AGPL and adds one more extra clause that makes it more difficult to run any competing product.
[+] CyanLite2|1 year ago|reply
Microsoft's Garnet has the best chance of replacing Redis, the OSS project and the hosting company.

Article doesn't mention it, but supposedly Microsoft uses novel algorithms and multi threading to achieve an order of magnitude improvement in throughput.

Now if they can commercialize it with Azure, it should be a credible alternative to Redis Enterprise hosting.

[+] fmajid|1 year ago|reply
No, it’s built using the .NET stack most Linux users won’t touch with a 20-ft pole.
[+] ddorian43|1 year ago|reply
Probably not, because it's new and incompatible with many Redis use cases (lua scripts, etc).
[+] gymbeaux|1 year ago|reply
AWS also forked ElasticSearch into their “OpenSearch” DBaaS. It caused some issues at my last job because OpenSearch limited us to a particular version of the NEST .NET library that was missing some newer functionality. Real bummer and feels like a step in the wrong direction given all we’ve accomplished in tech over the last 20 years.
[+] BoorishBears|1 year ago|reply
OpenSearch infuriates me to no end.

It lacks so many improvements and advancements since the ancient version it was forked at, but because AWS already has an org's payments details, teams often refuse to look at Elasticsearch.

Even basic things like autocompleting queries have been WIP for half a decade now:

https://github.com/opendistro-for-elasticsearch/sample-code/...

https://github.com/opensearch-project/OpenSearch-Dashboards/...

The superiority AWS was slinging when they "bravely" took the mantle looks terrible in retrospect

[+] fractalb|1 year ago|reply
I feel copyleft licenses look more favourable at this point of time. What’s the value of more free/business friendly licenses if you can’t guarantee that the same license will apply for all the future releases? Looks more like a bait and switch policy.
[+] lukaszwojtow|1 year ago|reply
All this outcry about license switch coming from "community" feels funny. After all, if there is the "community" then they can take the last open-source version and keep developing it themselves, right? But most "communities" are about "take, take, take", not "work, work, work". They often upset only because someone declared they aren't going to work for free any more.
[+] jzb|1 year ago|reply
Author of the article here. There may be some scenarios where there's a company just tossing code over the wall under a FOSS license and people complain when it stops. This scenario is not that.

The company now known as Redis did not invent Redis, it started as a company trying to make money hosting other peoples' work. After it finally hired the creator of Redis, it specifically promised not to do what it has just done (move away from three-clause BSD as the license for Redis core) at least twice.

In the development cycle from 7.0.0 until a few days ago, Redis isn't even the majority contributor to the codebase. The largest single contributor is from Tencent. (All of this is in the article.)

If Redis had been doing all the development, had not promised it wouldn't move away from the license, then I might agree that people have little to complain about.

But this situation isn't as you've suggested here where a community is all about "take, take, take" from a company that's been doing all the work. The company was founded on the idea of trying to do what it now complains about Amazon doing, and their claims that cloud companies do not contribute is clearly false -- just look at the code contributions.

[+] AnonymousPlanet|1 year ago|reply
In this case the community is the biggest contributor to Redis. The ones that "take, take, take" is Redis the company. Your comment seems way out of place in this light.
[+] pjmlp|1 year ago|reply
Yeah, it is incredible how the whole free software movement turned into a bunch of entitled folks that want to be paid for their work, while refusing to put down any penny for the folks that make their tooling possible in first place.

At the same time big corps use it as carte blanche to basically pirate software in a legal way, while following the letter of the licence.

Going back to the open core/demo versions (aka Shareware/Public Domain/Trials) is the only sustainable way to make a living.

[+] lazyasciiart|1 year ago|reply
That doesn't seem like a very reasonable takeaway from an article which describes almost too many people announcing that they will take the last open-source version and keep developing it themselves for everyone else to use.
[+] palata|1 year ago|reply
If you only take, obviously there is no reason to complain. Now the problem is rather when contributors (those who "give", not those who "take") have to sign a CLA. Then the company who gets their copyright takes their work for free, to later use it in a non open-source project (assuming they changed the license, like Redis did).

I think it is valid to find this immoral. The solution is pretty simple though: do not contribute to open source projects that require you to sign a CLA.

[+] xandrius|1 year ago|reply
Yep, that's exactly it. Of course it makes sense: making requires several orders of magnitude more effort than using. But if a project changes/goes down, the community often just moves elsewhere, nothing major lost from their perspective.

And I think Open Source is based on the very few who decide to take it upon themselves to be the ones spearheading a specific project/task and share it with everyone else. Maybe it's not every single time me, sometimes it's you, sometimes it's Lucy or Mark, and that's how the roll keeps rolling for everyone.

So if a project goes down and nobody comes up to replace it, either it wasn't worth much or this is the time nobody took it upon themselves to do it (yet).

[+] jychang|1 year ago|reply
That's a dumb take. That completely ignores opportunity cost of such actions. You can't just spin up a fork like that; there's barriers to entry, network effects, etc which prevent that from being a simple solution.
[+] LtWorf|1 year ago|reply
It's not "the community". It's "well funded startups".

People who use open source are very entitled. They'd be very angry also if the license was changed to GPL or AGPL.

I doubt most of this people have meaningful contributions to FOSS.

[+] PeterZaitsev|1 year ago|reply
One thing I think people underappreciate is license compatibility - the projects which bundled BSD redis very likely can't bundle SSPL redis without changing their own license, or not at all if some other components are licensed with license not compatible with SSPL

This is actually the good news as it makes it all but certain there will be well maintained Open Source Redis alternative.

[+] punnerud|1 year ago|reply
Interesting that around 40% of the commits to Reddit is from Chinese companies (Tencent 24.8%, Alibaba 6.8, Huawei 5.2, Bytedance 2)
[+] esafak|1 year ago|reply
There's also DragonflyDB
[+] garfieldnate|1 year ago|reply
Maybe it's good for GitHub, GitLab, etc. to be as open and liberal as possible with its definition of open source, but I think there is definitely an argument to be made that businesses making source available without actually open-sourcing it should pay to have it hosted. GitHub didn't become proactive about asking users to add licenses to repos until far into its existence, and there's plenty of code there that doesn't have an explicit license, but I think participating in the open source community should actually require that your source is open. License proliferation is already an issue, but adding non-open source to GitHub seems especially dangerous to me. The license should be highlighted in bright red with a big note saying that users are not allowed to do what they will with the source code.
[+] edkvmn|1 year ago|reply
As many others pointed out before, Redis Labs did not create the project, they started to provide Redis as a hosted solution just like other cloud providers, and with time gained control.

Redis Labs is not the only contributors to the project, Tencent and AWS contribute as well.

For Redis Labs the open source license was a distribution channel which they benefited tremendously.

I'm not an AWS fanboy but they operate some hosted solution significantly better than the companies building the products, at least the core offerings, this is what happened with Elastic and MonogDB.

It is Redis Labs prerogative to change the license, but they can also build a product around Redis that will drive customers to them instead of AWS, an offering that will be hard to replicate.

IMHO making a business that is "reselling" server capacity that was bought from AWS and trying to make a profit, can come back and bite you.

[+] somat|1 year ago|reply
It reminds me of the berkely db situation, where they(sleepycat software at the time, but now I think it is owned by oracle) changed the license to try and sell it, and everyone just kept using the last bsd licensed version.
[+] blackoil|1 year ago|reply
Far more involved people are in this thread, but my 2c. Forking of software isn't a big issue, but of the community is. If new software was R++ which company will close and original Redis is now in hands of the community everyone would have been OK. The community is built organically and has contributed a lot over the years. Now, it will have to be built again where the efforts would be diluted in multiple forks till they gravitate toward one. Maybe AWS, Tencent, MS will back one and we'll have to settle on a version backed by corporates.
[+] FrustratedMonky|1 year ago|reply
Engineers have to eat too.

Nothing wrong with charging for support.

I love passion projects as much as anyone, but there is a reason they are hobbies, and people need to keep a day job. Eventually it does get tiring to do support for free.

Edit:

Ok. I was talking OSS generally. I guess Redis is being bad actor if they are taking OSS work and running away with it to get the money, and not compensating the contributors. That is very wrong. I don't know history on Redis and assumed it was the contributors that founded the company.

[+] blackoil|1 year ago|reply
I think the main issue is bait and switch. You start with a license, get lots of external contributors who are working for free, get ecosystem built around it for free and then change because you want to be paid.
[+] itake|1 year ago|reply
My issue is the OSS contributors that were not paid for their work, but their work will be monetized now.
[+] danielrhodes|1 year ago|reply
I'd love to be corrected here, but my understanding is that the enterprise support and pro features model can be a pretty good business.

Big deployments generally need really good support and help to overcome scaling challenges. Who better than the library maintainers to offer that, and your customers have deep pockets.

Then on top of that, you run a business which basically creates proprietary Pro and Enterprise versions of a product which has tooling to operate the project at scale or in high uptime environments.

Then you offer your own cloud versions of the product as well (which I think Redis has been doing).

But in none of these cases are you creating a disincentive for anybody to use/adopt your product. You're simply creating value around the pain points.

[+] aurareturn|1 year ago|reply
I agree. People here always seem to react badly to companies that provide something for free and now want to make a bit of money. It’s weird because they themselves work in tech and have to earn a living to put food on the table. Having no way of making money isn’t sustainable.
[+] tick_tock_tick|1 year ago|reply
Then don't make an open source hobby if you want to pay the bills with it. Or accept you're going to have to be a consultant for the project to make $$. I don't expect jack shit back for my open source contributions nor do I care if Amazon uses it.
[+] marsupialtail_2|1 year ago|reply
The sincerest form of flattery is when AWS decides to come up with a big consortium to displace you with some open source.

Incidentally the most effectively way to stall a project according to the CIA is to have a huge guiding committee with clearly diverging interests.

Redis will win because it's focused on its users. It's competitors will lose. Like OpenSearch, like OpenCL etc.

[+] whirlwin|1 year ago|reply
I see valkey getting a lot of attention recently, as it is a newly founded alternative. What is the major differences over using TiKV which has been around for many years? https://www.cncf.io/projects/tikv/