Linus and Pull Requests (2012)(github.com) |
Linus and Pull Requests (2012)(github.com) |
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.
It would be better if he just ignored the PR instead of making a scene.
Maybe I’m just sensitive
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.
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.
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.
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.
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!
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
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.
It’s true that his language could be more polite, but what he expects is not a secret.
How so? How are the ones of Linux pull requests better?
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...
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.)
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.
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.
P.S. please add a (2012) to the topic, this is NINE years old who cares.
What a shame.
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.
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-.
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.
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)
You don't need a Windows machine or Visual Studio license to use VS Code, which is both cross-platform and free.
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.
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.
The guy is good a computers. He's less good a humans. Act accordingly.
This has cost me time, money, and caused unnecessary risks.
How do you get around it?
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.
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.
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.
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.
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.
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.
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.
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.
yikes, operating systems existed before linus.
“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.
> 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.
The reality is such that Linus wrote Linux, people adopted it, and here we are.
Linus has already apologized for his past outbursts, and I do not condone abusive language to people.
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.