A lot of people trying to defend being a jerk as necessary in these circumstances. I think Google culture proves the opposite: Googley code and peer reviews, blameless postmortems, and a host of other mechanisms that de-escalate and de-personalize things.
The Meltdown work at Google probably didn't begin with a rant about morons.
It's possible to construct a culture where people can air grievances and criticize others without inducing flame wars. It only works for Linus because people won't go nuclear in the response, but for rank and file engineers, especially of equal stature, if you call someone a moron in a thread, it's likely to kill productivity and create a negative testosterone ladden atmosphere of people trying to avoid being wrong, and counter attacking others.
I've worked at a lot of places where engineer got into heated shouting matches. It's is not a way to increase the probability of zeroing in on a problem, or reaching agreement faster.
Why is the top comment on this about engineering culture?!
Linus is valuable precisely because he occasionally d-slaps people around, waking them up, even when what he says may be factually wrong, and reminding them the at the core the tech must be sane, f people and their feelings!
Yeah, it's good to have a 1 in 1000 brilliant people being aholes because it keeps the culture balanced. We need a dose of rascality, and Linus can afford to embody it and seems to like doing it, and he's also good at fixing the consequences of his rants by being reasonable afterwards.
(If we're mature enough to accept that this can only be accepted of 1 in 1000 people or something like that, and that obviously not all people are born equal, we can move on and enjoy life.)
For the most part he actually does a good job staying away from personal attacks. The problem is that his approach isn't going to yield great results. For there's 2 problematic parts to this e-mail.
The first is the personal attack when he calls Intel engineers morons. That 1 little unnecessary addon is uncalled for because it's quite reasonable that there's a lot of politics going on at Intel that's interfering with the engineering work. Could be that the next chip they're taping out can't be fixed properly without delaying & impacting revenue in a way that execs won't allow. Could be that there's legal reasons whereby Intel's "fix" is desirable from a management perspective to continue their denial of a problem with their chips to win or reduce the costs of the class actions. Or it could be any number of a hundred other reasons that the public isn't privy to.
The second, & this is pure speculation on my part that this didn't happen, is that he should have followed this in an offline discussion with the engineer. This public shaming doesn't do any good & just entrenches the frontline representatives of Intel to be antagonistic with Linus rather than to be his allies. I feel like if Linus wanted to be truly effective here in impacting Intel's direction (especially given their constant need to minimize the scale & scope of this problem) he could have followed up with the engineer off-list & gone "your explanation doesn't make any sense. can you clue me in on what's the motivation behind this approach?". It saves the engineer public embarrassment, it gets him an ally within Intel & it lets him have strategic information on what is motivating Intel engineers (consider - did his finger to nVidia in any way improve relations between Linux & nVidia?). Now if he did that & the answer still wasn't OK then he's free to use his bully pulpit as he wishes, but I suspect it was just instinctive & a build up of his frustration with Intel's handling of this whole matter.
The first is the personal attack when he calls Intel engineers morons. That 1 little unnecessary addon is uncalled for because it's quite reasonable that there's a lot of politics going on (...) can't be fixed properly without delaying & impacting revenue in a way that execs won't allow.
If that is really the case, then calling the engineers morons is actually very much called for!
Note this is a hypothetical since it's quite possible it's not the case, in which case even by your logic the moron label is incorrect. So in your opinion engineers are unintelligent because they listen to the demands of people who can fire them or perhaps, god forbid, they're trying to balance technical solutions against revenue? That seems perfectly rational reasoning to me but that must be because I too am a moron.
Very reasonable objection. So the engineers should be called "moral morons" or "ethical morons" because they are willing to follow instructions that stick Intel customers with terrible security problems, to help Intel shore up their share price.
Maybe Linus is being deliberately ambiguous about the type of moron he means.
Or maybe read the thread beyond Linus' rant. You'll get a better appreciation for the context. My impression is that Linus probably just misunderstood what the context/purpose of the patch & he's frustrated by the whole process & venting (which is fine). One thing Linus chiming in did accomplish is that the Intel engineers did a much job better explaining the motivation for the patch. To be fair it would have probably helped if the Intel engineers called it out up-front & explained why that patch is there (although maybe they did - I didn't read too much of it). They explain they knew it would prompt some volatile discussion & was the one they weren't happy about (not that anyone is happy about these flaws) so they made it last so nothing else would depend on it. Once the context was explained other Linux engineers chimed in with a cleaner way to accomplish it. All of these are senior Intel SW engineers and AFAICT they seem extremely competent not just on the Linux part of it but also in terms of understanding all the security implications on the Intel chips (these are easy to hand-wave explain & very hard to fully understand & fix).
All these engineers are in impossible situations trying to fix years of chips while at the same time providing a path forward for chips without these issues. You can call them morons all you want but from the little bit I've read I'm very impressed with their professionalism & knowledge and 100% do not want to be in their shoes right now.
If you had been working in a company that had been stopping you from doing your job then by definition the projection of the results of your work is "the results of my work show that I am a moron".
If you took the brightest person on earth and stopped him from communicating would that still make him "the brightest but unable to share" or would that make him "an idiot who has never learnt how to communcate his opinion"?
I am pretty sure you would pick different names for the same person depending on the situation, especially when it's more complex than a toilet conversation.
It's kind of weird you spin it that way. I've seen all sorts of places and in general people at them bottom eventually stop communicating because people in the middle don't want to hear it. Just now I came out of a small session commemorating the death of a fellow engineer in his late 40s. His problem? Obesity combined with caring too much about things.
That's in fact the big summary of it all. Some people actually have families to take care of. Losing your job for most people is not an option. I personally don't care calling out bullshit, but I also don't have a wife and 3 kids. By that logic losing the job is the stupid option.
I guarantee you that both at intel and at VW people called out the crap from management, were threatened and then decided they don't care enough to risk their livelihoods.
Calling intel stupid is imho entirely justified, but your logic to me sounds weird.
I highly recommend reading the rest of the thread beyond just Linus' complaint. This isn't about Meltdown but Spectre which impacts all CPUs with speculative execution. I believe these patches apply to AMD too even though Intel engineers are posting them as they appear to be generic x86 code. Not only is David brilliant at defusing that situation, he provides quite a bit of context to clarify confusion for external readers while correcting Linus' potential misunderstanding of the patch too. The "moronic" patch Linus is complaining about is to fix Skylake that still is impacted by a potential exploit even with the though the other less ugly fixes fix the majority of chips. David even agrees with the unfortunateness of the whole situation & says he's OK dropping that last patch if Linus wants because the Skylake vulnerability is less clearly exploitable. Ingo provides a follow-up suggestion about a potentially cleaner & simpler way to fix just the Skylake issue which is great & the whole point of how RFCs are supposed to work. So not only does it look like Linus' may have overreacted, it didn't even move the conversation along in any way (angry responses rarely seem to).
> it didn't even move the conversation along in any way (angry responses rarely seem to).
From your other comment [0] it sounds like it worked perfectly. The angry response first got the Intel engineer to defend their work and explain it better than they originally had, then further got others interested enough to improve it.
> did his finger to nVidia in any way improve relations between Linux & nVidia
Purely anecdotal evidence, but in my experience the few pieces of hardware that I can generally bet they'll be fine with Linux are those branded Intel or NVidia (one may argue about the "optimus" thing, but if you want CUDA on a Linux laptop, nvidia's drivers do their job fine in the end, and this is what most Linux users will care about I guess)
Dunno the mechanics of it, but some things did work up just right about this :)
He may be technically correct in his assessment of the quality of the patches (I lack the necessary knowledge to even begin to assess it), but he does not go about explaining this in a sensible manner. He has never fostered a collaborative, inclusive atmosphere around the kernel.
If anybody at my workplace talked to a collaborator in that way they'd be in a chat with their manager minutes later, and if they persisted they'd be in a chat with HR.
For all that has been accomplished with the Linux kernel - and these achievements are huge and numerous and extremely impressive - I do wonder how much better things might have been if Linus was capable of criticising something without calling anybody a moron, swearing or throwing things.
What was in that email that needed that kind of language and tone? What could not have been said with a simple "I will not accept these patches" followed by a calm and dispassionate assessment of his issues with them? There's such an assessment in there somewhere, he's clearly thought it through, but one has to wade through the vitriol in order to get there. This is inefficient as well as hostile to contributors.
And these are people the community depends on for support, so we can run Linux on their products.
Most of Torvalds emails are not like this. In fact most of them are like you say, he explains his thoughts in a sensible manner. It's just when people play with fire that the lid comes of and makes the headlines.
A sensible mail discussing the details of some obscure technicality doesn't make HN frontpage.
I think that is important to note as well. His email normally gets the attention when he is pissed off. But the majority of them aren't.
It shows how angry he is, and how he is upset with the issues. While this could be avoided in a real world scenario, I would have bet if your manager feel something strongly about, they would have went rampant as well. And this is especially in remote working, words are hard to get feeling across without putting some "adjectives" into it.
> Has he ever acknowledged his attitude in any way?
Yes.
> I don't know where you happen to be based, but this 'you have to be nice' seems to be very popular in the US.
> The same way we have developers and marketing people and legal people who speak different languages, I think we can have some developers who are used to—and prefer—a more confrontational style, and still also have people who don't,
> Maybe it's just because I like arguing," Torvalds added. "I'm just not a huge believer in politeness and sensitivity being preferable over bluntly letting people know your feelings. But I also understand that other people are driven away by cursing and crass language when it all gets a bit too carried away.
That's your opinion. Others would say the greater asshole is one who refuses to confront morons with their own moronic behaviour. That person is denying the moron opportunity to self-reflect and improve themselves.
And before you interject, I would also assert that numbing the confrontation with "civility" also nullifies the effect.
Though being wrong and a jerk is definitely worse in a sense, personally I think that attitudes that qualify you as being a jerk only marginally help you in being honest.
The basic idea is that even if someone is a moron, calling them a moron isn't really.... doing much. Very little information, and a lot of rudeness. Telling them that their patch isn't mergable has more info and less raw rudeness IMO
I vehemently disagree for one very straightforward reason: this matter is far too important to prioritise civility over outcomes. This particular matter needs sunlight, and Torvalds' response is giving it a lot of sunlight.
An "inclusive atmosphere" is irrelevant. Pointless. I'd personally say it's counter-productive. There's no scenario where Torvalds' response is going to result in Intel abandoning the Linux ecosystem. The engineers at Intel can now go back to their managers and say "okay, we tried cutting corners and it didn't work."
This is such a broken argument. The one upside of behaving this way is that it makes the HN frontpage and one can argue about the value of that for the issue at hand. It's pretty much established fact that, all other things being equal, being an asshole to people doesn't further your objectives and generally just results in people either ignoring you or getting more defensive and less cooperative than they would otherwise be. Being socially inept is not exactly a rare trait amongst very smart people but let's recognise it for what it is, a personality flaw.
> Being socially inept is [...] a personality flaw.
That's a very dangerous and messed up reasoning. For a significant proportion of the population "society" is just a nasty scheme we put up with since we know not better way of not killing each other or exterminating ourselves as a species... Having to contort and torture one's personality just so you can be "socially adept" is a great pain, and when one occasionally gets away with being able not to do this it's NOT "a personality flaw".
One ought to care firstly for developing his/her personality in whichever way himself sees fit. If it doesn't fit well with society it's not a "flaw"!
(Yeah, if goes overboard and results in a team totally breaking up... even that is not a big deal! Some companies are worth breaking up into pieces. Heck, as long as people aren't literally killing each other it's still not "a flaw". Stop being insensitive and discriminating against people with other notions of relating themselves with the thinggy we call "society" and perpetuating this oppressive culture of admonishing people for being "socially inept". Maybe those people have something better to do with their lives!)
> just a nasty scheme we put up with since we know not better way of not killing each other or exterminating ourselves as a species
Sometimes I "have to do stuff to keep my wife happy." Once I discovered that I'm doing it because I want both her and myself to be happy, and stopped viewing it as an obligation, my life significantly improved. I learned to enjoy the ride. I think it made life a little better for the people around me, too. I learned that being petulant/sulky/edgy was not a sign of sophistication or wisdom.
Similarly, if we don't want to kill each other or exterminate ourselves as a species, then "society" doesn't have to feel so nasty. If you really do want to burn it all down, then by all means, go right ahead. At least that's authentic. But to choose to live amongst society, and still begrudge it, is insanely unhealthy. Literally.
I generally agree with you. My "begrudging" was mostly misdirected anger at the parent poster's attitude of labeling as "flawed personality" the act of very rarely and softly lashing out at society every now and then. Society only gets nasty when we forget its purpose and add too many restrictive rules on top of it and then rationalizations for those rules and so on...
This is obvious, and it's extremely sad to me that people believe otherwise and vehemently argue that Linus is justified in his pety rants. It was always pathetic.
The response is shockingly adult, given the culture Linus insists on trying to push:
What an excellent writeup, despite the tantrum Linus threw just a few replies earlier.
I'd highly recommend only reading the response and avoiding the Linus 'rant'. The rant contains no valuable information, the response is excellent and far more informative.
I'm sure I'll get downvoted though for calling Linus a baby, because somehow insulting Linus for his flaws is never ok but when Linus does it it's so cool!
> since the peanut gallery is paying lots of attention it's probably worth explaining it a little more for their benefit
> not just drop it quietly because poor Davey is too
scared that Linus might shout at him again
> If we can be done with the shouty part, I'd actually quite like to have a sensible discussion
None of this is adult. I'm not directly defending Linus' tone, or claiming that he's "more adult", but derogating and condescending the audience reading these public posts (1st quote), making cheap jokes about Linus' behaviour (2nd quote) and directly insulting Linus (3rd quote) is not what I would define as an "adult" response. Linus' email at least only gets angry and offensive while critiquing the code, and doesn't get personal.
> The rant contains no valuable information, the response is excellent and far more informative
Linus' "rant" informed me that Intel are setting IBRS as a default-off feature that must be asked for - offloading responsibility for security to the software. The response opens by condescending me, tells me that IBRS is expensive (we know), retpoline is performant, and the informativeness seems to stop there.
It then posits that as somehow justifying the offloading of said responsibility with the following:
> Then along came Paul with the cunning plan of "oh, indirect branches can be exploited? Screw it, let's not have any of those then", which is retpoline.
> But wait, why did I say "mostly"? Well, not everyone has a retpoline compiler yet... but OK, screw them; they need to update.
"Screw them" is the crux of his answer to Linus' concerns. Sorry, how is this in any way an adult response?
Really? The long technical explanation, with the word "shouty" is not adult? The plea for sensible discussion?
Your post isn't worth responding to beyond that. You've taken extreme liberties in your reading of his response. "Directly insulting Linus" lmfao are you fucking kidding me? You're calling "shouty" as directly insulting, when it's a response to "Fucking morons" writing "garbage" code? This is disingenuous at best if not willfully ignorant.
Cheap jokes about Linus's behavior?????
Seriously, take a step back and realize the loops you're jumping through to try to somehow justify Linus's behavior by attacking a reasoned response to it.
Yeah you're right. I should have worded that differently, my point was that in using the term "moron", he was focusing on the interface design: code.
Linus' tone is not really defensible, but I just don't think the response compares favourably either.
And, perhaps more importantly, Linus' concerns aren't addressed and the response isn't particularly informative. dwmw2 mentions in comments here on this HN thread that he has been pushing back on Linus' concerns, but the response appears rather to defend those decisions in Intel. Perhaps I misread?
At the end of the day, I just don't care about this tone argument. I only care that the issue is resolved properly, and like it or not, there's nobody I would trust to analyse an issue like this more than Linus.
People in this thread are making the (understandable) mistake of assuming that Linus' remarks were aimed at individual engineers at Intel. But they obviously weren't: they were clearly aimed at senior management at Intel to say "we're not going to accept garbage from you."
And I don't even care if it was garbage. Because either it was garbage, or they failed to demonstrate to Linus that it was not garbage. Either way this is entirely Intel's fault.
Not sure if you're trolling, but please chill out with the personal attacks. I'm sure it feels great to make a stand, but your comment doesn't add anything meaningful to the discussion besides demonstrating your hypocrisy.
Really? My comment doesn't add anything meaningful to the discussion?
I linked to a far more informative post that actually discusses a technical issue. Frankly, the response should have been what was linked on HN, not some rant.
I can't believe the irony of telling me to "chill out" with personal attacks when commenting on a rant that is majority perosnal attacks.
I too am interested in the detailed, specific discussion, so thank you for the link. But I also appreciate strong language calling out bad things with broad consequences. Especially by experts in fields I don't have expertise in. I appreciate the use of strong language as a signal of the current state of the solution and the probability of recurrence. Yes, Linus should modulate his language more. Yes, he's a dick. Yes, he would be more effective if he had more self-control. I just don't think this rant is entirely useless (though it's useless for reasons he did not intend so I can't give him full points)
Sometimes a rant is warranted. Sometimes it's time to get fired up and angry...
The issue occurs if you're not bulletproof on your position and then get too caught up on 'winning the argument' rather than solving the problem at hand.
This is why it's typically best to leave the theatrics aside unless absolutely necessary.
> I'm sure I'll get downvoted though for calling Linus a baby, because somehow insulting Linus for his flaws is never ok but when Linus does it it's so cool!
I'm pretty sure people aren't up in arms about Linus being a baby, but about your refusal to call out people on "subpar performance". Replace "subpar performance" with whatever you feel is an acceptable name for executing wrongly on very bad ideas.
And I feel like you might get downvoted because if there is one thing I HATE about companies, it's that people responding like this always get rewarded.
1) fuck up beyond belief (or just be assigned to a critical project and do nothing)
2) talk about the problem with everyone, without, of course, without fixing anything
3) inflict massive costs on everyone else because of the sudden urgent necessity of fixing your problem
4) get insane rewards for this
And I for one call statements such as the one from the top post here "optimism at it's finest":
> if you call someone a moron in a thread, it's likely to kill productivity and create a negative testosterone ladden atmosphere of people trying to avoid being wrong, and counter attacking others.
Unfortunately, corporate America is FULL, and I mean overloaded to the brim with people who will never admit the slightest mistake, and explode at anyone implying they made a subpar decision.
This attitude to "avoid blame" then proceeds to turn disaster into outright catastrophe. Many of these people who make some level of mistakes will see that not only can they get away with it, but aggressively attacking others for their mistakes comes with great rewards.
I have personally worked with several well known people in my field, who have climbed up the ladder this way. It isn't just that they didn't contribute, but they made great mistakes, both on the technical front (taking disastrous architectural decisions and forcing them through, despite agreement that there were very wrong), and on the financial front (doing budget allocations based on what THEY KNEW was a lost cause, and refusing to admit any fault or change course).
Once it does become clear that a disastrous mistake was made and propagated, and 90% of the budget was already spent (actually more like 150% in both cases), and none of the outcomes promised will be achieved, they then help organise a "code red", a "emergency sprint", an "extra effort", ... to "fix" things. But things are never fixed. Everyone is worse off, and will be for years.
The first few times this happens, these people are then rewarded. Promoted, in both cases. And of course, we are currently in the process of repeating one of these huge mistakes. Last time I so much as asked why this decision was made the guy very enthousiastically gave an answer, and I thought we both agreed it wasn't a good answer.
An hour later my manager asks to urgently see me.
A day later my director urgently called my manager and me to see him.
A week later we went to discuss "safety" with HR. (because of the 10 people thing, I'm sure, read on)
And yet, everybody, and I do mean everybody, knows this is a bad idea. However, having 50 people work for 1.5 years on a bad idea ... well those 50 people call it "a job", and nobody's going to be risking their career on calling this guy out any further (even if I did get 10 of them to walk into that director's office telling him that I did nothing wrong and that it's a bad idea).
But no worries ... no blame. We're still executing on that idea.
Here's the thing though. People always make mistakes. It's an unavoidable fact of life. The more power you have the bigger the scale of your fuckup. The problem is the denial of a problem (which Intel did in some ways & didn't in other) & making misleading statements. Those were all decisions not made at an engineering level BTW so berating an engineer won't help.
Finally, reading that thread further, it does seem like Linus's rant was a little premature & mistaken.
David really handles it well & explains in detail in what way Linus may be misunderstanding what's going on. It's hard to know if that response mollified Linus or if he still thinks it's bunk & that thread was just taken offline so that it wouldn't have the noise of useless spectators chiming in, but it seemed like Ingo was perhaps satisfied & moved the conversation back to a way to solve the Skylake problem in a maintainable & clean way without the undesirable implementation that was originally proposed (you know, the whole point of an RFC). An RFC typically means they were looking for feedback & discussion not getting yelled at, especially for things outside their control. That being said, I certainly understand how frustrated everyone is with this given the amount of work that's been put into this by everyone.
Engineering culture is fundamentally about learning from mistakes (either as a community or individually). We can't fear them & there are limits to how much you can go to prevent making them before you just get decision paralysis. For that reason mea culpas are also unproductive. You should acknowledge your actions & your role in it - if you think you behaved incorrectly then of course apologize if you want to - but the person would made mistakes is just as much a victim of their environment as others (i.e. if I threw you into their position without the benefit of hindsight, would you do necessarily do a better job?) Yes corporate America has issues (as does every human endeavour btw) but I'm not convinced that in any way has to do anything with this discussion.
You do realize Intel has decided to NOT fix this issue, right ? Surely some yelling about this is in order. (because fixing the issue would cost them in benchmarks)
> I'm sure I'll get downvoted though for calling Linus a baby, because somehow insulting Linus for his flaws is never ok but when Linus does it it's so cool!
And
> Downvote away!
You're being far over the top dramatic. It's unnecessary, your setup text did a perfectly fine job of making the argument. The two comments about downvoting detract from the substance.
Is it over the top dramatic because of the exclamation mark?
Regardless, I feel it's important to point out a consistent hypocrisy I've witnessed and experienced. I think it's totally relevant and substantive.
edit: I have no desire to continue a metadiscussion on downvoting. I don't care about downvotes, the downvotes are a symptom of an entirely relevant issue; a community that has a ridiculous double standard for Linus. It was not an attempt to attract or prevent downvotes, or to discuss downvotes, or downvoting, or the culture of voting on HN.
I brought up downvotes as an example of the underlying issue. Clearly I did a poor job of that as it's led to a number of unrelated comments. I apologize for the clutter that a one-off comment on hypocrisy has caused.
That includes votes you're expecting. It distracts from the substance of what you're trying to say.
If you're concerned or thinking about downvotes when you're composing your comment, rethink how you can phrase it: if you think you're "speaking truth to power", "saying what must be said", or "pointing out hypocrisy", or something similar, you're already starting from a position of antagonism, real or imagined. People aren't going to respond to that well. Figure out — or at least attempt to find — a way to express what you're trying to get across in a way that'll be actually heard and understood by those you're trying to reach. What's actually going to make a difference?
If you think that they can't be reached or it's not worth the effort to try to do so, it's likely not worth the effort to comment at all. Given that you are participating on HN, please do make the effort. After all, that's one of the features HN members value: good, quality, constructive discussion.
Attempting to preempt downvotes is passive aggressive and adds nothing to the conversation; adding emphasis is doubling down on that mistake. It never actually works toward preventing downvotes, and instead attracts them. That makes it difficult to know whether the person is trying to lure downvotes on purpose for self-fulfilling prophecy reasons, or whether they actually believe it helps to try to preempt such.
If your argument has merit, it can stand alone. Responding to an avalanche of downvotes after the fact is the only thing I've seen on HN that makes sense. For example to try to counter a perception (eg if you think your argument is being taken incorrectly, or challenging the downvoters to discuss why they're downvoting; that can draw out more substance to a conversation).
See my edit: I don't want to continue this discussion as I have a fairly high up comment and I think this is just a bunch of clutter for the purpose of meta discussion. Talk about 'makes for boring reading'.
A human being can only have one account on one website. How about this - you delete your post, and I delete my post, and we both contribute to the conversation by removing useless posts!
I dream of working on something where the criticism is so honest. Where I don’t have to read between the lines to understand how big of a deal a person considers an issue. Pussyfooting to lessen the blow benefits no one in the long run.
I often end up running my code reviews by other people first to make sure they’re gentle enough because I know people are overly sensitive/attached to their work. It’s a stupid dance and such a waste of everyone’s time. If we could just be honest with each other we could build great things.
I single handledly blame this culture of being nice instead of honest on the total undeniable loss of software qualified across the industry.
I posit there is no nice way to reflect when something is actual garbage. When it should go into the trash bin instead of being merged, even with modifications.
It’s never going to be nice to hear.
In lessening the blow you lose the message. You lose the true meaning. You lie.
I don't think there's a native English speaker in the world who reads the phrase "<x> is garbage" and interprets that literally as "this is just a metaphor for deciding not to use something and thus throwing it out." No, there's always vitriol, and the writer knows that, which is why they say it like that--because they're feeling vitriolic.
I'm sure you can imagine equally accurate ways to reject code contributions; it doesn't really take any creativity. When you say that the "true meaning" is lost, what you're really saying is the true meaning was to make the contributor feel bad. If you want to defend that, go ahead, but that intent needs to be out in the open, not hidden behind the plausible deniability of words.
The vitriol is the most important part of the message. If they don’t feel bad about what they’ve done what reason do they have not to do it again?
Without the vitriol you solve only the most immediate problem, when the true intention of calling something g garbage is to prevent many future problems. You learn nothing from being politely shoed off.
If the person you are criticising gives any kind of shit at all about doing a good job, they will supply their own 'feeling bad' when you demonstrate that they haven't done a good job. In this case, you adding vitriol is unnecessary.
If the person you are criticising doesn't give any kind of shit, then your vitriol will make them feel bad and dislike you, but it isn't going to improve their code quality, because they still don't care. (And if they answer to you directly, they are likely less motivated to do well next time now that you have acted like a prick)
If the person is not able to discern the difference between good and bad code, then it is useful to them if you can explain what it is that you are mad about when reviewing the code, but again in this case, vitriol without understanding just makes you seem like an arsehole to work with.
Are you arguing that it's impossible to learn without feeling bad about yourself? As in, you must feel personally ashamed and hurt, or else you're going to make the mistake again? If not, you're probably going to have to explain your position a little more, because that's how I'm reading it right now.
Note, this can't be some abstract equivalence between "feel bad" and "know you made a mistake," because if that's what you meant, then we're back to the vitriol being unnecessary.
Look back on your life. Do you remember the individual lessons in school? Unlikely. Do you remember the time you got sent to the principals office or the time you got yelled at for breaking a lamp or having a party? Much more likely. Lessons bundled with strong emotions make far better memories.
You learned pretty much everything that you are doing right now and I am fairly certain that 99% or more of that was learned without you feeling bad about yourself.
I for one can't remember a single lesson from school, yet I can still recall some of the stuff I learned and apply it, despite nobody yelling at me for doing it wrong at some point.
Being upfront and honest about stuff is all nice and good but when I give a code review or get one, I find it far better to constructively discuss stuff and not yell at people or insult them for whatever reason. Linus did not even ask why it was done that way, he did not have all the info. Would you prefer being instulted for doing something the "wrong" way, eventhough you had a perfectly good reason for doing it that way? Even if you knew it was "wrong" but there just isn't a good solution and you are just trying to fix the problem at hand?
For sure. The proximate lesson was 'make sure not to trust teacher X or administrator Z; those two are assholes who don't pay attention and just try to solve problems in whatever way is most personally convenient without caring about anyone else or what really happened or fairness.' It was an effective more general lesson in (a) what never to do if you want people to like or trust you, and (b) what to watch out for before trusting someone in a position of authority.
Well I don't remember any of that. Never was sent to the office, don't recall breaking anything save for one of my own plates recently. I do recall a few lessons though. Parties are more of a blur to me. If I recall something with strong emotions any other significant information will be lost. I am definitely personally not capable of learning from someone yelling at me. I will just feel remorse or awful about myself. That is not productive.
Being torn into and being called a moron, useless, pathetic, etc. leaves deep trauma that will bleed into other areas of your life. Even if you're tough and think you've brushed it off.
The idea that we're duty-bound to inflict emotional cruelty on people when we think they've made a mistake is probably the cause of most of the suffering we see in the world.
You can tell someone that their code is very bad and make sure they get it, without trying to twist the thumbscrews and make sure that they feel rotten to their very core.
Please use your thesaurus and enlighten me to how then I say “this code is garbage” in a nice way, while clearly communicating the full meaning of:
- this code is bad
- you should reassess your skills and values
that lead you to believe this was good
- your worldview may be flawed, look into that
- don’t do this again
- you should probably feel bad too, to attach
emotion to strengthen your memories of this
to make this a learning experience
Do you not understand the emotional cruelty of trying to say all 6 things at once to someone who (in theory) is actually trying to contribute?
Maybe someone is not trying. Maybe you're wasting your breath then. Maybe someone is trying, but has an incomplete world view. Ok great, now you've pissed them off instead of saying what's wrong.
Just say what's wrong with the code! That's what actually matters. Not that you think it's garbage.
I chuckled when I saw this. Google processes and code reviews are extremely passive aggressive and very much inefficient, focusing on things that do not matter to the end user. Lots of subtle politics going to do the smallest thing. Lack of care and quality shows. Google is hardly what one would want to emulate. It may be a business success but that is about it; it's as dysfunctional as anything of its size.
Funnily the first core value is focus on the user. Almost no one there ever cares or thinks from the perspective of the user in decision making. Users are incidental to the things that happen there.
I am finding the comments here about how Linus needs to behave properly, like they do at Google, amusing given how often Google and other for profit companies are portrayed as evil empires and FOSS is portrayed as the only moral antidote to the evils of capitalism.
Let Linus swear a little and suddenly those roles are entirely reversed? Really?
Isn't that kind of a non sequitur? The idea that "Google is evil" (not that I agree with it) and the idea that "It's possible to construct a culture where people can air grievances and criticize others without inducing flame wars [like at Google]" are arguments that have nothing to do with each other. There is no role reversal, even if we unreservedly accept both premises.
There is no separating out corporate culture from the fact that it is a corporation. FOSS is not a for profit corporation. Expecting it to function like one is not reasonable. Trying to impose corporate culture as the standard for FOSS is not only not reasonable, it is counterproductive.
If you want corporate software, cool. But if you want FOSS to exist at all, there has to be a fundamental acceptance of the fact that it will have a different culture and a different process.
I will add that his cussing spree here is in response to a for profit corporation trying to shit all over his project. But, hey, must be totes okay for them to shit on it since they didn't use any cuss words or raise their voice.
There is your so called corporate etiquette right there.
Positive team environment and corporate culture are not inextricably linked. They may overlap depending on the corporation in question, but they are not one in the same. This should be obvious since you can have a positive team environment on teams where no corporation is involved (e.g., hobby projects). Clearly the suggestion that FOSS should have a positive team environment cannot be the same as the suggestion that FOSS should have a corporate culture.
Think about how your logic would look flipped around. If leads at Google were encouraged to slap people down when they disagree with their suggestions, then you'd have to suddenly argue that Linus should change his tune because otherwise he'd be fostering a corporate culture, and FOSS must have a different culture than that.
Clearly that, too, would be a non sequitur.
As for the rest of what you said, I think you know no one is suggesting anything of the sort. There's no reason to straw man here.
A. Linus doesn't do this very often. Most of the time, he is perfectly well mannered. But we don't hear about that. We only hear about these incidents.
B. Most of his work conversations occur on the public record. So anyone can get hold of it when he gets riled. When a CEO gets riled, that is much more likely to occur privately and get covered up.
C. He created Linux for free. It is his passion. It shouldn't be surprising that he feels strongly about it when it is threatened.
D. A corporation is trying to fuck his project over, no doubt for personal financial gain. In my book, that is a vastly bigger offense than a little swearing. Etiquette that focuses on polite words and excuses more serious offenses is not a good thing. If corporate culture were really the better answer here, then Linus' tirade would have never happened because Intel would not be trying to crap all over Linux to begin with.
So I find it incomprehensible that anyone would suggest that the solution here is for Linus to operate more like BigCo. He is a guardian of a public good. He is defending it from corporate greed. The lack of moral responsibility of a large corporation is the very reason he is cussing. Expecting him to be more like them amounts to asking him to sell us all out for money and the sake of saving face in public rather than taking a stand on our behalf.
The real focus of this discussion should not be the language Linus used. It should be "What the hell, Intel?" But I am not seeing that focus.
And I can tell you why I am not seeing it: Because no one is surprised or shocked that a corporation would do something so terrible. In fact, we expect it. So we don't bother to try to hold corporations to a moral standard.
Instead, we expect people like Linus to meet a moral standard because he consistently does. Then we give him hell when that isn't an easy thing to do in this shitty world.
The real solution to this problem is to be pissed at Intel, not lecturing Linus that he needs to behave better, just like corporations do. A corporation is the root cause of this issue.
That isn't a straw man. It is the crux of the problem here.
I don't think Linus is wrong for how he interacts with people, but I do worry that people are so easily distracted by his display that the ensuing conversation about his behavior detracts from his message. Nearly every statement he makes like this devolves into musings on human psychology.
People tend to talk about that which is both trivial and emotional and will derail a discussion in that direction on the slightest opening. This is not peculiar to how Linus Torvalds gets treated. It is the default norm for human behavior. Talking about things with actual consequences is often decried as political and deemed not appropriate for civil, intellectual conversation.
Counter point is that Google, like Intel, puts profits ahead of doing the right thing, selling out its users to advertisers with virtual impunity because those same users are addicted to the "free" stuff that Google gives them. So maybe we need more prominent people like Torvalds calling bullshit on them too. Finally we are starting to get such voices re Facebook, but even those not as honest as Torvalds.
Even if I agreed with your sell-out criticism, what makes you think that hurling obscenities and insults at the executives would change that, vs a well written argument that the behavior is wrong and will have consequences that could harm the company?
Simply calling something garbage doesn't elicit change, our political system is the perfect example of that. It creates polarization which, due to human nature, makes can make people less motivated to work with you.
There's no even any evidence Intel did anything wrong. For decades, the market demanded performance, and VM based cloud computing was created long after speculative execution became an industry wide (not just Intel) optimization. The way we use CPUs has changed, our OSes have changed, the threat model has changed, and the sophistication of attacks has changed.
Future CPUs need to be designed from the ground up with modern cloud computing in mind and that's going to take 2 years at least given industry cycles. What do we do in the meantime with our current silicon is the question. Intel seems like they're trying to do the right think by handling failures in retpoline to offer full protection.
But maybe the conspiracies are right, but when has an accusation of some conspiratorial behavior ever been solved by people yelling and screaming moron and garbage?
It's just not the right way to perform an investigation IMHO.
Like most things we only see one part of these discussions. It might be so that this have built up under several weeks/conversations etc and when nothing happens something needs to be done. In a non-cooperative there’s no boss you can turn to when you are unhappy with the situation, in linux’s case few other actual platforms to “turn” to. What do you do when, online, mostly only have your reputation to influence people.
I’m not defending Linus per se, but he do have a really unique position and it’s probably not easy to be in that position and AFAIKT it works. Maybe if it would have been someone else the world would look, most probably, rather different.
It’s really easy to criticize, but frankly none of us knows how it is to be in his situation and I guess he has to deal with his fair share of trolls, morons and energy thieves.
Not just Google. This is standard in any major tech company. His behavior and abhorrent and there is no excuse. Tech should embrace mentoring, learning, constructive criticism, and learning from failures. Yes, this is hopefully a once in a lifetime situation -- but our values need to transcend that. This is not the first time that Linus has swept decency under the carpet. Linus would be such an HR issue at most companies and likely shown the door. If anyone is championing or approving his behavior, this will not win you support and 'points' long term.
I think the context in which Linus exists professionally is perennially misunderstood. IMO he basically has to be this way, or else the kernel would have been effectively stolen by [insert powerful tech company] at various crucial moments throughout its history. I see his particular position in technology as being truly unique, and that it essentially just requires somewhat exaggerated rhetoric and even superficially childish antics to protect the independence of the kernel.
This is not to say that Linus’ behavior is a good model for “how engineers should generally behave”. It just isn’t, and anyone behaving this way in a company should almost certainly be fired. I think he’d probably agree, to boot. But I could be wrong about that.
P.S. I hope I don’t come across with disagreeing with you about any of what you think tech “should” be. I totally agree with you.
Can you show me an example where a leader of an OSS project had reasonable discussions with other developers (read: n steps below calling them morons who write garbage code), and as a result their project was "stolen" by a powerful tech company?
Firefox + Mr. Robot for a very recent example. Someone at some level should have exclaimed angrily that pushing people an extension without their consent that fiddled with content was a “garbage idea for garbage people”.
Instead they lost face and now I and many other privacy concerned users can never trust Firefox ever again.
The firefox situation had more to do with the extension bypassing typical review processes than with engineers seeing the problem but not voicing their opinion. Many Mozilla engineers learned about that debacle the same time that we did.
Your question is constructed in just such a way as to make your point for you. Hopefully you’ll see that it’s far too specific of a demand as to truly support your position. Would you provide me with a less specifically bounded question that you think still captures your position on this?
I asked you to provide an example of the situation you described. I was as specific as you were.
I will try to be more straightforward.
You've stated that Linus has a unique role, and that he has to be this way or he'll lose the kernel/ essentially be worse at his job.
You've provided no examples or evidence (and I asked).
In your opinion, Linus must be this way, it is "just required" by his unique position. We have this totally unknowable position that you, for no apparent reason, assume is best suited to people who insult others publicly. And because this position is unique we can't compare him to others, by nature of the position.
You have essentially placed Linus in a position where you could basically justify anything. "Oh, well, it's a very unique role - you just have to be xyz for this sort of work".
The thing is, Linus's position may be unique, but it has a lot in common with lots of positions we have a good handle on. There are lots of open source leaders out there, lots of people who manage codebases, write code, etc. Maybe not exactly all of those things in exactly the same way, but we have plenty of similar positions.
I do not imagine a community so vehemently defending members of those positions who act like Linus. By your own admission this is a bad model for others in the same exact industry with similar roles - you even say they should be fired for acting the way he does.
So I guess my question is; what unique aspect of Linus's role makes him so different from everyone else with incredibly similar roles? What evidence is there that, against everything we know about positions like the one he fills, acting the way he does is the right way for his role?
His behavior and abhorrent and there is no excuse.
Does he owe you anything? Are you co-workers? Are you in his employ? It´s FOSS. If you don´t like it, walk away. The Linux kernel is his creation, his baby, and he runs the show. You don´t like his behavior? You don´t like his attitude? Fork the code, make your own mailinglist, get a bunch of people to submit patches, and knock yourself out.
I get that he is a "public figure in tech" and all that, but he owes you nothing - I failed to read the memo where he declared to act as a figurehead for proper behavior, or where he agreed to be an example or anything like that.
You are right on some level, but there may be exceptions to the rule. Keep in mind that Google may never have grown beyond its first years without Linux (and Linus guiding it). There was no other economically viable option with development at the state of the art, at least in those days (the late 90s).
Is this public discussion an attempt to "zero in" on this problem? Does anyone outside of Intel "agree" with their current approach? This is a more reasonable situation for the Torvalds method than many others in which he uses it.
>
That's why my initial idea, as implemented in this RFC patchset, was to
stick with IBRS on Skylake, and use retpoline everywhere else. I'll
give you "garbage patches", but they weren't being "just mindlessly
sent around". If we're going to drop IBRS support and accept the
caveats, then let's do it as a conscious decision having seen what it
would look like, not just drop it quietly because poor Davey is too
scared that Linus might shout at him again. :)
>
If we can be done with the shouty part, I'd actually quite like to have
a sensible discussion about when, if ever, we do IBPB on context switch
(ptraceability and dumpable have both been suggested) and when, if
ever, we set STIPB in userspace.
Those seem relevant to the thread. That said - it's really a good read for a technical overview of the issues and patches.
Possibly, but I don't think that arguments, even heated ones, aren't without benefits that may not be otherwise obtainable. Arguments require passion and commitment, you have to care about something to get heated over it face-to-face and when you, as an adult, get upset over something you are putting your reputation on the line to some extent. This motivates some people.
This provokes an interesting question-does googles desire for a very... harmonious work environment have any relationship with their reputation for project ADD?
For me, one of the more difficult type of engineers to work with aren't people low in tech skills or other traditional lacking, but engineers who can't deal with failings generated by other people, in a rational and civilised manner.
Anyone building anything of modicum importance is going to fail. Moreover, failures can be institutional, i.e any process or lack of process, which significantly increases the chances of failure. These have to be dealt with at an institutional level. If the failure is personal, I.e caused by traits specific to the person, can it be resolved by having a better feedback loop. Many reasons to be angry but very few to express it in a confrontational manner. I have many brilliant friends I wouldn’t work with for the above reason.
I agree wholeheartedly that it is not a good way to live. I don't enjoy it.
> I've worked at a lot of places where engineer got into heated shouting matches. It's is not a way to increase the probability of zeroing in on a problem, or reaching agreement faster.
That hasn't been my experience. A boss at a previous job and I often had heated discussions about technologies and direction. It worked for us. We came to great solutions that neither of us started advocating. Years after I left, we are still good friends.
One lady we worked with started keeping a nerf gun on her desk if we got too close to her while arguing. This was the problem for me.
It wasn't good for us to fall back on raised voices to accomplish discussion. It accomplished the goals, but it did it in a way that was bad for our psyche. Even if we are both willing participants in that, we were effecting others who were both not willing participants AND unwilling to speak up because we were both her senior.
So I say fuck that. There is a way to say what needs to be said without being an asshole or spending time trying to make it politically correct. You just have to say the core of what you are trying to say, without the asshole flair attached to it.
Google culture is jerky in it's own way though. The demonization of James Damore was disgusting. Trying to silence educated voices from responding to request for comments on the topic is wrong.
what does work culture have to do with any of this? you want people to always behave as if they are at work? I rather not. companies have no desire to allow any kind of speech that would hamper productivity or create bad PR.
For what it's worth, I would definitely rather work under Linus than at Google. Google seems, from speaking to people who work there, thoroughly unpleasant.
The Meltdown work at Google probably didn't begin with a rant about morons.
It's possible to construct a culture where people can air grievances and criticize others without inducing flame wars. It only works for Linus because people won't go nuclear in the response, but for rank and file engineers, especially of equal stature, if you call someone a moron in a thread, it's likely to kill productivity and create a negative testosterone ladden atmosphere of people trying to avoid being wrong, and counter attacking others.
I've worked at a lot of places where engineer got into heated shouting matches. It's is not a way to increase the probability of zeroing in on a problem, or reaching agreement faster.