One of the reasons large software projects, developed over many years, fail is that there are so many cooks participating in the making of the broth. There will always be someone who "knows better" than to follow the rules set in place when the project originally started. The project grows into a large ball of spaghetti, and nobody knows where it starts and where it ends.
Linus deserves a Noble Prize for keeping such a large project going strong for so many years, and that without any of the developers being his employees. Yes, the threat of being fired does prevents some of the cooks from spoiling the broth.
And then there are people who thrive in a political environment, and software development is very political. Some developers are very good at assigning and deflecting blame, and the larger the ball of spaghetti, the better they do.
Linus did not want to see his project fail this well-known way, so his rude comments are very much a necessity to keep the "know better" blame assigners/deflectors in line. So far the approach has worked fine.
In turn, this has created an environment where people who prefer to play the politics do not feel comfortable. And just as many people quit their jobs because they cannot put up with the politics, so do others quit from places where being political does not give them a competitive advantage.
I am reproducing Linus' words here (https://adtmag.com/blogs/dev-watch/2014/04/linus-torvalds-rants.aspx) :
"Because if you want me to 'act professional,' I can tell you that I'm not interested. I'm sitting in my home office wearing a bathrobe. The same way I'm not going to start wearing ties, I'm *also* not going to buy into the fake politeness, the lying, the office politics and backstabbing, the passive aggressiveness, and the buzzwords. Because THAT is what 'acting professionally' results in: people resort to all kinds of really nasty things because they are forced to act out their normal urges in unnatural ways."