Hacker News new | past | comments | ask | show | jobs | submit login

Ooof. If I'm reading that thread correctly, Linus wanted to leave in a bug that would probably allow a local attacker (or maybe even a remote attacker) to execute arbitrary code in the kernel, just to avoid the risk of breaking userland code that did questionable thing that happened to work before by fixing it.

So reading this thread, I keep asking "could Linus have said what he needed to say in nicer terms and gotten better results?" I think so. In every Linus rant I encounter he goes on and on about the problem, then the person causing the problem, and typically attacks the developer. It's one thing to rule with an iron fist, it's another to target individuals and not the behavior.

> It's one thing to rule with an iron fist, it's another to target individuals and not the behavior.

Quite honestly, I don't see any of this in the thread in question.

Where he's practically yelling "WHY?". Here's how it could be re-written to be a more effective email:

"Hey Alan,

The problem is that while you make pty.c have the correct behavior, lots of legacy userland code relies on the current implementation. Since as kernel developers, we must avoid breaking userland code at all costs, a better solution is to change the behavior, but implement a compatibility layer. Once enough userland code has been fixed, we can remove the compatibility layer. This has been our standard approach for these types of issues, and I think it would work here. While I understand how frustrating it is to not be able to fix this once and for all, I think we need to address our users' needs first.

Thanks, Linus"

Shorter, nicer, more to the point, and with much less time wasted on emotional outbursts.

The bottom line is a kernel developer, a senior kernel developer at that, should know this already, and should never violate the golden rule of kernel development, and if they did somehow, should not argue against reverting their userland-breaking changes. Seems to me, given the circumstances, Linus was much more reserved than he could/should of been. A great way to make people think twice before doing something stupid is to call them on the carpet when they do something stupid. There was no name calling, no profanity, no personal attacks here.

That's not to mention your snippet above would have received the same exact pushback (maybe more) from Alan at the time since Alan believed he was in the right.

I agree, it's strange that Alan knowingly broke userland, and then argued that he was right. Something more must have been going on.

At the same time, do you really believe that the only way to get people to see the error of their ways is to be as harsh as Linus usually is and to resort to personal attacks (referring to your line about how he could and should have been harsher)? This is indeed Linus's usual style. The reality is that maintaining some basic level of respect with your colleagues would mean not losing great kernel developers to Linus's outbursts. Alan leaving was a big deal and was widely publicized. How many others have left to never return after receiving a nastygram from Linus?

Let's take it further: if your boss publicly called you a "fucking idiot" as Linus is known to do, every time you screwed up, would you want to continue working for her? Chances are, most people would resign on the stop.

Lastly, I disagree. Even if Alan still thought he was right after receiving my version of the email, he would have a much harder time arguing with a more reasoned version. He would certainly be less likely to throw his hands up in the air and leave the team. This whole "Linus needs to be an asshole sociopath to get shit done" is simply not true: most effective project managers don't resort to this type of behavior because they have better ways to get things done. Linus has fallen into this MO, and it's working for him, but I argue that if he was a better manager and a nicer person he would get more stuff done, not less.

> Something more must have been going on.

I think we can both agree on this point.

Typically, when I've noticed Linus explode at someone on the mailing list, he is usually the last person to put his 2 cents in. As-in, many others in the mailing list and bug trackers are the first to point out the problem(s) yet the maintainer/patch-submitter argues back and refuses any changes. Usually after a long while, someone pings Linus and asks for his involvement (the kernel is far too large for any single person to be paying great attention to all components). Linus typically comes in as the last line and just unleashes at someone who has already made a much larger problem than it ought to have been -- sort-of the "buck stops here" thing.

The most prominent example I can think of off the top of my head is the Kay Sievers fiasco. People had been going back and forth with Kay for weeks/months before Linus finally weighed in. It resulted in Linus banning any PR's from Kay.

I don't condone all of Linus' outbursts -- but we do need to remember it's the internet and more importantly a select group of people on the LKML... it's not an office building where cordiality trumps directness. Sometimes being direct is the best approach, even in "real life".

Agreed on most points except last.

Linus is never direct. He takes the scenic route, describing, someone's ancestry, mental capacity, and personal hygiene (figuratively speaking), and only after he is done taking down the individual, does he get to the actual behavior. His exchange with Kay could have been much shorter too:

"Kay, this behavior is unacceptable here. I read through the threads and it looks like you are causing real problems. Because of this, I am blocking any future PR'a from you."

More simple, direct, addresses behavior and let's everyone know that the buck stops with him. And this probably would have taken much less time than his actual rant.

> Linus is never direct.

He was direct in the discussion with Alan Cox that this thread started with. He didn't act the way you described in this case.

It takes a lot to get Linus to the point of a rant of the kind you describe, and they are exceedingly rare compared to his usual behaviour.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact