not just for the question of how a contributor should be treated, but also for the question of how a leader should act.
If a leader is able to get world-beating results by being an asshole, then so be it. That leader has beaten the world, and I am not going to quibble with success. If a leader is an asshole and subpar output is the result, then by all means, tell them to treat their team differently.
Team dynamics are a complicated thing. You just don't fuck with a winning team. If they are using four letter words all the time and sacrificing live chickens at midnight, but the results are running circles around everyone else, I for one do not want them to stop, even if it would save a chicken's life.
At the same time, if they are doing all of these things and the results are uneven or poor, then by all means, change the behavior.
In this case, I'd say that the results of Linux kernel development speak for themselves. And if you just don't belong in the culture, then go somewhere else. If the culture starts to be counterproductive, give the world a great, big "I told you so!" and collect your profits on the book deal. But otherwise, to expect people to fuck up a successful operation for your feelings, for manners, or for high-minded ethics concerns is just bad juju. It's not lawyering or doctoring, ethical concerns are not front and center. It's software. The goal is that it works and works well, and in fact that's the highest ethical aspiration *of* software, given the many critical ways in which it gets used in today's world.
The value to the users is first. The comfort of the developers is second. If the culture and development process are working well, get the hell out of the way if you don't like them. As this person has done. So—problem solved.