Hacker News new | past | comments | ask | show | jobs | submit login
[flagged] Linus and Pull Requests (2012) (github.com/torvalds)
43 points by submagr on March 6, 2021 | hide | past | favorite | 70 comments



This was an interesting comment thread, and honestly you have to hand it to Linus for continuing to respond and expand on his viewpoints in a pretty level-headed way.

Also, I was reading through it on a phone, which brought to light an interesting point regarding the hard line-wrapping discussion that occurs further on down the thread: when you hard-wrap your lines, you're also defining a minimum line width, under which lines break in awful jagged ways.

I can understand the rationale for hard-wrapping in commit messages, but it drives me up a wall when people use it in things like email or Markdown documents.


Was he level-headed? Talking like that at work might get me fired.

It would be better if he just ignored the PR instead of making a scene.

Maybe I’m just sensitive


> Was he level-headed? Talking like that at work might get me fired.

In my experience, this is very much a cultural thing.

The way Linus talks is the usual way that people talk at most of the workplaces I've been at over the years in Australia. However, we're not exactly known as a sensitive people. If something is crap, we call it crap. It isn't generally taken personally. It isn't seen as overly aggressive. If someone is failing to get a point, they will get called an idiot, but people will continue to explain. It isn't seen as a personal attack, just normal frustration.

However, when dealing with other national backgrounds, we're also expected to adapt our behaviour. The number of times I get a 'yes' answer from Asia that absolutely does not mean 'yes' is probably in the high double figures per day. Americans tend to expect the "compliment sandwhich" when you need to point out a flaw in their work, and will take it personally if you say that they've chosen the wrong approach. There's less of a divorce between the work and the person.


I really don't see how writing "you're a moron" to end a message where you call your interlocutor an example of why you dislike something could be construed as anything other than a personal attack.


> The number of times I get a 'yes' answer from Asia that absolutely does not mean 'yes' is probably in the high double figures per day.

This has cost me time, money, and caused unnecessary risks.

How do you get around it?


There's no simple answer, really.

Where possible, cultivating relations helps. People tend to act in patterns when they're avoiding something so you can learn to pick up when you're treading towards something uncomfortable for them.

Offering opportunities to say things in a face-saving way is a serious skill. Learning how to phrase things in that way where possible can help, but becomes less helpful if it is allowed to become an excuse. Balancing act.

However, moments where you need to be insensitive may still happen. Like getting unpaid bills actually paid.


I will respectfully disagree with you. I am Australian, and have worked in many workplaces across white and blue collar jobs. What you are describing is an attitude that is fast falling out of favour, and in my mind has died in the last ten years. We do not have a culture of brutal honetsy, and I think that this is a good thing. That honesty may be refreshing to you, but there are many people in the workplace who do not communicate that way, and can be hurt or marginalised by that kind of manner.

You are perpetuating a myth of the straight shooting hard working everyman who calls it how he sees it. This is not the Australia I inhabit, and working with many foreign born individuals, along with different genders has proven to me that this strategy only perpetuates power imbalances among men.

Linus' behaviour would be a fireable offence in my last few workplaces, and I have worked in finance, in government, and in consulting.

I think you need to think a little more broadly about your idea of whether people will just 'suck it up and get on with it' attitude, and ask yourself if there are people you are hurting along the way.


Honesty is truth and we're working hard to discover it, fix it and engineer things well. If we don't confront truth in favor of hurting people, oh boy... the world is regressing faster than ever.

This is how you get a snowflake organization that has way too many people complaining, not learning to tolerate and generally bickering around about this or that.

FAANG and silicon valley culture unfortunately is moving in that direction, if not leading it. I detest it with a passion.


And that's how we got arguments like "TAB vs spaces". Because of course one od these choices is ultimate engineering truth worth fighting for. Snowflakes willa never understand. (Sarcasm off)


> This is not the Australia I inhabit, and working with many foreign born individuals, along with different genders has proven to me that this strategy only perpetuates power imbalances among men.

Well, whilst I clearly disagree with you, I am utterly confused by what the hell this has to do with gender.

