Your customers, potential competitors, and even hyperscalers are all possibly the same people at different points. AGPL works because corporate lawyers are horrified by it, not because it actually discriminates against hyperscalers. If you find something that even sane lawyers wouldn't tolerate, then you have greatly limited the benefits of being open source in the first place. If you make a license that actually discriminates on user or use case, then it's not open source.
If you want to protect your project from being resold by potential competitors, do not release it as open source.
I think this problem might solve itself, though. Slowly but surely, companies and power users have become very wary of VC funded companies making big promises and big open source releases, with the knowledge that there is rarely a plan for sustainability and that there is a good chance if they stand on that rug it could be pulled later. Soon, if trends continue, the advantages that you once got from announcing something as open source will start to evaporate and turn into a liability as people start seeing ahead to the eventual "but of course we have to be able to monetize this eventually" stage.
The way I see it, a project can always be open sourced later on once there's a way to do it and ensure the company can remain sustainable. For the flagship product of a company, especially a VC-funded company, not starting open source is the ethical thing to do.
> For the flagship product of a company, especially a VC-funded company, not starting open source is the ethical thing to do.
I can't even..
Seriously, I don't understand where your argument is coming from. Because, if you look at it from the greater good perspective, commercial open-source is one of the only venues to build high quality software that can be freely self-hosted, modified and built-upon. Yet, you basically push for people building closed source software, due to what I understand is dogmatic believe of what open-source should mean.
> If you make a license that actually discriminates on user or use case, then it's not open source.
Based on a definition, bought and sponsored by the hyperscaler lobbies. Why the hell would discriminating against hyperscaller selling the product makes it non "open-source". 99.9999% users of open-source are not hyperscaler wanting to host and sell the product and will get value from the project.
Firstly, no it wasn't. The history of the open source definition and OSI are interesting, including hijacking a term that was already in use, but the hyperscalers had nothing to do with it. I'll avoid restating Wikipedia, it's enough to say that's not right.
Secondly, you can call it whatever you want but "open source" licenses that discriminate against user and use case are useless. Even if I just want to use something like a data structure implementation from your "open source" release in some unrelated project, I now have to inherit all of this baggage about your competitors. That just doesn't make any sense. The endgame of that is an ecosystem of open source that ultimately serves absolutely nobody except for maybe startup PR needs.
> The endgame of that is an ecosystem of open source that ultimately serves absolutely nobody except for maybe startup PR needs.
We self-host n8n, which by definition not open-source, and love it. It serves us. Not just n8n PR. That is the case for almost all self served products for non-commercial reasons
This is extremely confusing. I'm just talking about how it would harm the open source ecosystem if we allowed things that were not open source to be advertised as open source (and how it's bad when something is unopened after people start relying on it being open). I am not claiming that only open source software is good for society. Like, I don't really think it's a coincidence that GNU, DSFG and OSI all remain in relative agreement for decades over what makes something truly free or open source. They weren't all bought and sold by hyperscalers. There's reasons for the freedoms that are required to meet the definitions.
On the other hand, I think you can release shared source and closed source software that is still plenty useful and beneficial. For example, I am a very big fan of how Unreal Engine is licensed. Yes, it isn't "open source" and it isn't marketed as such. You can't take Unreal Engine components and go use them elsewhere even if you're not competing with Epic Games. Still, they provide some extremely powerful and useful software free of charge to basically all independent game developers. I think that's fantastic.
But that's all aside from what open source is. Unreal Engine isn't open source and it doesn't do anything for the open source ecosystem. Which is fine, because the entire world doesn't revolve around open source.
There is clearly a tension here where a bunch of people want to call their software open source without actually believing in what open source actually means. And this is absurd because it is betraying the fact that it's a marketing term. It seems like a bunch of startups realize that if they're trying to market to certain kinds of developers, if the software isn't open source, they won't touch it.
You seem to believe that we shouldn't create closed source software but at the same time directly advocating for it—that's what it is that's what you're describing. If you want a more practical and less idealistic reason why it sucks when software companies prevent people like AWS from using their software, it's because the actual users of your software, the customers of AWS, wish to pay AWS to host it for them. They would like to hire the lovely folks who work at AWS to host and manage the software for them and the license prevents that. You are preventing your users from doing what they want with the software. And that's the rub, that's why it's important to not discriminate based off of use.
Open source means Amazon pillages you and takes your margin. Period.
That just isn't going to work anymore.
The hyperscalers know this and they want you to keep building software this way. They'll write a managed version of your thing and collect all your money.
Fair source would be "customers can use this in an unlimited way as long as they don't sell a managed version".
That's what we need to do. Carve out the ability to make money for the originators doing the work.
Open source has turned us all into serfs working on giant kingdoms we don't own.
NOTE ALSO, the OSI has been so corporate captured that their definition of open source AI is not at all open. You shouldn't trust them at all.
I find it odd that lots of people talk about the OSI being corporate captured but I don't defer to them as to what 'counts'. I couldn't care less what the OSI does or approves of. Any software that grants users the four freedoms is Open Source—it's the same criteria to be Free Software which is decidedly not at all corporate captured and hasn't ever changed. The very first freedom of Free Software the freedom to run it for any purpose. It's not some small detail.
>> There is clearly a tension here where a bunch of people want to call their software open source without actually believing in what open source actually means.
So much this. If Open Source is a marketing term then companies are free to call whatever they do "Open Source" and the term becomes meaningless. You may as well call the software "Free Range".
On the other hand if Open Source is a defined thing, built around a specific definition, and the 4 freedoms, and so on, (hint: it is) then the marketing term could lead you places you don't want to go.
So there's a generation of programmers who want to "redefine" Open Source to suit their preferences. Dilute the definition until it's meaningless. I'm strongly against this.
To be clear everyone is welcome to use any license, with any restriction they like. But if it doesn't conform to the OSI definition don't call it Open Source.
Stop trying to turn a technical specification into a generic marketing term.
The term Open Source was coned because ESR, Bruce Perens and co. didn't like the term "Free Software" - they were afraid it will scare the software business away. At that epoch it was logical as software was mostly sold as a product, even a physical one. One of the arguments of OSI is you can build your services around OSS, just like Red Hat did.
Fast forward a few decades and it turns out you no longer can because any software you build in this way will be used by Amazon and they will earn the money, not you. From this PoV, pure OSS is almost hurting web-based software ecosystem development.
> Stop trying to turn a technical specification into a generic marketing term.
It's already gone.
OpenAI, OpenArt, OpenWeb, OpenSea, OpenGov
The OSI is fucked too. The OSI definition of "open source AI" is horrible as you can't replicate or easily modify the systems without the data and tooling that the OSI definition doesn't require.
If AI eats software and the OSI definition of "open" AI wins, then we've already been captured by big business marketing.
I would love to hear your explanation for why you think that statement is an invocation of "no true Scotsman" of all things. Are you sure you know what that means?
> that enables your customers to use you freely [...] There are such licenses
There are such licenses only if you change the definition of "freely" to fit the narrative. Historically, "freely" (as in "free software") means granting end-user four essential software freedoms:
- The freedom to run the program as you wish, for any purpose (freedom 0).
- The freedom to study how the program works, and change it to make it do what you wish (freedom 1). Access to the source code is a precondition for this.
- The freedom to redistribute copies so you can help others (freedom 2).
- The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.
If I can't redistribute ("resell") software, or can't run it and let others access it for a fee - it's not "use freely" anymore.
It is also an example of why I, as an end user, prefer FOSS licenses. The possibility of forking. The redistribution clauses there do not prevent forks, but definitely make them less likely, so you remain dependent on a single supplier.
The problem is that it creates a lot of uncertainty. For example, with this license, what usage is commercial? Can you distribute it to customers who buy other things from you? Can you offer services related to it - e.g. can you install it for a customer?
If you modify the software under what terms are your modifications distributed? Do they have to be distributed under the same terms? There is not transfer of copyright so the original authors cannot distribute the modified version commercially as part of their enterprise edition, that means that every modified version is a fork that cannot be merged back in?
As I said in another comment discouraging forks is a disadvantage for users as it leaves you dependant on one supplier.
The AGPL achieves the aim of deterring the likes of Amazon from providing the software as a service (at least without contributing their changes back, in practice the will not use it at all) without these sorts of problems.
AGPL will stop Amazon. It won't stop WP Engine.
There needs to be a license that enables your customers to use you freely, but not your competitors from reselling your hard work.