Attached: 1 image
Welp. It's official. #Redis is no longer #OSS
While I wasn't a contributor to the core, I presented on it dozens of times, talked to thousands, and wrote a book about it.
I probably wouldn't have done any of that with that kind of license.
Very disappointed.
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.
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:
Fedora and debian support the corporate definitions of FOSS, so their opinions do not matter here.
it applies to everybody
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.
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?
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.
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.
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.
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.
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.
${CORPORATION} has profited off of Redis without giving much back (...)
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?
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.
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.
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
Such a braindead exercise to see Redis follow suit
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.
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.
You may not make the functionality of the Software or a Modified version
available to third parties as a service or distribute the Software or a
Modified version in a manner that makes the functionality of the
Software available to third parties.
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.
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"
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.
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.
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.
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?
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.
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.
SSPL requires the source be made available for redistribution just like AGPL.
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.
* 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.
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.
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.
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
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.
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.
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.