Redis is no longer OSS
(fosstodon.org)
from mesamunefire@lemmy.world to programming@programming.dev on 21 Mar 2024 05:12
https://lemmy.world/post/13364954
from mesamunefire@lemmy.world to programming@programming.dev on 21 Mar 2024 05:12
https://lemmy.world/post/13364954
threaded - newest
wtf
Yeah…it’s unfortunate. There’s a good discussion over at hackernews here news.ycombinator.com/item?id=39772562
Looks like it’s a dual licence now.
all is fine, gentlemen - it has been forked
phew
The old code isn’t going anywhere, there are already countless backups and clones. For a fork to actually be meaningful it needs community support and maintainers otherwise it’s basically just a clone.
it was a joke
No, I think you missunderstand… A joke is supposed to be funny.
hey, no need to hurt my feelings
I’ll submit it for your approval next time
It was a joke
well well well, how the turntables
<img alt="" src="https://lemmy.world/pictrs/image/9e2bb1b9-f076-4beb-9a9a-72db50a4fe83.jpeg">
Well... everyone back to memcached?
If you need a good queue, then postgres is your friend.
And in elixir/erlang we’re spoiled with loads of options, from ETS to mnesia
Been using the KeyDB fork for ages anyway, mainly because it supports running in a multi-master / active-active setup, so it scales and clusters without the ridiculousness that is HA Redis.
If you think this is bad, then you should make sure to use copyleft licenses.
EDIT: Just read the details, and it seems that this is just what they did. SSPL is like AGPL with a stronger SAAS is distribution claus. That might not be valid, according to the OpenSource definition, but unless you are planning to modify the code and provide it as SAAS I think this is no a problem.
This is not as bad as they didn’t make the whole thing totally proprietary. But FOSS community definetly would have to seek for alternarives unfortunetly.
Or just keep using the FOSS versions. These license changes by definition can not be retroactive.
Sure, but someone has to maintain them.
Sure, but in the meantime until a new fork emerges as the spiritual carry-on, you can just freeze the latest good version on your docker-compose and carry on.
redis.com/…/redis-adopts-dual-source-available-li…
This is the announcement.
This is a disappointing outcome but one that I think has been coming for a while. Amazon has profited off of Redis without giving much back for quite a while (at least I recall this being a complaint of the Redis folks, perhaps others have evidence to the contrary).
This is pretty clearly an effort to bring AWS to the table for negotiations.
ElasticSearch tried this and lost hard already. OpenSearch has already out paced it in features and performance and ES is effectively dead. Such a braindead exercise to see Redis follow suit
Generally appropriate response to this sort of thing. Best of luck, consider bringing a boatload of goodwill to the table. I doubt I’m alone…
I agree, this sounds like a desperate cash grab.
I mean, cloud providers who are already using Redis will continue to do so without paying anything at all, as they’re using stable versions of a software project already released under a permissive license. That ship has sailed.
Major cloud providers can certainly afford developing their own services. If Amazon can afford S3 and DynamoDB, they can certainly develop from the ground up their own Redis-like memory cache. In fact, Microsoft already announced Garnet, which apparently outperforms Redis in no small way.
So who exactly is expected to pay for this?
Can someone explain the benefit of letting AWS use your product, then throw resources at it to improve it to get and advantage over your product, basically providing a much better product to their users than you would be able to. But they do it without any need to contribute back. I don’t see the benefit of this to the opensource community at all, but people here seems to be quite passionate about it so you must see this differently than I do. So, please explain your view on how such a situation is beneficial to the OpenSource community.
FOSS has spent the last few decades operating under the assumption that companies would give back for the greater good if they found value and grew dependent on a project. What they didn’t understand is that corporations are parasites who only care about immediate profits, and are more than happy to abuse the honor system indefinitely. There isn’t any benefit to FOSS to continue operating under this model, which is why FOSS is shifting away from licenses that permit leeching for profit.
It’s no different to how corporations have worked to destroy the social contract, and do everything imaginable to evade taxes, offshore labor, corrupt our political systems, and not give back to the economies that incubated them and enabled their success — at some point you have to tell them to get fucked, stop being a fucking parasite, and pay their fair share… If they don’t give back and improve things for the majority, they don’t deserve to profit from it.
The idea behind making your software fully open source is that you don’t care either way. And everyone is free to do as they please.
No, that is not all the idea. You might have that idea, but it is not a basic idea at all. To keep something open (as in open source), you must put restrictions that prevents it from closing.
A government is not more free just because it lacks any restrictions, about becoming a dictatorship. It is just less restricted at this point in time. To ensure a free society, there needs to be restrictions in place that ensures it stays free. The same applies to software.
Many seems to believe that less restrictions means more free or open, that is not true. It is just less restricted.
Oh no,sorry,that’s sorry of what I meant: if you desire additional restrictions you’ll need a license for that - as the redis devs are doing now, in fact.
Which is fair. Quite fair. But if you do something less restrictive, you quite intentionally go the “dont care” route.
Opensearch outpaced elasticsearch? This article from April 2023 states otherwise
I wouldn’t touch ES with a barge pole. They wrote their own gravestone imo. Check out the quality of the docs today between the two, and the SQL support. commits != quality or features
The article goes more in depth about those points and ES comes out on top. OS is basically tailored to AWS, so outside of AWS it becomes less meaningful. But saying OS outpaced ES is a little disingenuous IMO
CC BY-NC-SA 4.0
Can you license a comment in lemmy?
Why wouldn’t that be possible?
CC BY-NC-SA 4.0
I don’t understand this blend of comment.
If you purposely release your work as something anyone in the world is free to use and change to adapt to their own personal needs without any expectation of retribution or compensation, why are you complaining that people are using your work without any retribution or compensation?
More to the point, why are you singling out specific adopters while leaving out the bulk of your community?
It makes absolutely no sense at all.
They shouldve releases redis under agplv3 if they really want those corpo to give back to community.
There’s generally an understanding (the GPL folks think it’s naive – and this makes their case) that if you use open source software you should give back to it.
And yet fuck all people do. Ever.
If you’re random Joe Schmoe who happens to need a database, I don’t expect you to contribute. But when you’re of the largest tech firms in the world…
People, maybe. Corporations though? They absolutely contribute:
lwn.net/Articles/915435/
Oracle, AMD, Google, Intel are all well represented.
Absolutely not true. I know this is just my experience, but I’ve worked with plenty of devs who’ve contributed prs and/or donations back to OSS projects in the past, and all my former employers have opensourced at least some of their software
The GPL people are naive too because GPL doesn’t always prevent it either.
It does, AGPL for servers, GPL for applications… If you make changes they have to be made available or you’re breaking the law.
You only have to give back if yours literally redistributing a modified version of the thing.
If you use the software without modifying it directly (such as building on top of it, or building something that uses it), then that’s allowed.
Also if you make use of the software commercially, without necessarily distributing it, then that’s also allowed. For example, Google could (I think they actually already do) modify the Linux kernel, and use it all across their company internally. They don’t have to give back, since they don’t distribute it.
And last, if you don’t modify the software but charge people using it, that’s completely allowed.
(IANAL)
Not in the case of AGPL (use over the network
and IPCcounts as distribution – presumably proxying the request is insufficient to disable this clause) and even in the case of GPL that’s a very problematic position to put yourself on. You’re basically talking about invoking a foreign process from your primary process to avoid licensing constraints and that comes with a lot of limitations as to what you can do.You can modify the GPL program to support more things via IPC but then if that program needs to touch a customer’s computer, you have to contribute at the very least those notifications and any related improvements you made to make that possible or any new feature which makes more sense to be in the tool you’re calling than your tool building on top.
Yes, but who’s paying for that? If it’s a server hosting company, they’ll pay the hardware rental fee, fair enough. However, you can’t reasonably sell that software itself, people will just build it themselves.
I won’t require you to upvote my excellent comment, but I sure expect it!
Paragraph three is solid on Wiki: reciprocity - we needs it!
can guarantee that if redis was closed source from the beginning, Amazon would’ve just made their own clone internally just to avoid paying someone else.
Didn’t they switch to a license with stronger mechanisms to keep the source available? SSPL, is basically AGPL but have even stronger protection from large corperations to use the code in their data centers without contributing the changes back. This is basically a move to prevent AWS/Google/Microsoft/et al, from leaching on the contributors work without giving anything back.
Or am I reading this wrong?
EDIT: Note, that the Mastodon account is to an AWS employee… so for him, this might be bad, since it no longer allows them to have their own internal fork without contributing back. Now, they will need to use a real for and maintain that them selves without leaching on the redis contributors.
I suggest an alternative title to this post: AWS employee is mad since Redis change license to prevent them from leaching
They could just use AGPL. Amazon would need to contribute back, but with no restrictions on who and how can run it. Current licence has a clause that prevents any providing of the software on the network.
Does that prevent my managed Mastodon instance host from providing Redis over the network to my Mastodon, or does that count as them providing Redis to themselves and then providing Mastodon to me?
The wording says “third-parties as a service”, so as long as Redis isn’t accessible by people outside your organization, it’s fine. But paid Redis hosting wouldn’t be allowed on the new license.
Where does it say this? I can’t see that in the SSPL
It’s in the RSALv2:
Ah right. You could do a paid Redis service if you use the SSPL license though, right?
That does seem to be the case. As long as any modifications to the source are publicly available. Which is pretty reasonable.
Weirdly OSI doesn’t classify the SSPL as an open-source license because it doesn’t guarantee “the right to make use of the program for any field of endeavor”, calling it a fauxpen license. I don’t think the FSF has commented on the license, though I would be curious what they say about it.
I imagine they consider it to not give the right to make use of the program for any field of endeavor, because providing the source of the entire stack needed to run the service you provide makes it impossible for users to host their service on stuff like AWS, since it is proprietary.
I think checking the sponsors page for OSI will be informative.
The restriction doesn’t only apply to large corporations, it applies to everybody. It restricts what you can do with it so it breaks the fundamental freedoms that make up “FOSS”. As an immediate result it will be removed from Fedora and Debian because they don’t consider SSPL/RSAL to be FOSS:
gitlab.com/fedora/legal/…/497
bugs.debian.org/cgi-bin/bugreport.cgi?bug=915537#…
Fedora and debian support the corporate definitions of FOSS, so their opinions do not matter here.
I don’t think most of us want to offer services by hosting a service without contributing back the code. If they do, I am happy that it is a requirement that they give back. Only for-profit companies will have an issue with this.
Why? All the license says is that if you provide it as a service you must release the source code.
It says that you must release all your source code, even the stuff that isn’t covered by the license. From Wikipedia:
I mean aws can suck it
For the record. The SSPL that Redis switched to while technically not recognized by the OSI really isn’t bad at all.
It’s exactly like the AGPL except even more “powerful”. Under the SSPL if you host redis as a paid service you would have to open source the tooling you use to manage those hosted instances of redis.
I don’t see why anyone but hyper scalers would object. It’s a shame that the OSI didn’t adopt it.
From what I’ve understood SSPL is a ridiculously ambiguous license, it’s extreme copyleft. It’s not just “open source the tooling you use to host the software”, it can also be interpreted to mean “open source all the hardware and firmware you use to host the software”. No one wants to risk going to court for that so corporate wants to use SSPL licensed software.
AGPL is the best license you can go for IMO.
The ambiguity is a valid concern. Hopefully the next version addresses this a bit better. This being said mega corps will call anything they can’t abuse for profit “extreme”. So if they think it’s extreme that just means we are on the right track.
lmao imagine allowing to run your software only on RISC-V boxes basically, pretty based but also a shoot in the foot in terms of acquiring any major funding
To be fair the license is not meant to cause this and has never been enforced like this. The license was written for software tooling.
Regardless of whether it is too strong or too ambiguous, it is absolutely an open source license regardless of whether the OSI and/or FSF approve of it.
.
In what way does SSPL not allow free redistribution for users but does for developers? It requires the source to be made available just like AGPL.
Huh I interpreted it as “everything involved with deployment” so connecting services, scripts, parts the OS that touch it, and an configurations.
I guess that is the ambiguity you mentioned
Damn, those copyleft extremists!
I wonder who all are sponsoring OSI for them to not recognize SSPL.
Irrespective of debates on what the definition of “open source software is” or who gets to define it, it is very clear that the SSPL is not a FOSS – free and open source license – and that’s a shame. Sure, open source still means we can look at the source code, but we do not have the full freedoms to use the code for any purpose. You might retort “but I’m not a aaS provider” so my rights aren’t affected.
But that’s the thing: the erosion of free software rights is never the end, but then beginning of the end. Much like free speech, such rights must be jealously guarded. Need I mention what happens when there’s no one left to speak up?
That some users of Redis never contributed back to the project is beside the point: truly free software is free as in libre: if you want thanks for your work, release it as freemium or some other license. But a FOSS license like BSD-3 has always been thankless and the OSI is correct in calling out the SSPL for not meeting the OSI’s Open Software Definition’s anti-discrimination clause, nor the FSF’s zeroth freedom, amongst four.
Free means free. AGPL is free. But SSPL carves out an exception, making it not free. No amount of sweet talking changes this reality.
SSPL doesn’t carve out an exception, it just has clauses that are difficult for SaaS providers to meet.
That may be but it is the best course of action to have it free for people to use and if you get to a certain size you have to pay for that shit. That is just fair.
Like pirating music and games when you are poor and then buy those things at a later date when you got the means for it.
Giving a company like Amazon who forbids their employees to piss crucial infrastructure for free ist just a slap in the face of decency.
I think there has to be a change in philosophy. It is free as long as you can’t afford it. But as soon as you can afford it you have to pay. And if your company uses it to operate and generate money then the project has a right to an percentage of that money.
Everything else is just not feasible in the long run. As we see time and time again.
One of the drawbacks of software licensing with community projects – although there are some (controversial) ways to sidestep this – is that the license needs to be selected at the onset of the project, and you’d have to have everyone agree to that license or change the license.
If all the initial parties agree to use a FOSS license, they and all subsequent contributors under that license cannot complain that someone is actually employing that software per the terms of the license. A project might choose FOSS because they want to make sure the codebase only dies when it disappears from the last developer’s disk.
If instead, the initial parties decided on some sort of profit-sharing license – I don’t know one of the top of my head – then they and future contributors cannot complain if no business wants to use the software, either because FOSS competitors exist or because they don’t like the profit split ratio in the license. If that ratio is fixed in the license, the project could die from lack of interest, since changing the license terms means everyone who contributed has to agree, so a single hardliner will doom the already-written code to obscurity.
The sidestep method – which is what appears to have been used by Redis to do this relicensing to the SSPL – is that all contributors must sign a separate agreement giving Redis Inc a stake in your contribution’s copyright. This contributor agreement means any change to the Redis codebase – since its inception? Idk – has been dual-licensed: AGPL to everyone, and a special grant to Redis Inc who can then relicense your work to everyone under a new license.
Does the latter mean Redis Inc could one day switch to a fully-closed source license? Absolutely! That’s why this mechanism is controversial, since it gives the legal entity of the project all the copyright powers, to level-up to FOSS or level-down to proprietary. Sure, you can still use the old code under the old license, but that’s cold comfort and is exactly why hard forks of Redis are becoming popular right now.
In short, software projects have to lay out their priorities at the onset. If they want enduring code, that’s their choice. If they want people to pitch in a fair share, that’s fine too. But that choice entails tradeoffs, which they should have known from the start. Some mechanisms allow the flexibility to change priorities in the future, but it’s a centralized, double-edge sword.
This is the most pretentious thing I have read in a long while. Imagine comparing the holocaust to a copy left software license that mega corps find less profitable.
By the same argument, wouldn’t GPL and other copyleft licenses be considered non-free as well since you are not free to do whatever you want with the source? For example, incorporating it into a proprietary project, refusing to provide the source to users upon request, or not disclosing attribution, etc. The latter would even go against the terms of permissive licenses.
Clearly defining what free, and by extension FOSS, means is very relevant.
There are two concepts at play here: open-source and free software. An early example of open-source is AT&T Research UNIX, which was made source-available (for a few) to universities for research purposes, who could recompile the code and use the binaries for that purpose. Here, the use of the software is restricted by the license terms.
On the free software side, as a reimplementation if the Unix software utilities – ie all the programs like tar, ps, sh – GNU coreutils is GPL licensed, meaning any use of the compiled binaries is allowed, but there are restrictions on the distribution, of both source and binaries. As it turns out, GPL is both free and open-source (FOSS); there are fewer major examples of free but non-open source, but WinRAR and nVidia drivers on Linux would count.
Specifically, GPL and other copyleft licenses require that if you distribute the binary, you must make the source available under the same terms. If you’ve made no changes, then this is as simple as linking to the public source code repo. If you did add or remove code, you must release those alongside the binaries. If you simply use the binaries internally, you don’t need to release anything at all, and can still use them for any internal purpose.
From the background above, free software has always been understood to mean the freedom to use software, not necessarily distribute it. GPL complies with that definition for using the software, but also enforced a self-perpetuating distribution requirement. Unlike plain ol free software, under GPL, you must redistribute source if you distribute the software for use (aka binaries), and you must make that source also GPL.
Under this explanation, the AGPL wouldnt qualify as an open source license, since you must distribute the source if you provide a modified version as a network service.
I’m not quite sure I follow. The AGPL mirrors the GPL, with an extra proviso that accessing the software via the network constitutes “use” if the binary, not “distribution” of the binary. Under GPL, the mere use of a binary does not require the availability of source.
Example: a student uses a GNU/Linux computer at their university computer lab. She runs the unmodified “tar” command from GNU Coreutils, which is GPL licensed. She is not entitled to a copy of the source from the university, because execution is a “use” of the binary on an already-provisioned machine, not a “distribution” of the binary.
Example: a student is given a software assignment from her professor, along with a .7z file containing old versions of “tar” that contain bugs, all GPL licensed. This is a distribution – as in, a copy – of the binary, so she is entitled to a copy or link to the source from her professor.
The first example helps explain what the AGPL adds, in the context of network use. Consider what happens if the university actually modified the “tar” command installed on their machines. They still would not have to distribute the modified source to the students, because students only execute (“use”) the binaries. But with AGPL, use of modified software obliges source distribution.
Phrased another way, AGPL has every guarantee that GPL does, but adds another obligation for modified use via a network. Unmodified use does not require source distribution, under both GPL and AGPL.
What a disingenuous take. Just because the OSI doesn’t recognize the SSPL as open source doesn’t mean it’s not open source.
Edit: Everyone seems to believe I’m saying that because the source is available it should be open source. That’s not what I’m saying at all.
It is no longer open source under the definition of Open Source Iniciative, FSF, Wikipedia, RedHat, Cambridge Dictionary, European Union, maybe even Redis themself… Only startups that want gratis marketing seems to disagree.
We had pretty much defined open source for the last 20+ years and one of the requirements is freedom of redistribution at least equal to the developer itself.
For what Redis is doing we already have term source available which makes perfect sense and both are well defined.
If you think open means just “you can see the code”, you must prove yourself at this point.
SSPL requires the source be made available for redistribution just like AGPL.
Source Available < Open Source < Free Software
These terms have specific definitions, where each greater term is more specific than the lesser*.
SSPL is in the “Source Available” tier.
The OSI defines the term “open source,” and the FSF defines the term “free software.” The number one term of open source, greater than the availability of the source code, is the freedom to redistribute.
en.wikipedia.org/…/Comparison_of_free_and_open-so…
* Free Software isn’t exactly a subset of Open Source. There are a few licenses which are considered Free but not Open: the original BSD license, CC0, OpenSSL, WTFPL, XFree86 1.1, and Zope 1.0.
Absolutely. The source of Windows is widely made available to innumerable third parties, yet I’ve never seen anyone claim that it’s open source.
I didn’t think the Windows source is widely available, only the compiled form.
.Net core is open source though.
A lot of large companies have access to the Windows source tree. It’s quite common.
That’s not “source available” because the software is not released through a source code distribution model.
Companies may have access in order to produce better drivers or handle security incidents, but those are back-room deals, not part of Windows’ distribution model.
That’s right.
I don’t believe we should let the OSI and FSF be the absolute final say in what people consider to be open source/free software.
SSPL allows this.
🫡
They cheaped out on the lawyer. Maybe it’s a chatGPT lawyer.
I don’t see anything wrong with the quote? Other than the policy itself being a ridiculous change, the wording is pretty standard legal speak. Not sure why you’re jumping to “ChatGPT Lawyer”
You may not X in a way that X
Definitely reads weird to me. It should suffice to say “you may not X”.
You may not X in a way that Y
implies thatYou may X in a way that does not Y
, and is more specific (and changes the meaning of the license) vsYou may not X
The legal distinction in this case allows for distributing the software for example as source code, but not as a service.
x = “make the functionality of the Software or a Modified version available to third parties as a service”
y = “distribute the Software or a Modified version”
You may not X, or (Y in a manner that X)
Perfectly normal legalese. Just like “included but not limited to…” it sets a condition and adds a more specific version of that condition, which seems redundant but helps during actual litigation.
On another note, what other licenses do you lemmings know that impose more restrictions to prevent your software from being used for evil?
firstdonoharm.dev
Read that as reddit
RSAL seems weird and I need to research it more. But I don’t mind SSPL at all. It only hurts companies who hope to use open source without wanting to give back. From my perspective that’s good.
Not only companies: …archlinux.org/…/OY2DLNWTZOBPAHFE5FSV4Q6AIWGZO6KV…
Well interpretability of a non standard license is problematic, but that’s true for any kind of new license. By that argument we should oppose any kind of change, positive or not.
Imo this change is positive. We should actively be against corporate leeching.
It’s been 5 years. I don’t think they’re going to change the license to allow distributions to distribute MongoDB more easily.
In a world without free software, Amazon will build their own proprietary software for servers that is better than everyone else’s, and will be in the same position. At least with Redis, multiple employees of AWS were core maintainers for Redis. It isn’t like Amazon didn’t contribute anything back. Now that it’s non-free, they’ll just fork it. Again.
All this really accomplishes is making licensing a headache for everybody, which is the main reason people and organizations use free software.
I think free software developers should be able to make money from their software, and money from working on their software. I also think everyone else should be able to, too.
To put it another way, open source means surrendering your monopoly over commercial exploitation.
Additionally, Elasticsearch does not belong to Elastic. Redis doesn’t belong to Redis, either.
WTAF? Today is a bad day.
Looks like OSS to me.
.
Great timing that Microsoft just released a drop-in replacement that’s in order of magnitude faster: github.com/microsoft/garnet
Written in C# too, so it’s incredibly easy to extend and write performant functions for.
It needs to be a bit more deployable though but they only just opened the repo, so I’ll wait.
Can it do everything that redis can?
The repo description says it works with existing Redis clients, so probably.
That’s one of the selling points, yep
Not everything. There’s a list of currently supported and unsupported apis on the docs. Streams aren’t supported at all, for example.
I do not understand why would a developer (or development team) change the licensing terms of their software for something stricter, like Redis did. Could someone tell me what the factors are?
I guess it’s things like AWS Elasticahe that made them want to provide their own service without sharing the code with their soon to be competitors.
Redis is dead.
Long live Redict, which is a Redis fork maintained by Codeberg.