The "Constructive" version will be handwaved by submitting the same code again and giving literally any deflecting excuse like "You're just afraid of using new technology like this function.
Right, in fact, if I were the developer who wrote that shit, I would probably think twice about doing any work on the code. Not because I was insulted but because I would be scared. I don't know about this specific situation and maybe it's political/religious. But maybe the girl/guy just wrote this code because they thought it was the best solution. Being screamed at by an authority like that (even if they don't mention you by name) would be quite demoralizing to me. But I guess you can argue that I just don't have what it takes to be a Linux contributor then..
The Linux Kernel doesn't exist to validate your opinion of yourself, but to literally support the world's software infrastructure. Which is more important.
Did you read the thread? The programmer who wrote the original patch is arguing with him, just as he would have had Linus' reply been polite. I seems that vitriol does not have the power you think it does.
The lesson a lot of people are going to learn from this is, "Don't submit any code to Linux." Not submitting code like this is merely going to be a small side effect. Especially since Linus doesn't explain his reasoning so there's no real way to know if the next chunk of code is going to displease him or not.
The lesson a lot of people are going to learn from
this is, "Don't submit any code to Linux."
That's true, but not really a problem. Linux is one of the most popular open source projects out there.It seems to have a different agenda anyway, that the shouting is unacceptable regardless of any benefit. I'm not sure I go along with that either.
Watch me! (not really, but if I wanted to troll Linus, rants like that would serve as encouragement)
Also using the compiler builtins is the most secure, most readable, least error-prone and fastest way of implementing overflow checks.
>In one of the talks by Linus he spoke of a developer who felt suicidal because Linus didn't want to include some work this particular dev had done. Linus didn't cut the shit short when he should have, he let it drag out too long, which is why he acts the way he does now. It's a defence for him and the developers in the community.
What is more, people remember abusive posts and will remember the mistakes.
All those "the way I see it" and "I think" clauses in rewritten version is a false modesty, reeking of pretense and BS. There's also that closing "thank you" that is as disingenuous as it gets. That's just like thanking someone who just washed your car with a cloth full of sand. Yes, there was an effort involved, and the intent might've been good, but do they deserve a Thank You? No, of course, they don't.
An addition I'd make to Eisenberg's version would be something along the lines of "To be honest, I'm extremely furious this kind of code was attempted to be submitted at all - these are basic issues that I expect everyone to adhere to. I don't want to see this kind of mistake again."
TL;DR: different choice of words in writing help to compensate the lack of metainformation present in human communication like body language, tone of voice and choice of venue (like closed doors).
Reposting from the other thread:
Although the polite version is semantically identical the syntax of the message in many cases as important as the message itself.
Much of what makes human communication universally intelligible across cultures and languages like tone of voice or body language is lost in writing and the human tendency is to replace it with similar substitutes as it helps to convey meta-information that would be hard to convey otherwise.
I believe if one would analyze every single email sent by Linux to the list the great majority of them would have similar syntax to the polite English above but, of course, those wouldn't make the news.
The bitter rants seem to be reserved to the cases where it is imperative that everybody, involved or not, understand very clearly why that behaviour is not tolerable and the reason for that. Similar cases like the refusal to merge Kay Sievers further submissions [1] until he cleaned up and owned up to his mistakes or the reprieve of a maintainer [2] that broke userland with a kernel commit seems to follow the same pattern.
The difference to a professional setting is that, in person in a company, one can always call a closed doors meeting and express with tone of voice and body language the same message without the public spectacle. Even in those cases, specially when everybody knows what it mean to be called to the boss presence, it can be as embarrassing and intimidating as what happens in those forums.
[1] http://lkml.iu.edu/hypermail/linux/kernel/1404.0/01331.html