Posted
by
timothy
on Sunday July 27, 2014 @01:40PM
from the you'll-never-believe-what-he-actually-said dept.

hypnosec (2231454) writes to point out a pointed critique from Linus Torvalds of GCC 4.9.0. after a random panic was discovered in a load balance function in Linux 3.16-rc6. in an email to the Linux kernel mailing list outlining two separate but possibly related bugs, Linus describes the compiler as "terminally broken," and worse ("pure and utter sh*t," only with no asterisk). A slice: "Lookie here, your compiler does some absolutely insane things with the
spilling, including spilling a *constant*. For chrissake, that
compiler shouldn't have been allowed to graduate from kindergarten.
We're talking "sloth that was dropped on the head as a baby" level
retardation levels here .... Anyway, this is not a kernel bug. This is your compiler creating
completely broken code. We may need to add a warning to make sure
nobody compiles with gcc-4.9.0, and the Debian people should probably
downgrate their shiny new compiler."

...the people who deserve the apology are the people who were subject to an abusive tirade.

You can point out someone made a mistake. There's no obligation to be "nice" when doing so. There is an obligation to not be abusive, which is what Linus repeatedly does. Abuse includes mockery, ridicule, name calling, etc.

He's being a bully, pure and simple - using his popularity to shove around others. That should not be tolerated, full stop.

none of which was aimed even remotely in the direction of gcc developers personally, but rather to the compiler version one of linus' own peers was using. and using language style the recipient and the mailing list (his mailing list, btw, not gcc's) are likely accustomed to whenever linus runs into a really stupid issue that is none of theirs' fault.

have you just learned to read recently? were you dropped on your head into a pile of sloth droppings as an infant? fail the sat critical reading exam? i know it must be embarrassing, but you'll get better over time, maybe. now *those* were targeted at you directly, not your keyboard's output itself. see the difference?

>("Getting the job done" does not, and has never required being abusive to others. Getting the job done while being abusive is not proof that being abusive is required or even was part of, "getting the job done.")