If there's any inequality in the behaviour, my female managers may have been among the rougher ones over the years... But I don't think I've seen a difference between any of the guys and gals. Quiet ones, or loud ones, I think most people I've worked with have been willing to say, "That sounds like a stupid idea. Why don't we do it this way instead?"

There has always been a divorce between the work, and the person.


This is anecdotal. There is so much evidence out there around toxic workplace cultures that are dominated by unsympathetic individuals. This is overwhelmingly the domain of men, and particularly white men. You cannot choose to ignore this just because you think others are like you, and can "handle it". Things like pay, promotions, harassment, and having your voice heard and much more are affected by these biases and cultures in workplaces. Please do not cite an anecdote that claims that your bias does not exist. I am bringing up gender and ethnicity because you have reduced so many people in this country to a person who thinks and speaks like you. This is not how the world works, and being cognizant that something that is just "straight talking" to you, can come across as dominating by someone else.

And I refute the idea that there is a divorce between the person and work. If that was the case, why do so many people suffer stress, anxiety and depression over their work place culture. Does workplace toxicity not occur to you? There is no divorce while people are marginalised, across all spectrums and walks of life.


I'm not denying that problems with equality exist, at all. I've also made several notes about adjusting your behaviour to match the people you're working with. People are still people.

Workplace toxicity definitely can exist. I'm hardly a stranger to that. I don't see a cultural misunderstanding as toxic behaviour. A cultural clash is a problem, in that it create a communication barrier.

For example, one is currently between you and I, as you seem to be thinking that roughness is allowed irregardless of how people respond to it by your use of the phrase "handle it". If you're impacting someone, then there's a problem. By the same token, there's also a problem if you can't point out when crap is crap. In either case, people don't exist in a vacuum and should be expected to adapt to each other.

It appears that in your mind, that honesty without ritual is somehow a reflection of ongoing discrimination, specifically wider discrimination. Whilst you view it as a abusive, there's no way forward, for either of us.

If I accurately point out that every part of code presented in a review was done the wrong way, and what to do to fix it, it will come across as a personal attack, no matter how kind I try and be. I have to compromise and accept some level of terribleness. I can't even say that they've had a bad day and need to try again. (I have been known to send people home, especially during the death march, without impact to pay or bonuses, because they're burned out and aren't helping the team).

Whereas on the other hand I am accepting of someone tearing down my work, the most junior member of the team I'm working with should, with some encouragement, be able to hold me accountable to my own work. They can point out if I'm heading down the wrong path. We can have active conversations about the tradeoffs that the team are making. Nobody on the team should feel they can't disagree with the team lead. Sometimes that can mean the entire team agrees that something is crap, but we have to do it anyway, but more often it means that we can catch problems early.

It is my experience that being able to point out problems, without ceremony, is more likely to lead to equality, than discrimination. I've acknowledged it is not yours. If you want to have a conversation about actual discrimination - that's another story altogether. I'm more than happy to discuss my own struggles such as my sexuality having been raised at board meetings, or the multiple times I've encouraged those I've worked with to take my employer to court because of the way they're being treated. There are toxic parts of culture in Australia. The fact we can't address something as simple as the pay gap is nothing short of horrifying.

I just don't see how a lack of ritualised and exhausting conversation is in fact discrimination. You don't have to live with false manners to be able to speak with the people around you on equal terms. But, again, people don't exist purely as a concept. You adapt to the people you speak to. If you were to check over my few comments to you, you'll find that the patterns have changed. I have tried to adapt how I am speaking to help you understand my perspective, as I hope you would do for me.

The day the team can't call me a moron, is the day I've failed them.


If I called a coworker a moron on a PR, I would be disciplined or fired. We have a zero tolerance for disrespect in our workplace, and I do not think that his status as a 'superstar programmer' should allow him the privilege to call people names. Even if he works for free, it is not ok to think of and treat others this way.


To his credit, I believe he has considerably mended his ways in recent years. When I came across the first hostile comment (and no, this was not "straight shooting, get to the point", this was going out of his way to make an ad hominem attack), I was wondering whether he'd regressed, until I saw the date.


Talking like that to a coworker might cause some friction in the team (more or less depending on social norms in your country of origin/work)

