Yeah, that really grinds my gears too.
It especially bugs me when company blogs call out “abuse” when they only exist as a company because others gave them the permissions needed to build a business on software they did not author themselves!
HN user
Socio-technical systems engineering at Amazon. Opinions are my own.
msw at amazon dot com
https://twitter.com/_msw_/
[ my public key: https://keybase.io/msw; my proof: https://keybase.io/msw/sigs/uK93UzjUgwYQWn0RIoE4Vq3Emdm5tMxur2CssTtmqk0 ]
Yeah, that really grinds my gears too.
It especially bugs me when company blogs call out “abuse” when they only exist as a company because others gave them the permissions needed to build a business on software they did not author themselves!
There are different FOSS communities that hold different values. I come from the copyleft camp because I want to advance Software Freedom objectives for end-users. Others are more interested in advancing software developer freedom, and they find the obligations that are designed to advance end-user rights are unduly burdensome to the software developer. Articles like the one on the FreeBSD website [1] explain why they take a different position
I choose to believe that both of these sub-communities of the larger FOSS community are principled in their beliefs. I don’t see whining from FreeBSD folks about competitors, or for-profit companies using all the permissions they give with their choice of license.
AWS never offered the AGPLv3 licensed version of the MongoDB server as part of any managed service. There were large cloud providers in China that _did_ offer MongoDB as a service. They also provided the corresponding source code [1]. Despite signs that they were complying with the obligations of the license, they had the SSPL drafted anyway.
Because once it was clear that software as a service was a compelling model, it was no longer appealing to give everyone the permissions needed to offer the software as part of a service (as AGPLv3 was always designed to do).
Changing the license seemingly worked, as a partnership was eventually announced [2].
[1] https://github.com/Tencent/CMONGO
[2] https://www.mongodb.com/company/newsroom/press-releases/tenc...
Because a big company like Amazon has produced almost no open source work
This may have been true a decade ago, but things are quite different now.
compared to how much it has benefited from open source.
This is the nature of digital public goods. We are all going to disproportionately benefit from digital public goods relative to what can be produced as new digital public goods. No one will ever, EVER be able to "contribute proportionately" given the endless bounty of software made freely available for all to use.
If that was the standard, so many of AWS services will spend all their reinvent time giving credits to their source OSS projects.
The observant should notice a change in this over the years. For example, the announcement for Amazon Q Code Transformation [1] acknowledged that OpenRewrite was used under the covers, even though it was an implementation detail that didn't have to be disclosed...
Of course these disclosures and good-faith intentions to engage on open-source community terms under long-established community norms don't always work out the way we hope. [2]
[1] https://aws.amazon.com/blogs/aws/upgrade-your-java-applicati...
[2] https://github.com/spring-projects/spring-tools/issues/1443
The LWN article is examining the 976 commits made after the 7.0.0 release. I don't think you had any commits during that time?
As is typical for software projects, early authors will be disproportionately represented in revision histories. I am still the #4 contributor to the Anaconda installer [1] originally used by Red Hat Linux, then RHEL, then Fedora, and others, despite not contributing to the code base for two decades.
[1] https://github.com/rhinstaller/anaconda/graphs/contributors
Disclaimer: I am not a lawyer, this is not legal advice.
In theory, one would not be able to offer a combined program under other licenses (in particular, RSALv2 and SSPLv1), as those licenses have conflicts with GPL obligations.
Direct contributions to the Redis project avoid this issue via a separate Contributor License Agreement. It would only mean that Redis developers could not unilaterally copy code from Valkey.
I'm not saying that the Valkey community should do this. Personally, I think it's better off as a BSD-3 licensed project, with the community fulfilling the promise made by others that it would always be that way.
RMS was not convinced that the Affero clause was a good idea as a general rule, though he approved the Affero-sponsored fork of the GPL that created AGPLv1. Hence, he did not support the addition of network copyleft obligations in GPLv3 during its drafting.
RMS has long expressed concerns about "Service as a Software Substitute" [1], and I think he hesitated to endorse the AGPL because it would conflict with his philosophy on the dangers of "Service as a Software Substitute".
Henry Poole should be given credit for raising the concern; Bradley M. Kuhn and Eben Moglen should be given the credit for advancing the license to address the concern.
It took a long time for the Free Software Foundation to accept Affero versions of the GPL under their stewardship with the release of AGPLv3.
So, perhaps he did understand before many people that services posed some challenges for his social movement. But it's my belief that he favored self-reliance and maximum "freedom" by running computer programs on hardware you own yourself as the remedy, rather than extending copyleft obligations to reach over the network.
[1] https://www.gnu.org/philosophy/who-does-that-server-really-s...
This exchange makes me sad. I know we can do better.
I don't understand why so many people think that it's impossible to have open source in your heart while working for a big company in your day job. I don't understand why people who have dedicated a lot of their time and emotional energy to keep open source ways alive and help build a community effort are attacked because they work for a company that needs to be made the villain in the narrative.
Of course Redis is free to copy BSD licensed code that Valkey contributors add to the project [1]. I only wish that the blog post about this advancement in Redis would give some credit, rather than claiming "We also improved the performance of CRC64 calculations" [2].
We can all do better, and engage with one another with mutual respect and admiration for what has been freely given.
[1] https://github.com/redis/redis/pull/13638
[2] https://redis.io/blog/redis-8-0-m03-is-out-even-more-perform...
Why? They can already just copy the code they want from Valkey, since Valkey is 3 clause BSD...
But maybe Valkey should switch to GPLv3 instead to correct this imbalance.
If you use the latest versions of Redis, you are benefiting from the continued efforts of the Valkey development community. [1]
This is Open Source working well.
Unfortunately, the reverse flow does not work.
My personal opinion: we shouldn't let Google's bad policy poison our brains. The people who wrote that policy had their reasons for taking this position. It might have been the right thing for Google at the time the policy was written.
That doesn't mean it's the right position for you, or for every situation. Many organizations with a higher levels of maturity in open source matters will take a more nuanced approach when it comes to AGPLv3 licensed software.
Disclosure: I work for Amazon.
AWS never offered a service based on the AGPLv3 version of the MongoDB server. Therefore the change of license terms to SSPLv1 was not directly caused by Amazon’s use of the software as part of an offered service, and had no impact to Amazon DocumentDB as an independently developed interoperable protocol implementation.
There were cloud providers headquartered in Asia that did offer AGPLv3 based MongoDB server as a service.
PS: There are exceptions like postgres but there aren't enough of them at that scale.
We need more communities and projects like PostgreSQL. Why can’t Valkey be another one?
There is more Free Software produced today than ever before, even if some firms are deciding they no longer want to produce it. There are far more who are continuing to add to the commons of public software unnoticed; those who publicly quit get far more attention.
I’m all about increasing the private provision of public goods. I don’t think that licenses that give firms exclusive rights to monetize the goods they produce advances that goal. That’s just the status quo of firms being landlords of their intellectual property, extracting rents from others who want to enjoy them. That’s just proprietary software, which is clearly a useful thing for society to have.
The thing that leaves a bitter taste in the mouth is when you apply your resources to produce common goods, and then one party declares that you are somehow a “bad actor” while changing the terms to enclose the goods and exclude you from enjoying that common good.
Luckily with FOSS, those who are excluded can move their efforts elsewhere. But the future goods will not be the same. And I think that’s a shame.
The needs of those who want to capture the majority of the value they create when they author digital goods like software haven’t been the concern of either the Free Software movement nor the Open Source movement. These movements are rooted in the nature of digital goods: they cannot be “exploited” (like strip mining for extracting materials from a mountaintop does) because they are naturally abundant. “Create more value than you capture” was the mantra.
The “free rider problem” has been used to justify licenses that protect the interests of software authors since before we called it “open source”, long before Amazon was made a scapegoat.
“The free rider problem is when someone is allowed to package free software in non-free or less-free bundles, and that's precisely the area of the GPL that I thought I needed to do something about in making the Aladdin license”—Peter Deutsch, October 1998 [1]
The point I am trying to make is that legal tools like the Aladdin Free Public License and SSPL do not protect FOSS, or advance the social movements that have produced a bountiful commons of digital public goods. Those that craft those tools and apply them to their works have every right to do so, but they do so because they choose to do so, not because a company like Amazon “forced them” to.
[1] https://web.archive.org/web/20041013082602/http://devlinux.o...
The two previous members of the Redis core team, along with other active contributors, are gathering in a different place:
The article ignores that the two previous core team members that didn’t work for Redis Ltd, along with other active contributors, are gathering around a different project. They just don’t have a name yet.
Disclosures: I work for Amazon, but my positions as a long time Free Software advocate and copyleft supporter are my own. I do not speak for Amazon here. I served on the board of directors for Software Freedom Conservancy at its inception, but now I am only a financial supporter in an individual capacity. I do not speak for SFC either.
The SSPL isn’t the same as the GPL. The GPL is a tool that was invented to advance the Free Software movement agenda: protecting the freedoms of users of software. The SSPL does not do that. It protects the interests of companies that want to maintain exclusivity in offering software services.
This post from SFC can explain the problems with this far better than I can in a HN post: https://sfconservancy.org/blog/2020/jan/06/copyleft-equality...
On the “downstream” side of this equation (managed services), the goal is to build a business that delights customers to the point where they part with their money to enjoy it. The ultimate goal there is naturally revenue and profit margin oriented, but _how_ you advance that goal matters a lot. In my experience, focusing on the customer first increases the chances of success.
When such a line of business has a core component that is open source, the growth and health of the “upstream” project, its developers, and the user community is an essential component in its continued success. This is why folks on the ElastiCache team has been increasing their investments in both the upstream project code and in helping to maintain it as a “community-led” project under the previous governance structure.
Those investments increased the provision of digital public goods (as open source licensed software is generally considered to be a “digital public good” even if it is not technically in the public domain). Increasing the provision of digital public goods is generally seen as in service of the public good, as it (more often than not) makes the world a better place.
No, the goal was to make Redis better for its community, which has positive downstream effects for everyone (users, Redis as a service providers-including Redis Ltd, etc.)
And these efforts involved more than one developer. It is only that one of them happened to be a core team member (which required working in good faith for the interest of the Redis community as a whole—a “commitment to the project”).
The SSPLv1 has fatal flaws that were identified by the open source community during its review for OSI approval. Some of those flaws were attempted to be addressed in the SSPLv2 draft that was never finalized, which is an acknowledgment that the flaws exist.
There isn’t really any way for someone who wanted to offer software licensed under SSPLv1 to comply with the obligations of the license in good faith. This is what makes those obligations a “constructive restriction” [1].
[1] https://meshedinsights.com/2021/01/27/all-open-source-licens...
The 3 clause BSD gives all the permissions that are needed for someone to add restrictions via their own license terms.
Licenses like the GPL come with an obligation that one not add restrictions when passing the software on to others.
We’ve done that. See one example in a sibling reply.
You write as if you have all the facts, but I doubt you do.
There are services with varying partnership terms, and there have been services launched with an intent to build long term mutually beneficial relationships that help ensure FOSS projects are well resourced.
“AWS, working with Grafana Labs, will be contributing licensing revenue and code to help make Grafana even better, not just for the AWS service, but also for open source users and Grafana Cloud customers.”
https://aws.amazon.com/blogs/opensource/how-aws-and-grafana-...
That may be true if a codebase is licensed under the GPL and has a diverse copyright ownership. But the 3 clause BSD is not that.
3 clause BSD gives everyone permission to use it in new works that are made available using license terms of one’s own choosing, so long as the obligations of those 3 clauses continue to be met.
There is no spin here. There are people that work for Amazon that work on FOSS projects out of the goodness of their heart, just like folks who are independent developers, or folks who work for startups, or folks who are just getting started.
When a FOSS maintainer tells you they sometimes do work on the weekends for the love of the community [1] you believe them. The evidence (with timestamps!) is there for all to see in the pull requests and commit history.
[1] https://twitter.com/reconditerose/status/1770697315671535707
https://web.archive.org/web/20231030181609/https://redis.io/...
(the page is now a 404)
The core team has the following remit:
* Managing the core Redis code and documentation
* Managing new Redis releases
* Maintaining a high-level technical direction/roadmap
* Providing a fast response, including fixes/patches, to address security vulnerabilities and other major issues
* Project governance decisions and changes
* Coordination of Redis core with the rest of the Redis ecosystem
* Managing the membership of the core team
It seems clear to me (speaking only for myself) that the core team didn't have a say in project governance decisions and changes here. :-("Occasional contributions" don't earn an invitation to become a Redis core maintainer. Please stop diminishing the tireless work of FOSS maintainers.
Disclosure: I work for Amazon, but I don't work directly on Redis related cloud services. I am close to the Open Source Program Office, and I care a lot about the people who do the hard work required to collaborate on open source projects.
Madelyn Olson did the hard work for years to earn the trust of other Redis core developers to become a core maintainer, all while employed by AWS to do that work. She and other AWS developers have contributed a lot to the core Redis engine. Some may say that they too worked their asses off for the Redis community.
You can read more about some of those contributions here: https://aws.amazon.com/blogs/opensource/behind-the-scenes-on...
That's not strictly accurate. SSPLv1 is only a choice for the source code. One can elect to use RSALv2 for both binaries and source code.