Quite honestly, I don't see any of this in the thread in question.
The problem is that while you make pty.c have the correct behavior, lots of legacy userland code relies on the current implementation. Since as kernel developers, we must avoid breaking userland code at all costs, a better solution is to change the behavior, but implement a compatibility layer. Once enough userland code has been fixed, we can remove the compatibility layer. This has been our standard approach for these types of issues, and I think it would work here. While I understand how frustrating it is to not be able to fix this once and for all, I think we need to address our users' needs first.
Shorter, nicer, more to the point, and with much less time wasted on emotional outbursts.
That's not to mention your snippet above would have received the same exact pushback (maybe more) from Alan at the time since Alan believed he was in the right.
At the same time, do you really believe that the only way to get people to see the error of their ways is to be as harsh as Linus usually is and to resort to personal attacks (referring to your line about how he could and should have been harsher)? This is indeed Linus's usual style. The reality is that maintaining some basic level of respect with your colleagues would mean not losing great kernel developers to Linus's outbursts. Alan leaving was a big deal and was widely publicized. How many others have left to never return after receiving a nastygram from Linus?
Let's take it further: if your boss publicly called you a "fucking idiot" as Linus is known to do, every time you screwed up, would you want to continue working for her? Chances are, most people would resign on the stop.
Lastly, I disagree. Even if Alan still thought he was right after receiving my version of the email, he would have a much harder time arguing with a more reasoned version. He would certainly be less likely to throw his hands up in the air and leave the team. This whole "Linus needs to be an asshole sociopath to get shit done" is simply not true: most effective project managers don't resort to this type of behavior because they have better ways to get things done. Linus has fallen into this MO, and it's working for him, but I argue that if he was a better manager and a nicer person he would get more stuff done, not less.
I think we can both agree on this point.
Typically, when I've noticed Linus explode at someone on the mailing list, he is usually the last person to put his 2 cents in. As-in, many others in the mailing list and bug trackers are the first to point out the problem(s) yet the maintainer/patch-submitter argues back and refuses any changes. Usually after a long while, someone pings Linus and asks for his involvement (the kernel is far too large for any single person to be paying great attention to all components). Linus typically comes in as the last line and just unleashes at someone who has already made a much larger problem than it ought to have been -- sort-of the "buck stops here" thing.
The most prominent example I can think of off the top of my head is the Kay Sievers fiasco. People had been going back and forth with Kay for weeks/months before Linus finally weighed in. It resulted in Linus banning any PR's from Kay.
I don't condone all of Linus' outbursts -- but we do need to remember it's the internet and more importantly a select group of people on the LKML... it's not an office building where cordiality trumps directness. Sometimes being direct is the best approach, even in "real life".
Linus is never direct. He takes the scenic route, describing, someone's ancestry, mental capacity, and personal hygiene (figuratively speaking), and only after he is done taking down the individual, does he get to the actual behavior. His exchange with Kay could have been much shorter too:
"Kay, this behavior is unacceptable here. I read through the threads and it looks like you are causing real problems. Because of this, I am blocking any future PR'a from you."
More simple, direct, addresses behavior and let's everyone know that the buck stops with him. And this probably would have taken much less time than his actual rant.
He was direct in the discussion with Alan Cox that this thread started with. He didn't act the way you described in this case.
It takes a lot to get Linus to the point of a rant of the kind you describe, and they are exceedingly rare compared to his usual behaviour.