"I disagree with this patch and I'm not going to merge it. It does these things wrong, and this line of reasoning makes no sense. Change these things and explain the reasoning behind this and I'll look at it again."
Most of his rants that I've read could have been summarized by that without including any personal attacks.
I don't find that assertion convincing.
I guess what would be called abusive by many was merely a "stern talking-to" to Linus.
Which is why he needs therapy.
It would be great if we would hold ourselves to higher standard of professionalism and stop apologizing for toxic behavior in software engineering. I've never seen another industry where abusive infighting is considered acceptable and necessary for success. It's almost worn as a badge of honor by people who -- more often than not -- aren't even that good.
Or we could take an alternative route, and collectively grow a thicker skin and show a bit more emotional maturity, instead of seeking offence in every situation.
But then that's just my opinion. But that's the point, opinions differ.
Shall I start to bully you and we'll test the thickness of skin required?
I get the sense that often the people that write these kinds of comments are not on the receiving end of the behaviour.
No. I've been reading apologist nonsense like that for literally decades. I'm tired of being involved in an industry full of angry, frustrated manchildren who think that bitter vitriol is a signal for technical expertise.
Regarding "seeking offence in every situation" I'm inclined to think that you've never read one of Linus's ridiculous rants. If you have any you still think people are seeking offense, then there is quite literally something wrong with you.
It takes a certain level of self-awareness to realize that you should still say what you're thinking, but you shouldn't say it how you're thinking of it.
Everybody has a different conviction about what is abusive and what is not.
"Of course, I'd also suggest that whoever was the genius who thought it was a good idea to read things ONE FCKING BYTE AT A TIME with system calls for each byte should be retroactively aborted. Who the fck does idiotic things like that? How did they noty die as babies, considering that they were likely too stupid to find a tit to suck on?"
Maybe he needs a creative writing hobby of some sort as an outlet to help keep such glorious color out of his professional emails. (I'm totally serious and would email him the suggestion if I didn't think it a waste of time because I don't know the man, he doesn't know me, yadda.)
But in real life, we have to worry about being honest. And it's honestly not true that anyone who reads a byte at a time is too dumb to operate a nipple. All it means is that whoever did it doesn't know much about syscalls.
> well-crafted insult
This is unnecessary vitriol directed at the person themselves as opposed to their code. It achieves nothing. He could get the same message across with far less words if he stuck to outlining the problem as opposed to attacking the creator of the problem.
I suppose Linuses appeal in this regard is similar to Simon Cowell or Anne Robinson off the weakest link. Sometimes you just like to see stupid called out.
This is entirely my conjecture and I have no way of proving it but I suspect Linus taking a break is Intel flexing its muscles on the Linux Foundation.
Not condoning his rants, like I say it’s ultimately upon himself these reflect badly, and they probably do little to stem the flow of incompetence ...
Until you realize it was you who checked it in. If you write enough code, you will eventually not write the best code for some situation. It could be because you were tired or you simply didn't understand that part of the code well enough. Instead of attacking someone with insults, it's better to understand why the code got written and work to not have similar mistakes made in the future. Remember, everyone here is on the same team trying to make the best piece of software possible. Berating teammates (which is really what is happening here) does not make them better teammates or make the team as a whole better.
The most egregious errors made in my experience and often Linuses, are by people who don’t see themselves, or have no interest in being “part of the team”. Who dont abide by the code quality guidelines, who have been told time and again, or who are trying to make weasel changes to subvert the organisation of the code to their own ends.
Linuses way, however isn’t really the most productive approach, Aine these kinds of individuals don’t care anyway. It sounds as though this new “code of conduct” might be an attempt to move things forward.
This line of thinking is a fantastic way to create a non-inclusive group.
> if you want to make a mess of things in your application you can do so without bringing down the whole system
You don't need an exclusive community to make that work. We as an industry have tools: fuzzers, testing frameworks, better programming languages and type systems, and proof assistants, all of which will do a better, more consistent job of ensuring quality than project leads being assholes.
Modern assembly languages - for processors that have SIMD or AVX instructions - are more natively able to deal with several things at one time than C is.
There are several cases where Linus went way over the top with insults, but throwing him under the bus because of that statement is ridiculous.
That's the whole problem with these CoCs, if people get to apply the most uncharitable interpretation of any statement, we can't have anything but extremely formalized conversation, lest we run the risk of getting kicked out because someone who doesn't like us misrepresented our words.
Bad code has a cost associated with it as well, it takes time to reject it, explain why it's wrong, and deal with the frustration of someone less experienced. Unfortunately with some developers they want to push that off on the person writing the code and bear none of the burden.
I've seen the costs of the latter in open source projects I've worked on. People who feel encouraged stick around, support the community, and when given good feedback will often learn from it and submit better patches. Taking the time to communicate and make sure everyone feels included is part of the cost to get that.
It's not a "harsh statement", it's a joke. If anything it's flattering of that person's stature.
> While it's pretty easy to say, yes he's not suggesting physical abuse, the statement implies this guy is not going to cut me any slack, I can expect to get verbally attacked for missing something in my code, etc.
I don't think it implies that, but that's besides my point. The remark was represented as "advocating physical intimidation and violence", which given the actual context is basically libel. You're free to interpret anything you want about the personality of Linus from him making such jokes, but misrepresenting it like that in public is dishonest and harmful to discourse itself.
https://arstechnica.com/information-technology/2013/07/linus...
The preferred pronoun of that person is currently "they":
https://en.wikipedia.org/wiki/Sage_Sharp
You may want to edit your post accordingly.
Correct. That means that you should, if possible, 1) try to communicate in a manner that most people won't consider abusive 2) adjust to the individual when needed. All of which Linus is saying he wasn't doing.
Leaders of large companies are _usually_ more aggressive, selfish and less agreeable than average people. This is a well-researched topic (and also makes sense intuitively -- leading a Fortune 500 company comes with so unique perks that there's an immense fight for those roles).
They do have awesome and well mannered leaders but most are connected to Mozilla.
I'm not sure why it has to be this way or whether it has to be.
From my perspective, people react to social condemnation of their actions. When someone does something incompetent, and they are gently corrected, that sends a certain message. When someone does something incompetent and they are lambasted, that sends the message not only that their work was of low quality but also that doing low-quality work is socially unacceptable. Since social acceptance is a much higher driving force for humans than merely being thought of as technically proficient, that would seem to be more effective.
It’s also important to recognize that essentially nobody chooses to be incompetent, so upping the “punishment” for incompetence does nothing to incentivize some other choice; rather what you perceive as incompetence is usually the result of either someone not knowing or understanding something you understand, or YOU not knowing or understanding something THEY understand. In the former case, lambasting someone will do nothing to improve their knowledge and help them be a better contributor; in the latter, lambasting someone over your own ignorance merely demonstrates to others what an ass you are.
Nonsense! Sometimes people decide to do just enough to get by in life and otherwise completely check out. Other times, people decide to care about their work. Sometimes, they care so much that they get deeply emotionally invested in it. What people do and do not care about is based on their values, and values are instilled by the culture around them. Part of that culture is maintained by publicly rebuking people for flouting cultural norms.
And--by the way--everyone who has ever criticized Linus for the way he communicates is doing the exact same thing--publicly rebuking people for flouting some cultural norm that they want to normalize.
Now, judging from the results, I would say that for kernel development, "not breaking backwards compatibility or tanking performance" has been an extremely valuable cultural norm to maintain, while "not cursing at people on the mailing list" hasn't been necessary to date.
Now, did the second half of my paragraph above in any way help my point? Are you feeling any more inclined to consider my point of view? Would you enjoy being spoken to that way in your job? Is this exchange of ideas in any way improved by my assuming you’re a fool?
Linus Torvalds is widely accepted as an expert on kernel development (otherwise we wouldn’t be using his kernel and no one would care). Most Linux contributors respect Linus and care about his respect and approval. Conversely, I have no idea who the hell you are and no desire to earn your approval. As far as I know, you have never run any open source project of any real consequence or demonstrated any real responsibility for anything in your entire life. Why should I give a shit what you think of me and my ideas?
The rants that I have seen from Linus were in discussing points that were pretty unassailable and absolute: don’t introduce regressions that break userspace, don’t make a system call to read every single byte, etc. Being “some engineer from IBM or Intel” isn’t an antidote for the natural human impulse to cut corners or do dumb shit. Linus, in my view, never assumed that anyone was a fool: he just told them they were fools after they demonstrated their foolishness to him, most of the time in cases where they either did know better or damned well should have.
And yes, if I fucked up badly enough, I would want to be addressed that way, or at least tolerate it, given that it was from someone I respected and whose opinion mattered to me, or at least given that I was indisputably in the wrong. Working in an environment where no one is ever held accountable for cutting corners and fucking over everyone else is in many ways even more poisonous than the occasional public shaming.
Steve Jobs is famous for being absolutely confident of himself (even for things that he didn't really know about) and for expecting the impossible from his employees (and being verbally abusive about it). This is a recipe for surrounding yourself with yes-men and for making your employees behave defensively when they are around you.
Another thing is that people, like most animals, are better encouraged by positive reinforcement than by punishment.
Being ruthless, manipulative and dishonest is highly effective, that's how Con Men get to be so successful. It takes a sociopath to pull it off and it doesn't work out well in the long term, but people only live so long anyway.
That's not to say that there's no room for being firm—and OSS politics could drive the pope to violence at times—but LT's behavior has crossed the line many times over. I very much look forward to a more approachable kernel leadership approach.
Mr Jobs was an entrepreneur who ran a company - a very influential one, I'll grant you. Mr Torvalds created something that turned out to be quite important and gave it away and encouraged others to help him improve it.
When I consider "ends justify the means", I like to start with which ends might be important 8)