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.
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.
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...