Lovely grumpy ol' Linus. I admire him for being willing to try doing something a little bit differently to make the kernel a more welcoming place for developers who aren't part of the old school he was raised in. I'm only slightly younger than Linus, and I have made more than my fair share of rude comments in various Open Source mailing lists...but, well, I'm no longer convinced it's the only or even best way to get things done in a community.
And, I enjoy that it's called "code of conflict", as it's clear that getting code into the kernel is still going to involve a fight, it's just going to be a civil one wherein everyone is following some basic rules ("no hitting below the belt", so to speak).
As best i understand it, when Torvalds breaks out the big guns the issue has usually spent some time simmering in the lower tiers of the developer chain. Also the person being chewed out is likely to be someone senior in the kernel community, and so should already know what is expected in terms of code quality and behavior.
Linus adpots a Finnish approach to leadership known as "Management by perkele." [1] I'd imagine most people who's unfamiliar with this sort of culture to be extremely offended, especially now that there is this movement towards political correctness and caring for another's feelings.
Someone also brought up Sarah Sharp. This was discussed heavily in the /r/linux subreddit [2] about a year ago.
Frankly my impression of Torvalds is that his reference to "management by perkele" was meant as a self-deprecating joke, that sadly the web has taken at face value.
The guy seems to have a sense of humor that goes over most peoples heads. Maybe they are too desensitized by the outrageousness of stand up "comedy" to pick up on it...
So according to the WP definition it's mostly about "swift decisionmaking" in contrast to consensus seeking in Swedish culture. But the Linux process doesn't really seem to be about swift decisions, it's against extensive consensus seeking for other reasons.
The WP article isn't helped by the longest section dismissing itself as tangential in the first sentence...
It occurs to me that Linus's occasional "smackdowns" can be seen as a necessary and realistic form of discipline. Since Linux is developed in the open, these disciplinary discussions occur before a worldwide audience. One could argue that disciplinary mails should be taken off-list to allow the individuals involved to save face, but it could be counterargued that such mails are relevant and important to the kernel's overall development process and shouldn't be obscured lest other developers make the same mistakes.
The high visibility of Linus's posts expose him to a lot of bleeding heart criticism, but it doesn't really say anything about how useful or important the mails may or may not be; in short, the criticism that Linus is "mean" doesn't say anything about the efficacy of the management style.
When management actually has to happen, when the manager actually has to step in and try to correct someone who isn't doing their job correctly, it's never a popular thing. The political impulse is to rally behind "the little guy". We all respond easily and quickly to the stories of spurned employees who were "totally mistreated" by the Big Bad Employer. Because of this, it's easy to look in and criticize Linus for sending a "mean email", but probably not very fair.
We all want to sympathize with our peers, and no matter how much we may like them on a personal level, it seems there is an almost irrepressible instinct to want to denigrate our bosses. That makes it easy to criticize the calls when we're on the sideline and not bearing the responsibility for the outcome. The actual knowledge of that responsibility and all that comes with it, including the massive flood of disastrously uninformed critics and the need to bite the tongue as they take their swipes, is "the weight" that persons in positions of high responsibility sometimes discuss. While it's easy to acknowledge the hypothetical existence of such a phenomenon, I think it doesn't really crystallize until one finds some measure of "the weight" on his or her own shoulders.
I hope we can all save a bit of empathy for the decision makers on the other side of the coin after getting an earful from and commiserating with our disgruntled contemporaries, even if it's just on LKML.
Interestingly, this came to my attention via Twitter as a negative thing (https://twitter.com/hypatiadotca/status/575225661763153921) - I was surprised as other than the title, it seems fairly well-intentioned and like a move in the right direction.
I already wrote this in reply to another comment within this thread, but I'd like to reiterate my main point.
Hypatia found some serious problems with a security product that a company I worked for released. She contacted us and I got to work with her for awhile. Hypatia could have blogged and gotten rather famous because we were all over the Canadian news then. Instead, she erred on the side of extreme professionalism, came to us, and responsibly disclosed her concerns.
Based on that experience, I will always argue that Hypatia is not only freakishly intelligent, but she manages to stay reasonable. Moreover, she was always interesting and fun to deal with.
Knowing how good she is, I take her criticism quite seriously and I urge everyone reading this to be kind towards her.
What do you think her criticism is, that should be taken seriously?
As far as I can tell it boils down to "The kernel people are abusive, Linus in particular is abusive, and this document doesn't change my mind about that".
When I have edited people's writing, at times I have been too scathing and when I was in my twenties, a few writers even called me abusive. When I am stressed out and faced with what I consider incompetence, I don't always do a good job of controlling what I will write. I have deeply insulted people in my time, including people who were doing things for me for free. Heck, go through my comment history. A few days ago, I was so scathing on a Show HN that I am scared I actually destroyed an entrepreneur's confidence.
I'm only sharing this because I'm not particularly qualified to answer this question. Personally, I don't find LT all that bad, but that might be because at various points, I have been worse.
Had situations been reversed a decade ago, I would have been much more difficult for Hypatia to deal with than she was for me. Again, she was reasonable, she was 100% correct, and she had cause to roast me and the company I worked for over the coals. Despite this, she was kind and helpful. Heck, my boss yelled at me every time she emailed me, yet I have enjoyed and learned from every single interaction I have ever had with her.
In light of how she behaved in contrast with how I would have, I trust that she is better qualified to make statements like this. Not only is she more talented than I am, but she is far better at communicating through difficult times than I am. It is unfortunate that Twitter confines you to 140 character bursts because 140 does not give much space to be constructive. I hope we get to hear how Hypatia would change that document because personally, I would learn from that.
Better qualified to make statements like what? She hasn't said anything about the document except to pretend to misread part of it, and call it bad grammar. The rest is insulting Linus and the kernel devteam.
The twitter thread does contain some actual criticisms: "it’s uselessly vague, blames the victims of abuse rather than the perpetrators, and lays out no actual process for violations"; "the 1st graf def sets up some apologist precedents" - but Hypatia is not the one making them. (I don't think I agree with these criticisms, but they're better than insults.)
I'm sure she has behaved admirably in other situations. In this situation, she is not behaving admirably. She is not communicating well through difficult times. I don't buy the "not much space" argument, because she's not even trying to be constructive in the 140 characters that she has. (I'm not saying she's morally obligated to provide constructive criticism, I'm saying that if she wanted to do so, she could be a lot more constructive than this.)
I'm not saying anything about Hypatia in general. Maybe she's having a bad day. If I encounter her in another situation, I'll try not to judge her based on this incident. The fact remains that in this particular twitter thread, she is behaving poorly.
That's not how Twitter works. If you're acquainted with her explanations and what she's linked to, this tweet's background should be clear. (Or at least you know where to dig more deeply.)
Looking for a nuanced argument in this particular tweet in isolation is disingenuous. When I want to know what someone means, I investigate deeper.
If you've learned something interesting by investigating deeper, feel free to share.
I promise I'm not being deliberately disingenuous, but I'm honestly not sure what you think I've done wrong. I've read the article she linked about how Linus isn't a nice guy. I've read the entire thread. I've now looked at her main feed, outside of the thread.
I maintain that she is not criticizing the document, she's insulting the people involved. Do you think that I should be elaborating on the particular forms of insults that she's using? It doesn't seem relevant to me that her insults take the form of accusations of abuse, but that's honestly the only thing I can think of, that you might think I'm being dishonest about.
Perhaps. And, so you know, again I'm sorry for arguing with you like this. My argument approaches non sequitur because my only point is that we should listen because I respect her. Yet seriously, why would you respect me or give an iota of a crap about something that happened to me???? I deeply apologize and swear I am not trying to offend you or be disrespectful.
The problem with disagreeing with a code like this is that arguments stink until you put them into practice. Saying a code is too vague is like saying that a design needs to pop - in the end, it means nothing until it is accompanied by an "I would have written it like this" statement with an example.
I don't think you have anything to apologize for. You haven't said anything that comes close to being offensive or disrespectful, as far as I can tell.
It's exactly that sort of insensitivity that makes the Open Source culture so toxic. You don't even preemptively apologize for comments that might be offensive in a way that you didn't intend because of your innate privilege. Take yourself down a few pegs and try to imagine what the world is like for everyone else who didn't have the world handed to them.
Oh wait, that was an ill reasoned, assumptive, and unhelpful response made without basis or provocation. Besides not being a part of your conversation, I had no right to scold you, especially not for any of my personal beliefs, and I won't be dismissive, sarcastic, dig my heels in, or behave like a demagogue just to bolster my platform if you respond.
* This code is bad; vs.
* You are [A named person is] a worthless person.
The first is fine and a healthy part of software development. In a casual environment like open source development on the internet, it can be said with humour, with venom, with fervour, with sarcasm, or with hyperbole. Don't take it personally, even if happens to be code that you wrote. It's not a personal flaw of yours if everything that comes out of your keyboard is not instantly the best code ever written. Calm your ego. Use it to become better, stronger.
The second is a personal attack and is not acceptable.
Some people don't seem to be able to tell the difference, and treat the first as the second. Furthermore, since they can't tell the difference, they often react by doing the second (e.g. "Linus is a shithead for saying that and should go die in a fire"). I find that offensive.
It occurs to me that my other reply avoids answering your question while simultaneously making me less employable, so I apologize.
To respond directly, I don't know. I can't find anything in her Twitter feed to answer your question and personally, I am fine with the code of conduct as written. My argument is that I have been involved in a situation where she rightfully criticized something that I was working on. She was reasonable, highly intelligent and absolutely always constructive. Therefore, I would prefer to wait to see if she comes out with edits, or if she explains herself further before I take either side. I know there is no logic for that other than my own experience and as such, this is all nearly non sequitur. I don't mean to insult, but I have nothing of substance...other than my respect for Hypatia.
As you already iterated, the non sequitur is that you can be right at one thing and still be wrong about another one. Which means that this argument doesn't really support the position. It is exactly the same position that you are not allowed to critique the writing style of Theo de Raadt, Linus Torvals or Ulrich Drepper because they are all excellent engineers, which is the major contention point and the reason for the documents existence in the first place.
She is right in that the sentence does have some ambiguity, if you twist your brain enough, you can grasp what she is seeing. But I also think that the context firmly states the intention. If your cognitive position is that someone is an asshole, then you will eventually see everything written as being purposefully malicious I guess.
> If however, anyone feels personally abused [..] , that is not acceptable
> If so, please contact [..] work to resolve the issue[..]
I had to backtrack a couple of times before parsing the sentence, but it's absolutely clear to me that it means that it's the abuse that it's not acceptable, not the feeling of being abused! If not so, what is the Technical Advisory Board supposed to do?
To fix you so you don't feel being abused?
It seems to me that it takes quite a bit of prejudice to misparse someones sentences like that. Or is this some kind of joke I don't get?
> It seems to me that it takes quite a bit of prejudice to misparse someones sentences like that. Or is this some kind of joke I don't get?
Its a fairly common way to discredit someone. You parse their words not for their intent but to push whatever viewpoint you have. Its made quite a bit easier that most people will only look at the tweet, quoted sentence, or sound bite. It works as you can seen from that twitter stream.
That's why, when setting up such a document for a project as big as the Linux Kernel, you get someone with writing skills and get extremely pedantic for a while.
I have a feeling that a beautifully written document would still have drawn criticism. If someone parsed the original to prove a point then nothing would be acceptable.
I have a feeling that a clearly written document would still have drawn criticism. If someone parsed the original to prove a point then nothing would be acceptable.
Part of the criticism in that Twitter thread seems to be based on a deliberate misreading of the following passage,
> If however, anyone feels personally abused, threatened, or otherwise uncomfortable due to this process, that is not acceptable.
taking it to mean that people feeling abused is not acceptable, rather than abusing people being not acceptable. This deliberate misreading was couched in terms of unearthing some sort of Freudian slip.
Then why don't they say "... anyone is abused ..."? They'd also have to create a measurable definition of what qualifies as abuse; but why not?
"feels" and "uncomfortable" are weasel words that get be used to interpret this sort of thing broadly as anyone wants. And don't for a second think anger-baitng bloggers won't do exactly that. Individual perception of actions in a social environment are different from intention which is different from the average LKML reader's perception. Critics' have alrady found that their bread and butter exists in the disparity among the three.
I think she misinterpreted the Code of Conflict as she also tweeted:
> Am I alone in reading the second para of [the Code of Conflict] … as deeply fucked up? YOUR FEELINGS ARE UNACCEPTABLE. Wat.
The second paragraph begins with:
> If however, anyone feels personally abused, threatened, or otherwise uncomfortable due to this process, that is not acceptable.
She seems to have understood it to mean it is unacceptable that you should feel uncomfortable and your feelings are unacceptable. I interpreted that is unacceptable that anyone should be made to feel uncomfortable by the review process which makes slightly more sense if one applies the principle of charity.
> She seems to have understood it to mean it is unacceptable that you should feel uncomfortable and your feelings are unacceptable.
No she hasn't, she's just... I don't have any polite description of what she seems to be doing.
"I think it's saying it's unacceptable if s/o makes you feel that way, but the 1st graf def sets up some apologist precedents" "I know what they actually mean, it's just a funny Freudian insight that no-one caught the bad grammar"
"I'm pretty sure you read that very wrong" "I'm ok with this".
I've never met her in person, but Hypatia ripped apart a product that a company I worked for released. Not only did she disclose terrifying problems in the most responsible and respectable way possible, but she was genuinely kind and interesting to work with. Based on my real world experience as opposed to 140 character bursts, I have a tremendous amount of respect for her.
Consider that someone might have incentives to communicate with a potential client far more nicely than to a person they dislike who probably will never be their client.
Her reply indicated she knew it was a bot. She "suggested" to it that she didn't have to prefix Linux with "GNU/" because she was talking specifically about the kernel.
I've read that Linus is only mean to people who he's familiar\friends with or who senior enough that they should already know better. This was recently on HN and shows the more patient side of Linus (not sure how often this happens) - https://news.ycombinator.com/item?id=8761539
Typically when Linus has gotten involved, and when it's been made news, etc... it's long long after the offending commiter has taken a hard stance and a large portion of other senior commiters have attempted to deal with the situation. At a point he steps in and "brings down the hammer" so-to-speak.
Linus' "rants" are fairly infrequent in reality, and are never targeted at random people in the Kernel community -- always someone who has been in a senior position for a long while and ought to be behaving more appropriately.
"This is crap" (without pointing why or how to fix it - of course with ruder words)
"We're not applying this fix" (without any explanation why and the system is pretty much broken/only works for limited cases/bug waiting to happen/etc)
"What are you talking about?"/patronizing behaviour (when it's crystal clear what you mean)
And usually the ones with thinner skin are the ones who try to push fundamentally bad things.
I'm not fine with that. He's questioning whether another human being should be allowed to live or survive. I'm puzzled how calling for someones death (retroactively or not) is even remotely defensible in this context.
He's not calling for someones death. He's using hyperbole to make a point.
You're of course free to find that offensive, but if you think he's genuinely questioning whether or not another human being should be allowed to live or survive, you don't understand the message.
EDIT: It's also a point that likely stems from longstanding frustration. The amount of userspace software that does stupid amounts of system calls because people still do not realise how expensive system calls are is astounding. My favourite high profile pet peeve with this used to be the MySQL client library (don't know if it's been fixed) that used to do an astounding number of tiny read()'s which could have been cut to a tiny fraction with some basic user-space buffering. You can often find substantial bottlenecks in applications in about 10 seconds by attaching strace and look for stupid amounts of syscalls.
It's not to be taken literally. Still though, it seems over the top.
I think part of the problem with Linus' style is that people will inevitably try and imitate him. Not many will manage the intelligence and coding skills, but pretty much everyone can be a jerk if they put their mind to it.
I suppose you can say it's not his fault if people do that, but perhaps with a bit more kindness (to people, not to their bad ideas), the world would be a better place.
> but of course this is HN and some people take everything literally.
I have my pet theory that getting outraged about random things like that is not genuine, but just signalling. You can see a lot of this kind of behaviour among the social justice movement.
hyperbole or not, credible threat or not - questioning other humans livelihood is unacceptable in this setting. It's overly aggressive and attacks the person behind the code. I'd rate "you're not worth living" the ultimate insult.
> You seem to lack basic reading comprehension, come from a sheltered environment, have aspergers or is just trolling
This kind of comment has no place on Hacker News. I'm sure you know that.
All: when you see a comment that is particularly bad for HN, please flag it by clicking its timestamp (e.g. "4 hours ago") to go to its page, then clicking "flag". We monitor these flags and take action based on them.
Not ok. Personal attacks are not allowed on Hacker News, even when someone else has posted something inappropriate. Especially then, in fact, since those are the moments when a civil response contributes most to the community.
(There's also a bit in the HN guidelines against all caps.)
Because SJW culture (which has a sickeningly strong presence here) has convinced everyone that they have a right to be offended, and this right needs to be enforced through every nook and cranny of the Internet.
The problem in essence comes down to only dealing in absolutes. There may be a time or place for anything, and the sign of experience is to know when that time and place is.
Sadly the web has made it all too easy to take something out of its context.
I've been thinking a lot about this lately.
Does the end justifies the means? Should we allow us to have dick developers because the come up with great code?
My moral says no, but my craving for progress says yes.
It's a battle that's been driving me nuts for a long time.
Incidentally, this kind of incidents might slow down progress in the long term.
update: by this kind of incidents i mean him being an asshole, not people telling on him.
update 2: i don't endorse his behaviour.
I have remarked here multiple times that I regard "the end justifies the means" as the perfect definition of evil, but I'm not sure that is what's going on here.
I don't think Linus or Theo are inherently dicks. They actually seem to be awfully nice guys for the most part. Unfortunately, we seem to have a generation of people that cannot take the hint that their code needs work or they just don't seem to pay attention to what is going on. I'm not sure if its a symptom of rapidly developing code and then fixing it later. Most BDFLs are under stress and need to set clear boundaries. It seems like people only pay attention to the bombastic and not the subtle.
> I have remarked here multiple times that I regard "the end justifies the means" as the perfect definition of evil
I personally disagree with this definition; for me "end justifies the means" sounds like a perfectly rational conclusion, but not for humans - it's too common a failure mode for a man to follow this maxim, and it almost always ends bad; hence we have that saying.
> Unfortunately, we seem to have a generation of people that cannot take the hint that their code needs work or they just don't seem to pay attention to what is going on.
I agree. Moreover, I think we have a generation of people who like to take offense at anything and everything, mostly for signalling reasons. "I am offended by what you wrote, therefore I am a better person and you are wrong".
> I personally disagree with this definition; for me "end justifies the means" sounds like a perfectly rational conclusion, but not for humans - it's too common a failure mode for a man to follow this maxim, and it almost always ends bad; hence we have that saying.
I have never heard a person use that phrase and not violate the rights of other humans and their own morality. It is the gateway phrase people use to justify some act that they admit, by using that phrase, is not honorable. It's the phrase you say right before walking on that road paved with all those good intentions.
This post elaborates on the topic a bit more, and after reading it some time ago I ended up agreeing with its conclusion - that the phrase is OK from theoretical standpoint, for perfectly rational actors, but not for humans - hence the heuristic, "end does not justify the means".
> Should we allow us to have dick developers because the come up with great code?
Even if we're making this "the only thing that matters is how great the code is" argument, there are good arguments against allowing people to be hostile.
You never know whether the size of your developer community could be larger. If you're turning 10 expert but conflict-averse developers away for every one asshole genius, it is unlikely that your code output/quality is being maximized.
There's no shortage of people -- even people who are paid to hack on the kernel every day! -- who say that they refuse to engage with the upstream community due to the hostility they expect to receive or have received.
The key thing is that size is not the most important measure of a dev community. A larger community of low-skill low-time-commitment devs may be substantially less valuable in practical terms than a few highly skilled and highly committed devs.
There's also the question of if the people to whom you refer would change their behavior if the item they point to was removed. As we all know, what people say they will do and what people actually do often diverge.
A better question, perhaps, is if a warm, accepting, sensitive community produces technically superior products.
A community that is all those things is of immense social value to those who feel accepted as a result, but warm fuzzies aren't the same as working software.
If you look across history, genius and caustic personalities seem to go hand in hand. Only that Torvalds is venting on a public and logged mailing list, while in previous times it was mostly stated verbally in private conversation.
Is Linus euphemistically referring to someone specific there that everyone taking part in the conversation knows the real name of very well and who probably read that comment and recognized themselves, or is the idea of whomsoever decided that that thing should work "one byte at a time" a more diffuse fact that's obscured in history? That makes a difference in that particular situation, I feel.
Not at all. Both are about not conforming to unstated conventions. A lot of what's been written about "unprofessional" applies equally well to "offensive".
You have a point. While I don't think being an asshole is a part of hacker culture, I can see a lot of things hacker say and do be labelled as "offensive" or "unprofessional", because they break unwritten rules about behaviour. Most of the time I saw that happening it was because hackers tend to state things directly instead of engaging in political correctness that is perceived to be a waste of time.
Because Stallman food habits are just ugly, not something one can point at and say "I'm offended!". There's a difference between saying "Yuck! I don't feel comfortable around that person." and "I am offended, you need to change yourself!". People are defending Torvalds from people with second attitude.
I love how grudging this is. It's like when someone apologizes for you feeling a certain way, rather than for what they did. Half the "code" is claiming that nothing is wrong and the kernel is perfect because reasons, and the TAB is 80% white guys. Isn't meritocracy perfect?
On the other hand, this is a step in the right direction and I'm not a kernel developer, so I shouldn't nit pick too much.
Why are you judging the TAB members based entirely on their ethnicity and apparent gender?
"80% white guys" - yes, and if you don't know who's gay, who's transgendered, or how these individuals handle conflict, then this observation is kind of irrelevant.
Being racist and sexist isn't going to help an already toxic environment.
There is a well known and studied lack of diversity in the open source community, and particularly in linux kernel development. Putting this code in place is meant to address that, so it's reasonable to point out the various half-measures.
And these real social problems are going to be resolved by empowering the people who are poorly represented, not by bringing people down because of something they are.
You're in your right to disagree, but the answer to wrong has never been more wrong. Educate. Raise awareness. Encourage. But snarky remarks about the race and apparent gender of people? Not helpful.
i find quite sad that the same people that say that you shouldn't judge people for the color of their skins and that we should have diversity also take people down for being white.
nobody chose to be white, just like nobody chose to be black. you shouldn't define a person for their skin color, gender or sexual preference, you should define a person by what they are.
Whenever someone says "There are too many [white people|men] in XXX", it sounds like there's an implicit "... so we should kill some of them" in my head. That's how offensive it sounds to me.
I'm totally being helpful. If you increase the sincerity of the code (and remove the stupid non-apology and change the spiteful name) and provide more diverse oversight then you will have an immediate positive impact.
It could be seen as spiteful, or it could be seen as a compromise. Bear in mind that not all kernel developers have the same views on civility, codes of conducts, etc. and some will not want to lose face by being seen to "capitulate completely to SJWs" (as some of them would probably see it). Arguably it's better to have this kind of compromise than nothing at all.
Perfect is the enemy of the good. Change is made by small steps, not giant leaps.
That said, if you know people in the Linux community who are more qualified than one or more of the people in the TAB, totally encourage them to apply and encourage TAB to accept them.
That's a pretty broad statement to make; do you have some examples? Linus's coming down on people is practically legendary but I don't remember seeing a lot of grief coming out of Greg over the years.
Linus posts are legendary because of a combination of his high profile and their extreme hyperbole. It's trivial to be condescending and insulting in ways that wouldn't be entertaining to post about (note: I have not read many of Greg KH's posts, so I have no idea how he usually comes across), so that doesn't say all that much.
And, I enjoy that it's called "code of conflict", as it's clear that getting code into the kernel is still going to involve a fight, it's just going to be a civil one wherein everyone is following some basic rules ("no hitting below the belt", so to speak).