Linus is stubborn, persistent, and unyielding to what he sees as bullshit. These I believe are all very valuable qualities for the head of a massive software project, and may be part of the reason as to why Linux is where it is today. However, Linus is also a bit of an asshole, turning technical criticism into personal seemingly personal attacks. I believe those 2 sets of qualities are separable, but I would guess it…
The key, I find, is to be extremely direct and brutal in one on ones. Don't hold back, but be very supportive and positive when more than two people present. I try to explain this to be people I work with, but I don't think everyone appreciates it. Horrible people, in my opinion, are those that do the opposite.
I wonder why people don't appreciate that advice.
"Direct" does not need to go hand-in-hand with "brutal". Don't change your behavior based on who's watching; people deserve to be treated well regardless.
EDIT: For clarity, I'm not necessarily suggesting this is the intention, but rather, that this would be the net effect, and a problem with that approach.