The reason for everyone not selling the software in question to prefer F/OSS is exactly that it requires surrendering the kind of exclusive control that is also what allows you to build a company around the software as a product.
Yes, this means that F/OSS as such is unlikely to be the key product of a successful company. That's always the way it has been with F/OSS.
“But if I can’t center my business on F/OSS-as-product and I can't center my business on commercial software for the same use because F/OSS products, even if somewhat inferior themselves, develop more robust ecosystems, then how am I supposed to compete with free?” one might ask. And the answer is this: “Maybe you’re not: you are entitled to a business model.”
They sell a hosted service that uses the software. They're not selling the software.
Pretty difficult to see how a company building a SaaS business around some software is not "for their own use".
Coupling that with the fact that, in the past, F/OSS project control or domination by a single party hasn't turned out well.
Step back from FOSS for a second.
I think most people would agree that there’s somewhat of a moral issue with just taking someone else’s open source software and just hosting it and making billions, with nothing for the creators, because you are a megacorp who is good at hosting.
Now, is there a way to solve that and have the benefits of FOSS?
Both Mongo and MariaDB have tried to address this with licensing - MariaDB seems to have done this much less clumsily than Mongo, but both still had FOSS advocates shrieking
---
EDIT to include response to below comments so everyone doesn't keep repeating the same things:
> Either your product is fully free and you accept that people can fork it, even Amazon, or you choose a restrictive license. You can't make "free" (as in libre) compatible with "but".
> I can totally see that you think this is unfair, but they did allow it and they were perfectly happy when being FOSS brought them market share. You have to take the good with the bad
> If you have a moral qualm with bigcorps using your work for free, you don’t license in such a way that they can. Make your own license, or slap AGPL3 on it - either way, no bigcorp touches it.
> But you cannot be mad when you say “I release this code under these terms” and AWS takes you up on your offer.
If everyone stomps their feet and says "there's no solution, otherwise it's not OSS!" then the end result is only going to be a lot less open-source software.
I'm not asking if someone who wrote code and chose an existing OSS license that allows any possible usage has any real recourse once they want to make money off of it - obviously not.
I am asking, can we find a way to ensure software creators are compensated while still having the generally-recognized benefits of FOSS?
> Don't you think there's a moral issue expecting free contributions to something which only you are allowed to monetize?
Nowhere in OSS licenses does it include the expectations of free contributions
> And how can you satisfy users to the greatest extent while also preventing them from using the provider that is best able to meet their needs?
Again, can we just find a way for the creators to be compensated?
I'd love for the OSS to be available as a hosted solution to be available on every cloud provider, including if the original creators choose to provide a cloud hosting.
I'd also love for the original creators to be able to get some sliver of the money AWS/Google/Azure are making off of it.
---
To me it seems like if you were to start a business around your open-source code right now, you would be smart to do one of these two things:
1. a MariaDB/CockroachDB BSL approach, where the newest versions are BSL, with a restriction that you can't provide a product where you just host our software without paying us, then all code automatically is fully open-source (GPL or whatever) after x amount of time, or x major version releases.
- this comes with the danger of all the bad PR and gnashing of teeth that comes with non-pure-OSS licenses, or people just not adopting it because they dislike or don't understand the license
2. Open-Core with non-OSS-licensed Enterprise versions, and lean really hard into developing hosting and enterprise integrations to make sure you can make some money off the nonfree portions - this seems even more dangerous, that you have to be distracted on such things that are not the core product in order to defend against ending up like Docker, with everyone using it and no one paying you a dime.If you have a moral qualm with bigcorps using your work for free, you don’t license in such a way that they can. Make your own license, or slap AGPL3 on it - either way, no bigcorp touches it.
But you cannot be mad when you say “I release this code under these terms” and AWS takes you up on your offer.
Personally, I am a fan of AGPLv3. But I am uncomfortable with advice to apply APLv3 code in an expectation that BigCorps will not touch it. There are many very large companies, including multinational companies based in China, that have no fear of AGPLv3, and are also prepared to meet the obligations of the license.
Many times I have read (including in comments down thread) that "big companies fear AGPLv3." That may be true in some cases, but not all. And the state of adoption or rejection of community licenses changes over time. 25 years ago, many companies "feared" GPLv2.
That changed, and now GPLv2 is widely accepted. The same could happen for AGPLv3, and personally I think that the movements that advocate for Software Freedom will be closer to achieving their goals if that happened.
Google won’t: https://opensource.google/documentation/reference/using/agpl...
Unless things have changed recently I know Amazon won’t, and I’m fairly sure Facebook still won’t.
For most corporations it’s simply not worth the risk
AGPLv3 licensed software is also permitted for use within the company in some circumstances.
Also the Google policy seems to stem from:
1. It's never really been defined very well what "interaction over a network" means for AGPL and how truly viral it really is - although I'm sure ever there were ever landmark cases in the US establishing it, things would magically end up in Google's favor
2. Google purposely spreading FUD around more restrictive OSS licenses to discourage their existence
Absolutely not.
The AGPL terrified AWS so much that they did a clean room implementation and built an entirely new database that was wire compatible with MongoDB.
Hence, Mongo relicensed under a new license, the SSPL, that says if you implement an SSPL-covered API, the SSPL extends.
So AGPL is open source, but in practice it seems like it's so much more restrictive than something like BSL that is not open source.
This just makes OSS vs not-OSS seem like even more of an theoretical line in the sand.
As for
> Hence, Mongo relicensed under a new license, the SSPL, that says if you implement an SSPL-covered API, the SSPL extends.
That definitely looks ugly on Mongo, implementing an API is such a fundamental part of software compatibility. Seems like the exact wrong way to go about it.
I've released code under permissive licenses (Apache, BSD, and MPL that I remember off-hand), and at least one feature I know made its way into a commercial product. In those cases I simply didn't care because I didn't consider the code particularly novel, important, or special. It scratched my itch. Occasionally it scratched my employers itch, so I was already paid to write it, which was nice.
If I ever write code that I consider novel, important, or special, I plan to release it under AGPL3 - while you may think Google is overreacting on accident or to create FUD around it, the plain text of the license makes the intent exceptionally clear:
> public use of a modified version, on a publicly accessible server, gives the public access to the source code of the modified version.
This alone is enough to make the AGPL3 blacklisted anywhere that wants to keep their source closed: you may believe the courts would decide for the big corporation if push comes to shove, and you may even be right, but practical evidence shows that almost nobody wants to risk it.
Part of the problem here is that a generation of programmers seems to think that open source is all the same, so a license is something that you just whack <enter> to when your scaffolding tool suggests one. But in reality, talking about "open source" is useless at best and dangerously imprecise at worst, talking about licenses is the only way to get people on the same page.
> That definitely looks ugly on Mongo, implementing an API is such a fundamental part of software compatibility. Seems like the exact wrong way to go about it.
It did the trick for them, at least against AWS: as expected, they successfully forced the wire format to diverge after AWS launched DocumentDB. It also got them pulled from Debian, Fedora, and I don't know how many other distributions for being non-free. But hey, at that point, they were already a known quantity, so it probably won't hurt in the long run.
[0]: https://json.org/license.html
There's going to be less people trading on the idea of open source software while relying on the exclusivity of control of proprietary software—which in fact does not solve the problems which lead users to prefer open source software—to enable monetization, so we’ll be back to the status quo before the last handful of years where open source software was peripheral projects and supporting infrastructure funded by its users either as internal projects or via external foundations, rather than the central products of startups that have no business plan consistent with the product remaining open. But that’s okay.
1) there's a lot of software that's mostly-open-source-except-Amazon-isnt-allowed-to-run-a-hosted-version-of-it-without-paying-the-authors
2) all the software from 1) is completely proprietary
a lot more people benefit from 1 than 2. But somehow it seems that OSS purists prefer #2? It seems like they would rather less Open-Source Software in the world, all to maintain the purity of the meaning?
That's...not mostly open source. Being able to pay whomever to run a hosted version for you and not have that be exclusive to the original creators isn't, especially in the age when hosted services are in high demand, a peripheral feature of open source. It's integral to the value proposition.
If AWS/Google/Azure had to pay some fee to the original creators to provide a hosted version, they would definitely do it for a popular enough product.
Everyone would still get all the benefits, except AWS/Google/Azure get a little less money (down from some hundreds of millions) and the creators get a little more than $0.
I fail to see the negative effects on any entity there except what would amount to rounding error in AWS costs. Doesn't actually seem so integral to the value proposition of open source. Definitely seems "mostly open source".
For example, if ElasticSearch would have been closed source? People would go to Solr. If Solr closes? Postgres and a lot of swearing.
You have to remember that while AWS ElasticSearch was a bad thing for Elastic Co, it was absolutely great for all sorts of much smaller companies who did not have enough resources to run their own clusters, as Elastic's offering is 2x price of AWS one [0].
[0] https://medium.com/gigasearch/which-elasticsearch-provider-i...
The answer is simple - no. Either your product is fully free and you accept that people can fork it, even Amazon, or you choose a restrictive license. You can't make "free" (as in libre) compatible with "but".
I can totally see that you think this is unfair, but they did allow it and they were perfectly happy when being FOSS brought them market share. You have to take the good with the bad.
Don't get me wrong, I feel with the Elastic team and I can understand why they're unhappy (even if I don't agree with their pettiness). I also don't particularly like the move Amazon did here. But that's why we want free software: If the current owner of the software does something you don't like, you can still use the software. That's the whole point.
And you're still free to pay Elastic to manage a cluster on AWS for you; Amazon might have forked the project, but it's still the customer that needs to switch to OpenSearch.
Not technically open-source, but much closer to open-source than what we would generally think of as "proprietary" software
Imagine just as an example, a license for personal software that is exactly the same as GPLv2 except billionaires can't use it. Functionally that has the same benefits as FOSS, even though it's not.
And it is in the best interests of FOSS to make it clear, time and time again, that the answer is no, and to work to ensure the answer is no.
Honestly it seems like the only downside there would be all the OSS purist/billionaire-defender HN commenters would have a field day, then you could move on.
I’d like to choose AWS to do this hosting in a lot of cases, assuming they’re willing. Barring them from hosting it is impinging on my freedom as a user and therefore with respect to whether I think that software is Free and Open.
That’s the exact freedom that Elastic is trying to remove here, for their own (totally valid) business reasons (they don’t want to compete head-to-head with AWS hosting), but in so doing, they’re removing an essential freedom from users. This is not about defending billionaires; it’s about having choice in the use of the software purporting to be free and open.
So it's a reduction in freedom, but it's not a reduction in user freedom.
“You have the freedom to contract for help with our software with this company but not that company” or “you have the freedom to contract for hosting in inefficient arrangements that we can beat in competition but not in efficient ways that we’d rather not compete against”.
"Specifically and explicitly" is much more of a legal argument.
If I license any of my code under that license, I hope someone builds a billion dollar business on it. If someone else does the same, how should a licensor understand the difference and act accordingly?
EDIT: regarding your inline response,
> Nowhere in OSS licenses does it include the expectations of free contributions
The expectation is not encoded in the license, it is the reason for choosing the license. Why would anyone want to afford you the benefits of FOSS so that you can personally monetize it and nobody else?
There is plenty of code that is only open-sourced after it has been fully created by a single organization/entity - no free contributions needed!
If we're talking about expectations not encoded in the license it's very clear that developers would just like to be able to release software with all those OSS benefits, but also to have a way to be compensated when AWS takes it, charges people to have it run it on an AWS server, and makes a ton of money.
I'm not denying AWS is adding value, but it sure is odd that they're the only ones making a dime there.
> I'm not denying AWS is adding value, but it sure is odd that they're the only ones making a dime there.
I don't understand what's odd about it. If ES were never open source and was a proprietary product from the beginning, there would be nothing stopping Amazon from paying for it and providing it as a service under contract from Elastic, if they thought it added enough value to make that worthwhile. Then they would both be profiting in a monetary sense from the relationship. But it's not a proprietary product (or at least, it wasn't previously)
This license case isn’t about “you can personally monetize it and nobody else” but rather “you and anyone else who wants to can try to monetize it”.
(Of course, for the Linux kernel, many companies don't comply with with the license either).
This feels like an oxymoron: if it's open source licensed there is explicitly no 'owner.'
* requiring code to be assigned by the author to a single person/company, consolidating ownership
* building your entire base on friendly licensed software (3BSD) and ducking any GPL
So it’s very easy to say, for example, that the Mozilla Foundation owns all the code that makes up Firefox - they won’t accept your pull request otherwise.
I figured if that worked, Elastic, Redis, MariaDB, Mongo, Timescale, and Cockroach Labs would have gone that route
It does not prevent someone from making billions off of doing nothing but hosting your software because they are better than you at hosting.
I'm like OP, trying to take a step back. What do we want here? As users? As developers? That no one does too much (or any) money hosting our software for other people willing to pay? Profit-sharing? On what basis?
Really, naively, apart from the use of the Elastic brand, that I might conceive could cause problems, who's hurting whom?
Sure, but maybe there's a way for the original creators to get more than $0 (while still satisfying OSS people)?
Is there a way to get the benefits of OSS AND for the creators to get more then zero dollars when someone makes a shitload of money off of just putting their software on an enterprise cloud?
> Is there a way to get the benefits of OSS AND for the creators to get more then zero dollars when someone makes a shitload of money off of just putting their software on an enterprise cloud?
You're basically asking if something can be simultaneously open and not open.
The benefits come precisely because someone can come along and create a successful business using your software without owing you anything. That is the reason for the benefits.
You also have to take into account that companies use OSS to gain adoption and pull off once they're established. This is why GPL and AGPL are essential. It ensure everyone has to contribute back.