Linux Code of Conflict
git.kernel.org
git.kernel.org
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).
Note how Linus did not ACK the commit. Haha.
Someone also brought up Sarah Sharp. This was discussed heavily in the /r/linux subreddit [2] about a year ago.
[1] https://en.wikipedia.org/wiki/Management_by_perkele [2] http://www.reddit.com/r/linux/comments/1idt79/kernel_develop...
The WP article isn't helped by the longest section dismissing itself as tangential in the first sentence...
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...
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.
Really?
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.
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".
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.
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.
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.
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.
Totes my mistake, carry on.
Looking for a nuanced argument in this particular tweet in isolation is disingenuous. When I want to know what someone means, I investigate deeper.
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.
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.
* 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.
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.
> 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.
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".
> 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.
Seems rather disingenuous to me.
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.
The document's second paragraph is:
> 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?
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.
Simple and clear beats beauty here as well.
There are a lot of rude people, people who answer in several ridiculous ways, etc.
Linus answers may be rough, but it's usually a clear answer, and well founded. There's a lot of worse behaviour out there (especially in subsystems)
https://lkml.org/lkml/2012/7/6/495
You never know when it hits you.
What I'm not fine with:
"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 puzzled by how someone can miss that, 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.
Sadly the web has made it all too easy to take something out of its context.
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.
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.
Many insults are not meant literally.
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 think censoring people like Linus when they are clearly using hyperbole or other figures of speech is rude and immoral.
Now what do we do?
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.
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.
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 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 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.
http://lesswrong.com/lw/uv/ends_dont_justify_means_among_hum...
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".
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.
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.
Diversity issues aside, is it true that the token Asian was rejected due to accusations of being a rape apologist?
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.
"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.
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.
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.
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.