Ok, but then if everyone switches to BSD, won't it suffer the same fate? I.e. whenever something goes mainstream, corporations are drawn to it like insects to a lightbulb.
Companies are free to do whatever they want with BSD and as such they don't need to try to affect the way things are going. If that wasn't the case we would possible see, for example, Sony trying very hard to influence the development of FreeBSD because they use that in their PlayStation products.
And yet they do anyway. Netflix contributed network code to FreeBSD. In so doing, they took code they had developed and handed over the maintenance to the FreeBSD team.
I think this is the biggest incentive companies have for making contributions to open source: they don't want to pay engineers to keep maintaining their own patches forever.
I didn't understand that argument at all. The GPL mandates that companies release their code. That's it. There's no rule that the code has to be upstreamed or that the companies need to try to make other projects use it. To the extent such behavior is incentivized, it should be incentivized just as much with more permissively-licensed code.
I always understood the argument to be that for rapidly changing projects you might be forced to upstream your GPL code or face an uncomfortably high maintenance burden of constantly rebasing it. Linux almost purposefully does this, it's kind of like a "soft" vendor lock in. Linux kernel interfaces change regularly, and if you don't upstream your code you need to commit time to fixing what breaks. If you upstream, then someone else will handle updating your code for you for free. The more regularly they churn the internal interfaces the more it costs to maintain external patches and the more appealing upstreaming becomes.
The end result is lots of companies jamming their code upstream because it is cheaper (or they are soft-required) to do so, not because it is good for the project. The benefit is you have large corporate contributions, with the possible downside that the companies want to take your software in a different direction than you do (i.e. Microsoft embracing/extending).
The BSD license doesn't try to strongarm people into contributing, and the BSD projects are open to being a base for other projects. This is bad because companies may not contribute back to you. It is good because it means that you don't have 20 companies pressuring you do make decisions. They've gone in their 20 directions and they want you to continue to be a solid base for them to build on.
I think a lot of people (me included) like the feel of this way more. When you read through FreeBSD you don't see the legacy code from a bunch of corporations mixed in, you just see the good stuff. People contribute because they want to even though it's more work, versus reluctantly contributing because it's less work. Not saying permissive licenses are perfect and don't have their own problems, just explaining why they might have different advantages.
But imagine if Linux used the BSD license and FreeBSD used the GPL license. Absent any other philosophical changes to how each project was managed, I don't think the incentives to upstream projects would be any different. Sony would dump a bunch of code on their website somewhere (which would be excellent, because others could study and use it as desired), and little else would change.
You know, this happened before. Back when Unix and BSD were new. The end result was AIX, HP-UX, Irix, Solaris, SunOS and a bunch more. Oh, and the way that there was no good response to Windows NT.
Linux is very, very much more coherent than that chaos.
this is not an argument, this idea that non mainstream is better is harmful , you could and should use bsd over Linux for real argument like loving the idea of "monolithic os", the problem whit the Linux foundation (one or all), or the problem of abundance nesting in most of Linux but it inst about being mainstream, they still exist project whit difference approaches some less orthodox, or non corporation, i think Linux have more robust ecosystems, the thinks works out of the box is a and approach who let people let in the ecosystems like corporations, example if you don't want systemd make a distro(share it please) or use one of the already existing once LTS or rolling realizes approach.