It's more of a symbiotic relationship. The open source community depends on commercial support. Essentially all of the bigger projects indeed get a lot of their contributions from the companies that use, build, and depend on these projects. It's how the software world can collaborate with their competitors on the things they don't compete directly on.
This isn't charity, they are literally using more OSS software than they produce their own software. By several orders of magnitude in most cases. Companies like Google have many millions of lines of code in proprietary in house code. But they depend on an even larger amount of code in OSS form.
E.g. Android and Chrome OS are based on Linux. Those products are built on many thousands of open source packages. And of course Google is contributing to lots of them and created a few themselves. Chrome is open source because webkit was open source because Apple forked KHTML from the KDE project.
Open source without commercial companies contributing would be much more of a fringe thing.
VC funded OSS companies are a bit more challenging. These companies are perpetually confused about their licensing and need to keep things proprietary and open at the same time. These projects get a lot of attention because of the VC money but technically they only represent a tiny fraction of the OSS community.
> Companies like Google have many millions of lines of code in proprietary in house code. But they depend on an even larger amount of code in OSS form.
I don't think this is actually true:
1. The Google codebase is on the order of billions of lines of code, not millions.
2. It's basically all written in house, from the threading libraries and core standard libraries up. The parts that are open source (e.g. Linux, OpenJDK) are very small compared to the code they've written themselves.
ChromeOS and Android are open source, but they aren't even close to being the bulk of their codebase.
If Linux had never existed they'd have found some alternative, probably either a bulk licensing deal with a proprietary UNIX vendor or they'd have used Windows as the closest cheap Intel based alternative. Then they'd have put funding into developing their own in-house serving OS a lot earlier.
Source: I worked there.
> Chrome is open source because webkit was open source because Apple forked KHTML from the KDE project.
Chrome is open source for strategic reasons and because the executives in charge wanted it to be. There's no particular reason it has to be open. Safari and Edge aren't.
Webkit still is open source. Apple never owned the full copyright to it and they would have to do a complete rewrite to get out of that license, which is GPL and always has been. Safari is indeed closed source. But it uses webkit. For the same reason, Google is stuck with the same license and copyright situation. Whether they like it or not, webkit/kml/chromium are forever GPL. Nothing short of a complete rewrite can fix that.
I think you are grossly underestimating how dependent both companies are on various open source projects. It's definitely true that they also do a lot of in house code of course; and they also contribute a lot of their own projects. And of course especially Google is a repeat offender when it comes to creating a lot of dead projects, reinventing the wheel, etc. It looks like their attempt to create their own operating system kernel is slowly dying now. Fuchsia is all but dead at this point. So they are back to Linux being their only future. There's the whole Kotlin ecosystem, which they helped create, which is starting to compete with flutter. And so on.
WebKit isn't GPL, it's LGPL, which is why Safari is closed source.
I'm not really underestimating anything. I worked on the Google codebase for years. It has very little dependence on open source code relative to its overall size.
> Open source without commercial companies contributing would be much more of a fringe thing.
My conjecture is that open source is polished enough for most customers to use when there are commercial interests implied. Linux on the server is a resounding success, Linux desktop not so much.
Even on the server you're better off with the custom cloud offerings than using an off-the-shelf image.
That is the thing, what really won on server and embedded was UNIX/POSIX, and while GNU/Linux is the cheapest and more flexible way to achieve that, it isn't the only one, and the best experience is anyway with vendor custom distributions with their special sauce, not the pure FOSS one.
Even on the server, the commercial distributions dominate. Probably because of things like support.
And I wouldn't agree Linux desktop is unsuccessful. It's actually growing quite a bit in the last few years. And of course ChromeOS is also Linux based and capable of running Linux software. Likewise, MS bundles Linux with Windows and it is widely used by developers using Windows that way.
But even without that Linux Market share is now 4.5%. Quite a few gamers are discovering Linux works pretty well lately. With ChromeOS included it's closer to 6-7%. Linux on the Desktop is bigger than ChromeOS. I'd say it is getting better.
I disagree about the desktop not being a success but I guess it depends on how you define success. It's true that it's not as popular as some other OSes.
And it's also not great when companies that are positioned as implementation open source and cloud closed (read: AWS/Azure/GCP reseller) also construct strange licenses that are inherently against traditional OSS values.
> Another elephant in the room is that many of the popular open source projects are funded by big tech.
People have to put food on their table and can't work for free. Someone has to pay for that work. Nobody will pay for it if he can't extract some benefits from doing so.
Hard to be an alternative when you serve the same master.