Hmmm.. I'm going to disagree here. Being verbally abusive is a technique to demand change in an organization. We all like to think leaders all command respect and everyone just follows them because they're the leader. Bullshit. One technique, employed by MANY leaders is being a total fucking asshole, at least part of the time. You think anyone would be talking about this GCC bullshit (and if what Torvalds says is right, it's really completely fucked up, and not excusable) if Linus just put a nice, politely worded request to just fix shit? I don't think so. But even if he was nice and polite, and got the thing fixed, there's little or no consequence for the fuckup, so it can happen again. If you're coding GCC, maybe you might at least sub-consciously think "boy, I better not release utter shit, or I'll catch some serious shit from that asshole Linus Torvalds... what a cock gobbling asshole that Torvalds is".

This idea you have that everything can work in a nice polite society where everyone has mutual respect for each other can work sometimes, in limited capacities. But the norm is for assholes like Linus to sometimes throw shit-fits, and others to work in fear of having a shit-fit thrown at them sometimes.

Is that the ONLY way to run an organization? Probably not, but as another thread points out, it's a common pattern of effective leaders.

Let's see:
(1) Microsoft had one guy who dumped on people by calling them "random" (kind of a great insult, actually) and another guy who threw chairs. Dipstick score: 2 Results: tops in their industry.

(3) Linux exists at all, despite being given away for free, decades after it was introduced. It is ubiquitous, runs on mainframes and thimbles, and more cell phones than iOS. Chief penguinisto occasionally says "This crap tastes like crap." Dipstick score: 0 Results: most improbably popular free code ever.

Seems like 2014 just might have been the year of Linux on the desktop if Linus had taken some chair-throwing, and stock-option-hoarding lessons from his peers.

The fact that you don't know what does and does not constitute the kernel is a tribute to your cluelessness. Extra points for not knowing that Linus always openly acknowleges that he doesn't do most of the work but still gets most of the credit. Linus is actually a very humble guy. He just doesn't suffer fools well, which explains your butthurt completely, of course.

The problem stems from your lack of understanding of humility. Often people confuse confidence and knowlege with arrogance. They also confuse the willingness to have and express strong opinions with arrogance. None of these things are arrogance. In other words, if you really are smarter than the mass of men, knowing that is not arrogance. Indeed, we have a classification for people who actually are better at something and know it but pretend they are not. It is called false humility. Being humble means acknowleging ones strengths and weaknesses, as well as not believing that ones strengths make them a more valuable human being.

People who lack humility don't make self deprecating jokes. Ever.

If you investigate why he chose git as the name for his SCM tool, you will start to get an idea of his humility. When he says that others do all the work and he gets all the credit, he is specifically being openly self-deprecating. If you really believe he doesn't do a shit ton of the very important work then you are quite mistaken. After all, who tracked down this very subtle bug, which requires an in depth knowlege of both the kernel and assembly language?

Finally, most of the criticism that comes his way comes from people who don't understand his humor. You can watch his 1995 Google talk on git, where he calls people who use SVN ugly and stupid, to see an example of his humor. If you really think he is arrogant then you are ugly and stupid:-)

I agree the major distributions have botched almost all of those. Can you site any MAJOR bugs in release ( ie even numbered minor version kernels without -rc etc on the end of them) that issues?

I can't recall any. Like any large complex software project Linux has had its share of bugs but I have been using it in various capacities for 15 years and I can't recall anything in a non-development release that made me go "Good God how did that get past QA".

I'd say pretty much every protected-mode/mode switching assembly line in 2.0/2.2, and the USB stack issues in 2.4.12 - 2.4.22. And the whole swap mechanism of pre-2.6 (and specially pre-2.4). And the shitty shitty DOS-style syscalls in x86! Wtf was that? Intel/AMD even came up with a shiny new instruction, since apparently linux devs (Linus?) cannot be bothered in reading about level switching with call gates.
Anyway, dreadful bugs? Can't recall any major one. I did have some linux machines locking up rando

I disagree. Political correctness of the 90s has led to today's "rule" that all opinions are valid and of equal value when anyone with a functional brain knows they are not. Linus is merely saying what ought to be said. Maybe a little public ridicule will be the motivating force to ensure that this sort of thing doesn't happen again.

Your argument applies to itself. You are accusing people of abdicating judgment: your solution is to not judge Linus! Furthermore, you are confusing criticism of the messenger with criticism of the message; as SuperBanana points out, this is a straw man argument.

Not all opinions are valid and equal: nor are all means of expressing them. We have the right to speak freely; we also have the right to judge such speech as invalid or unacceptable. I suggest this right to judge is in fact an obligation. Silence implies consent. Abusive behavior should be called out. You may argue that Linus was not abusive, but to argue that we should never make such judgments in the first place is to fall prey to the false equivalence you decry.

This has nothing to do with political correctness; this has to do with being polite and professional. A useful attitude when dealing with other people, and that goes double when you are a public figure whose word carries a lot of weight. You and he may think being abusive is fine and gets results, well, more power to you. But it also means people will simply start avoiding you and your projects.

6 years ago I set myself a goal that I have reached since: to never work for any asshole again, and to set myself up so that I can comfortably walk away from any job. Now I know I can walk away, and it makes a world of difference in the way I approach my work. My managers also know it, and it makes a difference there too, and in my view I enjoy an altogether healthier working relationship with them. The world needs Linus more than it needs most of us, but that doesn't mean any of us have to stand there and take his abuse while kowtowing to him. The guy needs a good dose of humility.

Your job (most jobs anyway) includes working with others. Yes, fucking up too often will ultimately get you fired, but if you think a sterling reputation as a coder will let you get away with being an a-hole, think again. Abrasive personalities and prima-donna attitudes can ruin a team just as badly as a poor coder, and if you regularly rip into other developers in public for making mistakes, you will likely be the one being called in for a serious conversation with your manager.

Strawman argument. Nobody except you has posited that "all opinions are valid", and nobody suggested that criticisms can't be made. You invented that position to attack it.

I specifically said: it's fine to tell people they did something wrong. What you may not do is be abusive.

Actually, I can be abusive if I choose to be. It may not win me many friends and it may alienate the ones I do have, but I can certainly do so if I want.

Whether or not Linus advances Linux because of, or in spite of, being abusive is an open question.

As Louis Brandeis (and correctly, IMHO) pointed out, "If there be time to expose through discussion the falsehood and fallacies, to avert the evil by the process of education, the remedy to be applied is more speech, not enforced silence."

If some smears his own feces on a wall and they are:- 2 years old; you scold them gently and clean them up first, then the wall.- 20 years old; yeah... not so much. If a little abuse is all you get you're probably lucky.

You've asserted several times that people may not be abusive, and other people have run with some kind of silly argument that Linus isn't, but neither your assertion nor their tangent makes you right.

The only way to cajole passive aggressives into taking action is to shame them publicly. That's why they whine like little babies and play the victim role. Unfortunately, passive aggressive dynamics run so much of society nowadays that they've been codified into law as 'rights', and the bluntness/truth that contradicts them, 'hate crimes.'

A well placed 'Fuck you!' can save years and years of mountainous, expensive political tugs of war.

Linus only goes off the rails like this for nothing but complete and utter unforgivable incompetence. They deserve exactly what he said. He calls it like it is, and I respect him for that. No beating around the bush when people are doing the most horrible of "mistakes".

Sticks and stones. I'd rather face honest anger than than a disingenuous veneer of reasonableness. And this isn't the first (or second or third) time in the last couple years GCC has been found to have optimized something into wrong code.

If you'd actually read the linked mailing list post (or even just read the quotes of it in the summary) you'd see that none of the abusive comments are aimed at people, they're aimed at the code. He calls the code a bunch of mean, nasty, insulting things, but he doesn't say anything about the people who worked or released that code. I think the distinction is important here. It's not abuse if there's nobody to be abused.

Secondarily: if you read the rest of the thread, he goes on to work with everyone very productively on tracking down the exact nature of the underlying bugs, posts deep analyses of the code generation differences, proposes a patch for his own kernel to work around this GCC bug, and goes and files the upstream Bugzilla report with the GCC team himself. On the whole I'd say this is pretty responsible and cooperative behavior.

If you'd actually read the linked mailing list post (or even just read the quotes of it in the summary) you'd see that none of the abusive comments are aimed at people, they're aimed at the code. He calls the code a bunch of mean, nasty, insulting things, but he doesn't say anything about the people who worked or released that code. I think the distinction is important here. It's not abuse if there's nobody to be abused.

Secondarily: if you read the rest of the thread, he goes on to work with everyone very productively on tracking down the exact nature of the underlying bugs, posts deep analyses of the code generation differences, proposes a patch for his own kernel to work around this GCC bug, and goes and files the upstream Bugzilla report with the GCC team himself. On the whole I'd say this is pretty responsible and cooperative behavior.

What are you doing bringing objective facts into a Slashdot debate, I mean SWJdot?

Perhaps. But, if you cared to look at the other posts on the thread, you'd see how calm and rationale he was. Or look at the gcc bug report he filed. The gcc bug has gotten fixed

I've met Linus in the flesh a number of years back and he is truly a calm and mellow guy. He only does the "bullying" for the "shock effect" to get people [with strong egos] to actually start _thinking_.

And there is some precedent for this. A number of years back, gcc was doing an illegal code motion optimization across a spinlock. After literally hundreds of posts on the gcc mailing list about how this wasn't a bug, Linus started using muscle. I would have, too, at that point. When somebody finally pointed out that the optimization was actually violating requirements in the memory model of the [then] upcoming ISO C spec, it took another hundred or so posts before they actually believed one of their own [gcc people].

Since that time, the gcc folks have become more receptive to [rather than dismissive of] bugs filed by the kernel people--which is a good thing.

I'm super tired of this BS argument. I'm sick and tired of high performing professional being criticized for expecting high standards from others. Not every job requires or should have an abstraction layer of "people development," "life coaching," or professional courtesy and pleasantries. Some jobs, the jobs that truly change of course of human events requires breathtaking sacrifice, most significantly of all, putting aside ones ego when called out. If someone calls me an idiot for being wrong, whether justified or not, I'm still wrong and I accept it. If my performance is so shoddy that I get called out as incompetent, than an introspective person should have the maturity to realize that he or she caused such frustration to the other person that such words were uttered. To be able to take this is the sign of a true professional and leader. If you can't take the heat, just GTFO of the way, and go work at a Fortune 500 with regular white collar people with thin skin.

Sorry, but in an environment driven by praise and scorn more than money, this type of feedback is not only effective, but also probably essential. The absolute sharpest development environment I've ever worked in (in 16 years as a professional programmer) was an environment of harsh, ultra critical abuse and genuine unadulterated excitement and praise on success.

Linus verbally abuses people who shit out bad code because it reduces the likelihood that others will shit out bad code. He also cares about the c

I've been doing Linux development for about 15 years - including lots of kernel work. I never have, nor ever would posted anything to the kernel mailing lists. With a few exceptions - like when I can hand it off to someone else or go through a third-party - is rather have one of my patches die - than to submit it. Reason? I've seen this kind of attitude and "abuse" and - quite frankly - would never want to subject myself to this kind of abuse should anything I say or submit be erroneous and have to tolerate listening to how "retarded" I or my work is. Personal feelings aside - I wouldn't want such very public commentary about me or my work living in such a perminant and searchable archive - say by some future employeer. I wonder if I'm alone. I wonder if others have the same attitude. I wonder if some of the actual smartest people in the world (not me) might have done some great work - but would be too shy to ever let themselves be noticed.

Oh, I'll be polite when it's called for.
But when people who know better send me crap, I'll curse at them.
I suspect you'll notice me cursing *way* more at top developers than
random people on the list. I expect more from them, and conversely
I'll be a lot more upset when they do something that I really think
was not great.
For example, my latest cursing explosion was for the x86 maintainers,
and it comes from the fact that I *know* they know to do better. The
x86 tip pulls have generally been through way more testing than most
other pulls I get (not just compiling, but even booting randconfigs
etc). So when an x86 pull request comes in that clearly missed that
expected level of quality, I go to town.
Similarly, you will see fireworks if some long-term maintainer makes
excuses for breaking user space etc. That will make me go into
incoherent rages.
The "polite Linus" example that you point to? That was a maintainer
asking for direction for when things went wrong and *before* sending
me something dubious. Of course I'm polite then.
Sarah, I don't have Tourettes syndrome. You seem to think that my
cursing is uncontrolled and random. I argue that it has causes. Big
difference.

Yes. And I do it partly (mostly) because it's who I am, and partly because I honestly despise being subtle or "nice".
The fact is, people need to know what my position on things are. And I can't just say "please don't do that", because people won't listen. I say "On the internet, nobody can hear you being subtle," and I mean it.
And I definitely am not willing to string people along, either. I've had that happen too—not telling people clearly enough that I don't like their approach, they go on to re-architect something, and get really upset when I am then not willing to take their work.
Sarah, first off, I don't have that many tools at hand. Secondly, I simply don't believe in being polite or politically correct. And you can point at all those cultural factors where some cultures are not happy with confrontation (and feel free to make it about gender too—I think that's almost entirely cultural too). And please bring up "cultural sensitivity" while at it. And I'll give you back that same "cultural sensitivity". Please be sensitive to _my_ culture too.

some people don't believe in going "oh I'm sorry dear, you are an awesome sugar plum fairy but your performance in this little area was below expectations, especially when it is quite clear said person should know far better given their position of responsibility.

He is clear, to the point, and gets things done.

This is not abuse, this is quite clearly saying that it is screwed, and how it is screwed. It is productive conversation.

All of linus' tirades are followed by an in-depth message detailing in what way they are wrong, being direct and to the point is his style, which he is entitled to.

If calling for standards of quality in a very direct way is abuse.. well.. start a new kernel where you accept any old tripe and see how it goes? And only interact/depend on with projects who have a similar standard and means of management.

Linus is a very pragmatic, practical engineer. Don't let feelings get in the way of practical needs people. His style works far better than most.

To be fair, the tirade occurred on the Linux Kernel mailing list and was intra-kernel team bitching. This wasn't directed at the gcc devs personally - he was telling another kernel dev that the output of from his version of gcc was crap. It's a snapshot of a mailing list conversation, not an official statement.

His actual bug report [gnu.org] was professional and courteous. He thanked the gcc devs for quickly coming up with a fix.

Here's how a REAL professional behaves [usatoday.com]. The CEO of Boeing told analysis that he makes his employees "cower", and actually thought that would be a funny joke. Everyone knew that Steve Jobs was something of an asshole [forbes.com]. So is Jeff Bezos and Bill Gates. A lot of the most famous and effective military leaders were real sons of bitches as well. Patton comes to mind, as does his long-time rival, Monty. Norman Schwarzkopf was known for his fiery temper, which gave him the nickname "Stormin' Norman".

Most professional communities are rather pragmatic, and ultimately rewards *success* above all else, unless you cross over a very big line, like doing something illegal, or embarrassing your company to such a degree that it has a negative effect on business (e.g. Patton slapping a soldier). There may something about those personality types that are driven to succeed. It's not universal, of course. Pete Carrol, the head coach of last year's Superbowl winning Seattle Seahawks, is known for being a very nice and laid-back guy [bostonherald.com], and doesn't fit the typical mode of the "screamer" type coaches we've all seen.

Look, I'm not going to defend Torvold's rants. I think they're childish as well, but let's not kid ourselves. These sort of rants and worse happen all the time in "professional" environments. Would it be great if people were universally nicer to each other? Sure. But when getting a job done, is being nice or being competent more important?

Oh, I'll be polite when it's called for.
But when people who know better send me crap, I'll curse at them.
I suspect you'll notice me cursing *way* more at top developers than
random people on the list. I expect more from them, and conversely
I'll be a lot more upset when they do something that I really think
was not great.
For example, my latest cursing explosion was for the x86 maintainers,
and it comes from the fact that I *know* they know to do better. The
x86 tip pulls have generally been through way more testing than most
other pulls I get (not just compiling, but even booting randconfigs
etc). So when an x86 pull request comes in that clearly missed that
expected level of quality, I go to town.
Similarly, you will see fireworks if some long-term maintainer makes
excuses for breaking user space etc. That will make me go into
incoherent rages.
The "polite Linus" example that you point to? That was a maintainer
asking for direction for when things went wrong and *before* sending
me something dubious. Of course I'm polite then.
Sarah, I don't have Tourettes syndrome. You seem to think that my
cursing is uncontrolled and random. I argue that it has causes. Big
difference.

Yes. And I do it partly (mostly) because it's who I am, and partly because I honestly despise being subtle or "nice". The fact is, people need to know what my position on things are. And I can't just say "please don't do that", because people won't listen.
I say "On the internet, nobody can hear you being subtle," and I mean it. And I definitely am not willing to string people along, either. I've had that happen too—not telling people clearly enough that I don't like their approach, they go on to re-architect something, and get really upset when I am then not willing to take their work. Sarah, first off, I don't have that many tools at hand.
Secondly, I simply don't believe in being polite or politically correct. And you can point at all those cultural factors where some cultures are not happy with confrontation (and feel free to make it about gender too—I think that's almost entirely cultural too). And please bring up "cultural sensitivity" while at it. And I'll give you back that same "cultural sensitivity". Please be sensitive to _my_ culture too.

In effect you are whining that calling a crap code submission crap is not professional. Linus is a very pragmatic and practical man. That so many people want everything to go smoothly and politely even when shitty things are submitted/done reflects poorly on that "everyone is a winner" kind of culture that propagates that mentality.

We should not prioritize peoples feelings over code quality. If something horribly break things that we've known for a while and know they are capable of better, we should be able to tell people that that was crap and we expect more of them without them whinging to the political correctness police yelling "abuse".

This mentality seems to keep on spreading amongst the new generations, and I fear for what the software development industry will look like in fifty years with all of the pragmatic people thrown out by those more concerned of peoples feelings.

It's not ginned up outrage to waste dozens of man hours for someone else's mistake. GCC can be considered a Teir 1 OSS project. For a major point release to have an issue that, if verified, causes the founder of Linux to call it crap, then raw criticism is warranted. Raw, unfiltered , communication amongst trusted engineers leads to better outcome, I have found in my career. Keep the politically correct crap outside of the engineering room.

Or upgrade to llvm. Being above to compile with either gcc or llvm would be a nice option.

It's amazed me how attitudes from LLVM in the last few years has gone from:"OMG WTF why is Apple doing their own compiler why can't they contribute to GCC they want to make everything proprietary"To:"Hey, LLVM is a pretty great tool."

Compiler bugs are the worst. No matter how carefully you analyse the program you wrote, you can't see the bug, yet the crashes keep happening.When the code being run isn't the code that was written, all bets are off.

Oh gosh a compiler bug! The world is going to end and GCC is terminally broken for ever and ever and ever. Life happens, and occasionally that includes compiler bugs. I've seen fewer bugs in GCC than any other production compiler ever.

Anyway, it seems like GCC is implementing a very obscure compiler option incorrectly in some circumstances which causes a crash.

But of course this is cue for lamentations of how awful and braindead GCC is and so much drama.

End result, the GCC people will fix this bug in short order (what are GCC point releases for anyway), and distributers will probably have a patch package out for 4.9.0 before 4.9.1 ships (what are distributors for anyway?) and the world will keep turning and GCC will go back from being the buggy broken braindead piece of shit to yet again being the most solid production compiler in existence.

It's a little ironic that the he's so quick to attack the GCC people. The success of Linux is 100% built off the success of GCC. There have been no other credible compilers for Linux throughout the majority of its existence and without GCC being bulletproof, Linux would never have been solid.

Claiming the GCC crew will 'fix this bug in short order' is like claiming Obama is leading the charge in transparent government.

Care to take a wager that it will be fixed in 4.9.1?

GCC has never been a solid production compiler.

Utter crap, bordering on an outright lie.

The list of systems I've developed on is something like: PCs, Sun, SGI, HP, AIX, PICs, 8051, Blackfin, ARM, AVR and probably a bunch I've forgotten about. I've used very many compilers over the years. There has not been one that can match GCC in solidity and general lack of bugs.

You'd lose that wager. The bug was fixed in the trunk before Linus even reported it but the fix didn't make it into 4.9.1.

For those who didn't bother reading through the LKML discussion and GCC bug reports: GCC 4.5.0 started doing bad things when a certain combination of flags was set, causing it to potentially use the stack pointer red zone [wikipedia.org] even if explicitly told not to. This usually didn't lead to problems because the most programs can afford not to care about whether the red zone is used. The kernel can't; if you use the red zone in the wrong place your system crashes. This was only noticed in 4.9.0 because that version changed around some unrelated code which now caused the kernel to be compiled in such a way that the bug became relevant.

Yea, my first thought when I read that was 'How retarded is timothy to think that implying a word without using the actual word is any different'. Its stupid. Its like saying 'the n word'. We all know EXACTLY what you mean, you're just too chicken shit to actually say it.

Remember, that's the guy that said "Nvidia, F*CK YOU!". http://www.youtube.com/watch?v... [youtube.com]
He's a passionate, colorful character...he's been like that for as long as I can remember him. Thank god there's still awesome nerds out there that just can't be bought.

I don't understand it anymore. How are we not beyond the need to replace random letters with asterix? I mean honestly, the summary goes on to comment about it. It's a waste of space. Just fucking say it already.

Linus is right, GCC is braindead. Its code is purposely opaque and has huge maintenance problems. This is not the first time GCC is the source of suffering. I remember the bug in 2.95 causing all sorts of grief.

It would be interesting if the kernel devs switched to clang like FreeBSD has done. Even just the threat of doing so could give at least a good rivalry and competition usually means the one who improves the fastest will survive.

Seriously, the GCC is a prestige project just like the kernel. You have to have the basics of your particular software development field down, otherwise you have no business whatsoever lost in these projects. I don't know the details and I certainly can't judge them, but from the broad perspective it seems like somebody did something akin to not avalidating and filtering your input or pushing windows-1252 but presenting it as UTF-8 or something in webdevelopment and it passed all the way through evaluation, testing, merging, release management, etc. right into the final GCC release. Which does reflect on to the entire team and project.

Bottom line: When Linus has released rants like these in the past he usually was spot on and dead right. The GCC has gotten some flak for it's shittyness lately, and it looks like they haven't improved their process much yet.

Does it matter? What matters is that Tridge fucked around and violated the licence and the fallout hit Linus in the form of having to do a lot of unnecessary work. Being only human this appeared to have made him angry.

I have no idea why you brought the GPL into it

Try reading the above post entire instead of key words then. It's only three lines long. I can wait.If you use software it's only fair to stick to the licence the creator wished you to use - if you don't like it use som

%rpb is the base pointer. The offset is negative because the local variables live below the base pointer (being in-scope only after the base pointer is moved to the current function); -X(%rbp) points to a local variable.

Yeah, let's pretend that 80+% of the world isn't using Android, not to mention supercomputers or huge server deployments.
What you're missing is not everyone is using an IBM compatible PC and play games whole day in their mom's basement.

Linus is quite lenient compared to the leadership at microsoft or apple. The latter are more interested in appearance than they are in technical excellence because appearance is all that matters when appealing to their non-tech customers. The problems lie where these products must be maintained by technical people for the non technical customer who is usually their boss.

If you can make a good case for your position/code, linus will listen to you.. If you're full of shit or crying like a

Because every truly competent developer agrrees with him. We all hate incompetence, and Linus speaks for us all when he lays in to some incompetent for sullying the gene pool of software developers everywhere. Linus' approach has a truly wonderful effect. The incompetent people run away crying "Ohh Noze! He was mean to me! Doesn't he know that I have a right to be incompetent and still be treated with kid gloves??!!!". The competent people say "Thank you Linus for saying what we all wanted to say!" and continue to develop. I have no idea if the effect of his tirades is intentional, but make no mistake about it. It is not merely acceptable. It is ideal.

Unlike a corporate structure, where you don't get yelled if you play the game right.

If you are incompetent, please don't develop linux kernel code. Go work for a corporation.You'll find you're a better fit, and if you play your cards right, you won't get yelled at no matter how bad you are at your job.