But put your self into the shoes if Linus.

You are at the head of one of the most important FOSS projects. You probably get a endless stream of noise directed your way (emails, tweets, PR's, commments in general).

You don't respond to it all, because you can't (and shouldn't). But in certain cases you do, and initially you give reasons for why you wont accept the PR.

And now that you have given something your attention, the various elements on the internet pile on, each believing that their opinions regarding your repository and its rules are important to voice to you.

I don't see him acting in any way that isn't completely justified in this context.


I could see giving Torvalds credit for taking the time to engage in a discussion here at all. It's not an acceptable way to talk to people, but it's clearly putting a lot of effort into actually making people understand his reasoning and clarifying in followup comments etc.


> it drives me up a wall when people use it in things like email or Markdown documents

Are there many editors that can rewrap long lines in a Markdown-aware way when displaying long lines?

I mean if you create an outline with significant nesting depth (like 3+ levels) and all the items are more than one screenwidth worth of text, the editor linewrapping is going to make it impossible to see the structure.

Otherwise you get this unreadable mess:

  .   + Foo bar baz foo bar baz foo bar baz foo bar baz foo bar
  .   baz foo bar baz foo bar baz
  .     + Foo bar baz foo bar baz foo bar baz foo bar baz foo
  .   bar baz foo bar baz foo bar baz
  .       + Foo bar baz foo bar baz foo bar baz foo bar baz foo
  .   bar baz foo bar baz foo bar baz
  .     + Foo bar baz foo bar baz foo bar baz foo bar baz foo
  .   bar baz foo bar baz foo bar baz
Instead of this visually-apparent structure at the left edge (produced using emacs's hard-rewrap command "fill-region"):

  .   + Foo bar baz foo bar baz foo bar baz foo bar baz foo bar
  .     baz foo bar baz foo bar baz
  .     + Foo bar baz foo bar baz foo bar baz foo bar baz foo
  .       bar baz foo bar baz foo bar baz
  .       + Foo bar baz foo bar baz foo bar baz foo bar baz foo
  .         bar baz foo bar baz foo bar baz
  .     + Foo bar baz foo bar baz foo bar baz foo bar baz foo
  .       bar baz foo bar baz foo bar baz
(I had to add the periods at the left edge to prevent HackerNews's awful markup processor from "helpfully" mangling things... apparently "verbatim" only means "verbatim" if the whole block has the same level of indentation or something)

Hard-wrapping is basically an acknowledgement that text editors are never going to understand the semantics of all the markups and programming languages we use. And web browser text-edit widgets will be even worse. Then there's the situation where you have markup-within-code-comments. I don't think it's reasonable to expect editors to recognize how to rewrap all these different cases intelligently.


With your example of a nested list, VSCode will correctly display line-wrapped inner items at the same indentation level.


Do you use VSCode to read your emails and edit Wikipedia?

Will it do this for Markdown inside of comments in C/C++/Rust code?

How does it even know you're using Markdown in comments as opposed to something else?

(I'll have to trust your answers since I don't have a Windows machine, let alone a Visual Studio license)


I mean, there are definitely places where hard wrapping makes sense or is the only option. I’m not saying it’s never the right thing to do, just that with emails or full-Markdown docs specifically it tends to restrict the ability to render in an optimal manner more than it helps.


> (I'll have to trust your answers since I don't have a Windows machine, let alone a Visual Studio license)

You don't need a Windows machine or Visual Studio license to use VS Code, which is both cross-platform and free.


Reasonable people can disagree on things like formatting, features, or the superiority of one interface/product over another... all fair game. And Linus’ contributions give him an enormous amount of credibility and leeway to have it his way. But when you treat people with such disrespect (ex. By calling them a moron), you lose all credibility and respect in my book. There should be no excuse for treating people with disrespect no matter who you are or what your contributions have been. I’m not surprised given his reputation, but I’m still incredibly disappointed


You sound like a middle manager to me. The people at the bottom or top don't worry about this crap and will call a spade a spade.


You just tried to label someone. You must be an X.

His/her concerns are valid. We should never have to resort to name shaming people as “morons”. That doesn’t make people feel included.

You can be both a competent human being, and an empathetic one.


They're only valid concerns if you're in the part of the chain that needs to be empathetic in the first place. That's the point I'm trying to make. His point of view is not representative of Torvald's, mine or possibly many others.


Hard line wraps are moronic, just like spaces for tabs.

It’s an abuse of the newline character, which is meant to represent a new line, not word wrapping. It also destroys the information of where actual newlines are placed. There’s no way to automatically strip out the newlines meant for word wrapping, while leaving newlines meant for new lines.

To use your words Linus: You’re a moron!


> It’s an abuse of the newline character, which is meant to represent a new line

I also disagree with hard line wraps, but I wouldn't use this justification.

There isn't really such thing as a newline character. From ASCII we have line-feed and carriage-return characters intended for typewriters. There are conventions for how to interpret these as hard line-breaks in text, but they vary by platform. But even once you've picked how to represent your "new line" character -- does it denote a "line separator" (windows), or just a "line ending" (linux)? There's no real answer; just convention. (The difference often shows up when you consider whether you should leave one after the last line at the end of the document.)

We can't often look at ASCII or much of Unicode and ask "what is the meaning of this character" as if there's some canonical truth. IMO


Whichever character is used for a line ending/separator, it’s still wrong to conflate it with word wrapping.


In the general case, I agree (with the first part of your comment.)

But Linus makes a valid case for wrapping at the time of text entry instead of display: they want to wrap to 72 characters except in certain, specific cases, like when you have lines of output that should be represented verbatim.

Now, if you're using something like Markdown, this is no problem: triple-backtick the code block and let the rest of the regular text wrap automatically. But since kernel commit messages are strictly plain text only, that's not an option.


The way that line wrapping works out between github and regular git is a shame, because apart from that, since markdown tries to emulate plaintext conventions, it's not hard at all to write commit messages that look good both as plaintext and as markdown. (In this case, use the "original" markdown code block syntax of indenting with a tab or four spaces instead of using backticks.)


I disagree. There’s no valid use case. Users can word wrap lines at any width they want, easily.


Needs a (2012)? But why surface this 9-year-old drama? The whole thread is a nothingburger


I don’t think Linus is being unreasonable here. He has specific standards he expects.

It’s true that his language could be more polite, but what he expects is not a secret.


Curious - why do people get offended by Torvalds? If you know anything about the guy, his rants are a caricature. It's like going for a Tarantino movie and expecting no violence. You're going to get violence. And, it's going to be excessive, over-the-top, ridiculously offensive that there is no other explanation than to treat it as comedy. Any other attempt to explain Linus is flapping wings in a vaccuum. If I was on the receiving end of it, I would play along.


No, this is like going to Quentin Tarantino and saying "hey Quentin, here's that work you need for your film, which I did for free," and him screaming at you for not doing your free work exactly how he wanted.

Linus has often been a dick. Being offended at being abused for asking a question or doing a relatively normal thing is reasonable. (He's gotten better, recently, because even he acknowledges it's harmed the project.)


Nobody is doing free work for Linus. People including Linus are doing work on Linux which everyone is allowed to use for free. And which most people on Earth have benefitted from, directly or indirectly, to at least some extent.

Not getting paid for your work does not automatically entitle you to see your work used, or to ignore the standards put in place by those who would use it.

And yes, if everyone in Hollywood tried to contribute to every Tarantino movie, and showed up and didn't follow instructions, he'd probably yell at some folks too.


People still work with him and he is successful. From what I can see (I've never dealt with Linux community), people that work with him know what to ignore and what to listen to.

Moreover, I guess I have a different way to deal with offensive people even if they were serious - to ignore and scoff it off. I would never feel "offended" ever. Offense is taken and it is a choice. That's how I operate but your mileage may vary.


> People still work with him

That's part of the problem. A bunch of people effectively didn't have a choice but to put up with this sort of communication style because their job required them to interact with the Linux community.

> Offense is taken and it is a choice.

This is a meaningless platitude. Whether you take offense or not, sometimes the most productive response is to tell someone their behavior is counterproductive, instead of stoically shrugging it off.


This is the surefire way to create conflict where there could have been a peaceful resolution. Learning to tolerate and ignore is a blessing IMO. If it gets excessive and affect's people's lives, jobs, personal threats, yes - that's not excusable.

It turns out when you ignore people, they get the point. You don't need to bark back at dogs. Keep your head up, mind your own business and move on.


Not acknowledging it when someone's causing problems under the banner of "taking offense is a choice" is definitely a surefire way to make problems worse, too.


I agree with this. Just ignore him. Use him for what he's good at.

The guy is good a computers. He's less good a humans. Act accordingly.


Torvalds solved low hanging fruit problems (reimplementing a version control system with a permissive license, implementing a toy OS with a permissive license) when computer science and programming were niche skills, and for that he's become a highly paid celebrity with a cult following that forgives him for anything. It's so embarrassing to see people celebrate abuse years after the fact, I honestly cringe at these threads. I pity people who relish the idea of being attacked by someone they respect and I wish we could all just move past this dumb hero worship culture.

P.S. please add a (2012) to the topic, this is NINE years old who cares.


But what purpose does that antagonism serve? I fundamentally reject the way linus treats people, and I think him hiding behind his maintainer position is even more petty. A lord of his kingdom, rude and sarcastic to everyone who comes and visits. I will never accept someone as hostile as he is in my workplace, and I think the only way he gets away with it, is by surrounding himself with other people who express themselves just as indecorously as himself.

What a shame.


> But what purpose does that antagonism serve?

It's a good question. I am not advocating this behavior, just trying to circumvent his rants and see them as comedy.

Of course, the better choice is to not do this in the first place.


Reminder that Linus is part of the reason you and I have a job in the first place.

How many people contribute to the linux kernel? Let’s see how quickly you get jaded after dealing with people refusing to read basic instructions.

Also, reminder that not every contributor is desirable. Linus has a specific vision and criteria for his project. It’s true he could use kinder language, but I imagine he gets fed up having to deal with this sort of stuff over -decades-.


Jaded is not an excuse for abuse. That's like a parent saying that their children's bad behaviour is an excuse to abuse them. It is not ok to treat people that way, and no amount of being fed up justifies it.

Also I do not accept the idea that my job exists because of him, so I have to have deference. Again, this is an abusive way to look at things, and puts people on pedestals that they deserve respect, but we do not deserve it in turn.


I said part of the reason, not the sole reason. His projects have had immeasurable impact on computing, and it’s arrogant to dismiss that because you don’t like how he conducts himself.

He can definitely do better regarding his language, that I agree with. But this specific instance isn’t even against the contributor but against GitHub.

“they deserve respect, but we do not deserve it in turn”

Nobody deserves respect. You may be referring to basic decency towards each other. He earned respect with his work and maintainership over the years and decades. Abusive language towards contributors is not appropriate, but that doesn’t mean they -deserve- respect either. The first step to becoming respected is learning to RTFM and submit patches according to how a project expects them. And for basically every rant of his I’ve seen, it was directed at someone who 100% should’ve known better, not random new submitters.


You are 100% perpetuating the culture of 'deserved abuse' that I spoke about. People DO deserve respect. Everyone does, and I will assume someone is a good person until proven otherwise. People like yourself and linus create toxic communities of insular looking people hurling insults outward to people looking, and feel justified in their behaviour because they have trod the golden path to 'earning the right to not be belittled'.


No, people deserve common decency. Respect is earned. I think we're going to disagree on terminology here. I do not think every person is automatically worthy of respect, until proven otherwise.

Linus has already apologized for his past outbursts, and I do not condone abusive language to people.


> Reminder that Linus is part of the reason you and I have a job in the first place.

yikes, operating systems existed before linus.


Imagine reducing the impact of linux/git/etc to merely an operating system.


Don't you think we'd largely have palette-swapped jobs doing basically the same thing on some BSD derivative instead?


Maybe, maybe not. There are infinite hypothetical realities, so I do not find it productive to muse on them.

The reality is such that Linus wrote Linux, people adopted it, and here we are.


Getting jaded is a good excuse for taking a step back and reevaluating your life choices, and maybe finding another hobby. It's not a good excuse for going out of your way to hurt the feelings of people who aren't measuring up to your standards.


I don’t disagree that Linus has gone way overboard when chewing people out. The language in some of his rants is completely inappropriate, and he has since apologized for that. But if someone who 100% knew better did something they shouldn’t have, sometimes getting chewed out is appropriate.

“maybe finding another hobby”

It’s very easy to sit here in our armchairs and go “yeah he should just abandon his project”. I’m not sure how any of us would react to one of our projects growing to the scale linux has, but blithely suggesting one should just swap careers or hobbies (since programming is -just- a hobby apparently) is not productive at all.


We're talking about the point where someone has become jaded enough that they can't help themselves from lashing out at well-intentioned strangers. That's a fairly advanced level of jaded. I definitely consider myself jaded but I probably have a long way to go before I get there. I'm not saying you have to retrain into a different career path, but I think at that point it's not unreasonable to reflect on whether what you're doing with your spare time is really making you happy, and whether you wouldn't be better off for purely selfish reason if you gave up on project management and idk wrote some scuba software.

> But if someone who 100% knew better did something they shouldn’t have, sometimes getting chewed out is appropriate.

I don't think this is unqualifiedly the case, and I very much don't think this is the case in a situation where a hapless stranger's transgressions only go as far as wasting five minutes of your time by making an unacceptable pull request.


"whether you wouldn't be better off for purely selfish reason if you gave up on project management and idk wrote some scuba software"

It's selfish to assume that because you might be happy doing that, then all people should do that. Maybe he wants to work on Linux? Nobody is forced to contribute to or work on his project.


Torvalds ca. 2012, via callous and hyperbolically insulting comments, makes people feel bad to get what he wants. We can argue about whether he gets to do that because his job is very important, or because we also want what he wants (eg high quality commit messages), or because people shouldn't interact with Linux if they can't deal with that, or whether it's an effective way to get what he wants, but at the end of the day the mechanism is still making people feel bad.

I think the negative effect that has or could be reasonably expected to have on the subjects of his comments is enormous and fundamentally unjustifiable in the context of running an open source project or a community. I sort of get it when it's aimed at an adversarial higher-order entity like NVidia (or Github for not letting you turn off pull requests on your repos), but absolutely not with human beings, no matter how frustrating it is to have to work with people who aren't fluent in your processes.

I think we should try to be kinder than that, and I don't think being kinder would have stopped Torvalds from getting useful patches out of contributors.


[flagged]


Did you really have to shoehorn all that into a discussion about Torvalds's notoriously heated communication style and advertise some random left-criticism blog to boot?


If you can't connect all of this to the larger pattern of Woke propaganda in America, then I don't know what to tell you. Look up Christopher F. Rufo just for one example and how this propaganda is taking roots in schools and universities to brainwash the next generation of Americans.


Trying to tie this into every possible situation, no matter how tangentially related, seems a lot more like propaganda, brainwashing, and FUD than anything going on in this scenario.

Developers - many of whom are probably not "woke" - have been calling Torvalds a dick for decades.


I'm a bit amused that Torvalds is complaining about people submitting non-line-wrapped commit messages even though they look awful when displayed by git because they use a different tool to author them, while submitting line-wrapped comments even though they look awful on the github web interface with proportional fonts because he submits them by email. But of course, it's his repo and he gets to apply whatever style suits him best.


Who is Joseph ?


> [Github's] diffstat is also deficient and useless.

How so? How are the ones of Linux pull requests better?


I recall the "Linux is obsolete" thread. After a long time I read something like that.


Is this still true of GitHub's pull requests? Does Linus still not use them?


He does not, look at the graveyard that is https://github.com/torvalds/linux/pulls?q=is%3Apr+is%3Aclose...

The Linux kernel uses a development process that is very disjoint from common contemporary open-source practice, and easy to get wrong with modern tools that aren't specifically configured. It's indubitably a very effective process for their purposes but of course as an outsider I pretty much only ever hear about it when someone has a hard time with it...


The worst thing about Linus is that he's usually right.


To whoever [flagged] this submission: which HN rule does it violate?


[flagged]


I mean, this is not even a particularly good troll.




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

Search: