|
|
Subscribe / Log in / New account

Conflict over a code

By Jonathan Corbet
March 18, 2015
A new "code of conflict" was merged into the mainline kernel on March 8. Since then, your editor has endured news articles, direct emails, and being cornered at conferences; it seems that just about everybody has an opinion to share on this little document. Much of what has been said shows, in your editor's opinion, a misunderstanding of what the code is and what it is trying to do. So here are some thoughts on the matter.

It should be emphasized that these are your editor's thoughts; they are not representative of anybody else. The Linux Foundation's Technical Advisory Board (TAB), which is named as the resolving body in the code, and of which your editor is a member, does not even know the article is being written. Even your editor's dog has requested an explicit disclaimer stating that these are not her opinions. But, then, the dog's opinions are mostly concerned with whether something is edible or not.

Perhaps the most surprising thing from your editor's point of view is the articles portraying the code as directly aimed at Linus Torvalds; expressions like "slap down" or "rein in" are not hard to come by. One particularly amusing piece saw it as a deliberate attempt to undercut an "over the hill" Linus and, presumably, take his place. In fact, Linus was given the opportunity to comment on the code and was, of course, the person who merged it into the mainline. It would be unusual for somebody to cooperate in his own reining-in in this way.

If the behavioral problems on the kernel mailing lists could be solved by muzzling one person, the issue as a whole would be much more easily dealt with. But that is not the case here; opinions differ on how large the problem in the kernel community really is, but it is a rare participant indeed who thinks it comes down to a single individual. Attempts to change the way a community behaves generally require addressing the community as a whole; that is what the code of conflict is attempting to do.

There is another line of thought that sees the "code of conflict" as a no-op statement with no teeth. What your editor has heard from a number of sources is that the code looks like an attempt to paper over the problem without actually doing anything about it.

This code does differ from the codes of conduct adopted by a number of other projects. It states from the outset that conflict over technical issues is a part of how the kernel community works. It lacks a list of specifically prohibited behaviors — something that a number of critics have pointed out. There is no list of specific sanctions that can be applied to developers who are deemed to violate the rules, whatever they turn out to be. The code places the onus on the target of abusive behavior to raise the issue with a distant group of ten developers who may or may not have this person's trust. All of this, to some, means that the code is not designed to actually bring about any real-world change.

From your editor's understanding, the list of unwanted behaviors was left out for a couple of reasons: to keep the code short and comprehensible, and to avoid attempts to play games around the edge of the rules. So the actual rule is short and simple: participants are not to be made to feel "personally abused, threatened, or otherwise uncomfortable". The assumption is that targets of abuse can tell whether they feel abused without having to check a list of specific behaviors. The concern that such people may be more reluctant to complain without a specific rule to point to may have more merit. The good news is that the community is full of sharp-eyed observers who are likely to blow the whistle on poor behavior even if the target feels too intimidated to do so.

With regard to specific sanctions, there are limits on what can be done. Those who abuse the kernel mailing lists can already be banned; that has recently happened, for example, to some of the persistent systemd trolls who tried (unsuccessfully) to stir up flame wars recently. There is no community process that could, say, remove an abusive subsystem maintainer from that role. One could imagine that the TAB might advise such a course in an extreme case, but it would be up to Linus to actually carry it out. Hopefully, though, the bulk of any problems raised under the code of conflict can be resolved without resorting to punishments or the threat thereof.

At a different extreme, there are those who see the code as the beginning of the end for the kernel community. In this view, the code will curtail debate over code submissions and lead to a lowering of quality standards overall. In talking to many people about this code, your editor has noted that even those who feel most strongly that it should be more explicit and have sharper teeth do not say that it should become easier to get code merged into the kernel. It seems relatively safe to predict that anybody who complains that their code was rejected on technical grounds will be advised to address the issues raised and try again. There is no reason to believe that the standards for kernel code will be lowered.

Years of writing for LWN have given your editor a (possibly twisted) standard for success: if people on all sides of an issue appear to be equally unhappy with an article, it was probably reasonably fair. By that metric, the code of conflict may well be deemed to have gotten things about right: the complaints from the "it's business as usual" and the "it's the end of the kernel" camps both seem loud. At this early stage, it would have been hard to do better than that.

That said, those who see this code as an exercise in being seen to be Doing Something are probably not entirely off the mark. Doing Something does not always turn into "having done something useful" over time. The real value of this code can only be seen going forward. If it empowers the targets of abusive behavior to speak out, and if it helps to bring a resolution of such situations and end that behavior, it will be a success. If so, the kernel community should become a kinder, gentler place, though, in truth, that has already been happening for some time.

A few years from now, we might just look back on the kernel's code of conflict as an inadequate, failed response. But it is far too soon to predict that with any degree of certainty. The thing to do for now is to give it a chance and see if problems arise that the code's process fails to address adequately. As Linus said when he merged it: "Let's see how this works". Even your editor's dog would agree, especially if it came with something to eat.


to post comments

Conflict over a code

Posted Mar 19, 2015 3:09 UTC (Thu) by shemminger (subscriber, #5739) [Link]

Thanks John.
Fair and reasoned analysis of an emotional topic

Conflict over a code

Posted Mar 19, 2015 6:20 UTC (Thu) by smurf (subscriber, #17840) [Link]

To be fair, that document is about the best thing that could have been written without either side being *too* unhappy with it.

Conflict over a code

Posted Mar 19, 2015 8:18 UTC (Thu) by error27 (subscriber, #8346) [Link]

I have heard contributors complain about very foul racist/sexist private emails so I suspect that private emails are more of a problem than the mailing lists.

These days most kernel developers work for companies and risk being fired if they get too far out of line. But who wants to deal with that? If it's a newbie contributor they will just leave instead of getting into a fight.

Wanted behaviors?

Posted Mar 19, 2015 10:43 UTC (Thu) by NAR (subscriber, #1313) [Link] (2 responses)

list of unwanted behaviors was left out [...] to avoid attempts to play games around the edge of the rules

I very much agree with this. What about a list of wanted behaviors? A kind of protocol (in the original sense) to avoid offending. Or something like RFC 2119 to specify words that shall be used in review (e.g. "not acceptable" instead of "this is a pile of excrement").

Wanted behaviors?

Posted Mar 19, 2015 16:58 UTC (Thu) by rgmoore (✭ supporter ✭, #75) [Link] (1 responses)

e.g. "not acceptable" instead of "this is a pile of excrement"

I think the primary goal is not to restrict language that way. It's about limiting the invective to code and ideas rather than the people who submit them. IOW, "this is a pile of excrement" is within the CoC; it's "only someone with excrement for brains would have submitted this" that is outside it.

Wanted behaviors?

Posted Mar 21, 2015 4:32 UTC (Sat) by marcH (subscriber, #57642) [Link]

> "this is a pile of excrement" is within the CoC;

Technically, this is indeed only describing the code and not any person.

Practically, what does everyone think of someone submitting a "pile of excrement"? Compare to someone else submitting something which is merely "not acceptable".

It'd be nice if very clear lines could be drawn, but human communication is not simple enough for that. Rules and guidelines are still very useful because they are enough in most cases, however some level of interpretation is always required for borderline cases like this one.

Conflict over a code

Posted Mar 19, 2015 11:14 UTC (Thu) by dunlapg (guest, #57764) [Link] (17 responses)

In the Benevolent Dictator model, ultimately everything comes down to the Dictator. The reason the LKML is as caustic as it is, from what I can tell, is because

1. Linus himself likes to make a good flame, and

2. In the past (in my observation) he hasn't distinguished, in other people, the difference between attacking code and attacking people.

I'd guess that 10% of all developers actively like the aggressive style on the LKML; 30% of developers don't like it but can tolerate it (at some level); and 60% can't tolerate it and don't participate. Because the 10% are encouraged to emulate Linus' behavior, they set the tone, and drive away the 60% who can't tolerate it, creating a self-sustaining situation, where the most vocal and influential people don't see any problem with the status quo.

If Linus is beginning to get #2 -- or if he's willing to listen to people who get #2 -- then everything will follow from that. He will clamp down on people who step over the line (whatever that line is), and it will only take one or two examples before everyone figures out the new rules and abides by them.

If he still doesn't get #2, and isn't willing to listen to people who do, then nothing will happen -- except perhaps that many people who were tolerating the culture before will become disillusioned and leave, making it more toxic than ever.

Having vague guidelines, and then letting Linus interpret and enforce those guidelines on a case-by-case basis, has worked pretty well in the past, and is perfectly in line with the general Linux development model.

Conflict over a code

Posted Mar 19, 2015 15:12 UTC (Thu) by corbet (editor, #1) [Link] (16 responses)

I'm sort of curious as to where your numbers come from...if we were driving away 60% of our potential contributors, it would be hard, to say the least, to continue to grow the community. But the community does grow, so I suspect the situation is not anywhere near that bad.

There is no doubt we can do better; I acked the CoC for a reason. But I think we should be careful in how we characterize the problem and not turn it into something rather bigger than it really is.

Conflict over a code

Posted Mar 19, 2015 16:37 UTC (Thu) by dunlapg (guest, #57764) [Link] (14 responses)

Well 80% of statistics are made up on the spot, right? :-) The idea isn't to be exactly accurate, but to paint broad strokes.

My impression comes from my own interaction with submitting patches (which is relatively minimal), and what I hear from a number of my colleagues who work in the community on a regular basis.

It may be heavily skewed by the particular maintainers that I've had to work with. Every mail I've received from the maintainers I've worked with -- even mail approving a patch to be accepted -- has been technically sound but laced with emotional poison and made me angry. I like arguing and discussion, but there's no way that I could work with those guys on a regular basis. I know a number of developers who minimize their interaction with the LKML for similar reasons. I would be really surprised if more than 40% of all the developers in the world could put up with it. And I know a number of people who aren't happy with the status quo, but don't want to talk about it for fear of alienating the maintainers on whose cooperation they rely to do their work.

Just to be clear -- I think there are three independent axes on which any communication can be:

* Direct vs indirect
* Polite vs rude
* Technically critical vs personally insulting

Whenever Linus is asked about the communication style on the list, he only talks about the direct/indirect axis, and says that he thinks direct is the best way. But the reality is that you can be any combination of these (direct / polite / technical; direct / polite / personal; indirect / polite / personal; &c)

From my observation, although Linus himself is occasionally rude, he is almost never personal: he always describes what someone *did* in their code, not what they *are*. Rude but technical doesn't bother me, but a lot of people I know find even that unpleasant and a drain to work with. But a lot of other people on the list are personal, which is the real poison.

40% of the developers in the world is an awful lot of space to grow in; and it's a testament to Linus' leadership in most areas of the project that it's succeeded as well as it has. But I can't help but think that it would have grown *even more* if the development community weren't alienating and making life difficult for so many people who want to participate.

Some discussion of this, including some quantification of this effect in other open-source projects, can be found here:

https://www.youtube.com/watch?v=-ZSli7QW4rg

Conflict over a code

Posted Mar 19, 2015 17:36 UTC (Thu) by bfields (subscriber, #19510) [Link] (1 responses)

Very much agreed on the conflation of directness, politeness, and criticism. It's not that hard to manage all three at once.

Conflict over a code

Posted Mar 19, 2015 19:00 UTC (Thu) by bfields (subscriber, #19510) [Link]

(But, also agreed with corbet and viro that the numbers and examples here are very hand-wavy.)

Conflict over a code

Posted Mar 19, 2015 17:39 UTC (Thu) by viro (subscriber, #7872) [Link] (8 responses)

Umm... What patches would those be and when had that been? You are George Dunlap, right? Then the only commit of yours I'd been able to locate (since 2.4.0) is "perf/x86: Check all MSRs before passing hw check" two years ago. Who were the maintainers you worked with? Ingo? I had quite a few run-ins with him over the years, but it doesn't sound like him at all...

<googles a bit> The message(s) approving the patch to be accepted were "Looks good to me - Peter, any objections?" from mingo and "Nope, looks good" from peterz... Where's the emotional poison?

Or am I completely misidentifying you (or patch in question)?

Details, please. I assume that your "paint broad strokes" (rather than being exactly accurate) referred to percentages of developers with different reactions to l-k and not to the actual events you were mentioning right after that...

Conflict over a code

Posted Mar 19, 2015 19:48 UTC (Thu) by dunlapg (guest, #57764) [Link] (7 responses)

Is this Al Viro I'm talking to then?

Yes, this is George Dunlap. Unfortunately I thought my nick was "gwd" and so would be a bit more anonymous. "dunlapg" doesn't even look like it's pretending to be. :-)

You may have noticed that I was purposely vague about the who and the what. I don't want to get into a public accusation about particular people, for a number of reasons. If you want an analysis of what was said and why I had the reaction I did because you genuinely want to understand what I'm talking about, then I'll try to write one up and mail you privately. If you just want to prove to yourself that everything's OK, I won't bother.

In any case, as the video above says, it's not about individual interactions, but about a pattern. After all, maybe the handful of interactions I had were on bad days -- for them (they were uncharacteristically harsh) or for me (I was having a bad day and misinterpreted what was said). But if a significant number of people have a significant number of negative interactions, then that's evidence of a real problem.

The tone of the LKML is infamous; it's brought up on a regular basis in public forums (e.g., https://www.youtube.com/watch?v=1Mg5_gxNXTo around 14:40 and 27:50), and mentioned in private even more. If you don't hear complaints about it, I'm not really sure what to tell you.

Conflict over a code

Posted Mar 19, 2015 20:23 UTC (Thu) by corbet (editor, #1) [Link] (6 responses)

The tone of the LKML is infamous, but I suspect it's most infamous among those who don't actually hang out there. I probably read more of LKML than just about anybody, and I often wonder where this comes from; it seems like a very 1990's view of the community. If the tone is so bad there should be plenty of examples, from within the last month, say, of unpleasant behavior. Care to point some out to me? What am I missing?

Conflict over a code

Posted Mar 19, 2015 20:54 UTC (Thu) by cesarb (subscriber, #6266) [Link]

There's probably a filter effect; people who don't have the time or inclination to follow the one-thousand-messages-per-week LKML end up reading only about the outliers. They don't read about highly technical almost-ten-levels-deep threads discussing the finer points of compiler barriers.

Conflict over a code

Posted Mar 19, 2015 21:29 UTC (Thu) by bronson (subscriber, #4806) [Link] (4 responses)

> I suspect it's most infamous among those who don't actually hang out there.

So true. Hacker News mounts up every few years to whine and moan about how poisonous the LKML is and why doesn't someone else do something about it, and then goes away.

Here's a somewhat recent example: https://news.ycombinator.com/item?id=8415667

Without exception (that I can find), those screaming the loudest are also those who have never subscribed.

To flip out about someone's public behavior, especially when your entire knowledge is based on cherry-picked tabloid quotes and not any first-hand experience... That feels somewhat hypocritical TBH.

Conflict over a code

Posted Mar 19, 2015 21:32 UTC (Thu) by bronson (subscriber, #4806) [Link] (1 responses)

I should have made it clear: yes, I believe the LKML has a lot of improving to do, starting with Linus himself.

But, taken as a whole, it's a pretty decent place to work. It's nowhere near as bad as the loudest commenters claim it is.

Conflict over a code

Posted Mar 19, 2015 22:31 UTC (Thu) by viro (subscriber, #7872) [Link]

Er... You do realize that Linus is not on l-k? As in, had not been subscribed to it for years and if you want him to see some mail, you'd better Cc or forward to him.

The same goes for a lot of active developers; personally, I still hadn't unsubscribed, but I end up deleting unread considerably more than 90%.

These days l-k is more of a public archival mechanism; way back then it used to function as a primary development list, but that role had already been on decline back when I first subscribed to it ('98 or so). A lot of development threads get Cc'ed there, as a courtesy and for archival purposes, but that's it. More specialized lists are different (fsdevel, linux-arch, netdev, etc.), but l-k proper is too high-volume for that.

So complaints about "LKML toxic culture" sound somewhat quaint, to be honest...

BTW, speaking of the thread where the patch from dunlapg had been discussed and accepted - he had some reasons for being annoyed in that thread, but not by emotional abuse (check yourself, it's on https://groups.google.com/forum/#!topic/linux.kernel/XIEi...; everyone had been nice and polite by any possible standards). But having the patches sit uncommented for 4 weeks total *is* annoying. The bottleneck is neither on the producing side (there's a lot of contributors and they send a lot of stuff) nor in merge bandwidth (bk had helped and git had pretty much resolved that one); it's in the bandwidth of _reviewers_. Had been that way for more than a decade now.

And getting more contributions would do nothing to alleviate that bottleneck, obviously. FWIW, last year I had been on the receiving end of rather indignant comments about the inferior workflow of the kernel developers. With python, of all things, being offered as an example of How To Do It(tm). Question that had really changed the tone of the discussion was simple - "how will your superior workflow scale to <that many> commits per month and <that many> contributors?" Both being a _lot_ more than in python git repository...

It's not that we don't need the contributions or would rather have fewer folks contributing, but that's _not_ where the worst shortage is. If the submission rate would double, we would almost certainly hit a serious crisis - most of us often have long queues of things to review and integrate as it is and doubling the inflow would flat-out exceed the available bandwidth in a lot of places.

What we need is more reviewers familiar with the kernel and it takes a while to become such ;-/ I really wish more newbies would pick an area and start RTFS looking for bugs and learning the things in there - would be a lot more useful than ten thousand first patch tweaking the amount of whitespace, both for them and for us. Oh, well...

Conflict over a code

Posted Mar 21, 2015 4:46 UTC (Sat) by marcH (subscriber, #57642) [Link] (1 responses)

> Hacker News mounts up every few years to whine and moan about how poisonous the LKML is and why doesn't someone else do something about it, and then goes away.

Unfortunately just the main way for "Journalism" to make enough money to survive. Nothing specific to hi-tech.

Conflict over a code

Posted Mar 21, 2015 6:13 UTC (Sat) by alison (subscriber, #63752) [Link]

The claim that the reputation of Linux kernel mailing lists is much, much worse than the reality is true, based on my personal experience. The problem is that the reputation may scare potential contributors away even when it is undeserved. Rather than wring our hands over bad tabloid coverage (LWN excepted!), the question is what to do about it. While the CoC seems about right for the actual situation within the kernel, it won't help us win the publicity war.

I do think that there are particular maintainers who tend to be abusive. If one were to criticize Linus' leadership, it might be to wish that he should rein in those individuals. (Don't go scrutinizing my patches, as maintainers have been unfailingly polite and encouraging to me.)

Conflict over a code

Posted Mar 20, 2015 1:09 UTC (Fri) by jschrod (subscriber, #1646) [Link] (2 responses)

You wrote:

> 2. In the past (in my observation) he hasn't distinguished, in other
> people, the difference between attacking code and attacking people.

This was your main accusation, about the main problem that has to change at LKML.

Then you replied, after being asked to substantiate your accusation:

> From my observation, although Linus himself is occasionally rude, he is
> almost never personal: he always describes what someone *did* in their
> code, not what they *are*.

This doesn't match. Does Linus attack code, or does he attack people?
What's your opinion? Please back it up by citations (facts).

Especially interesting in your GGP posting about Linus' bad influence on LKML style is the reported fact that Linus isn't subscribed to LKML and doesn't really participate in discussions there. See Al Viros comment about that, in this thread.

Conflict over a code

Posted Mar 23, 2015 17:19 UTC (Mon) by dunlapg (guest, #57764) [Link] (1 responses)

You apparently missed the "in other people" part in the first quote.

What I was saying was that although Linus himself (in my limited experience) tends to attack code and not people, it doesn't seem to me from his responses to questions to understand the difference between being harsh to code and being harsh to people. It's no contradiction to say that although he doesn't do a certain behavior, he doesn't seem to recognize that behavior when someone else does it.

(I'll try to address the other issues in another comment.)

Conflict over a code

Posted Mar 29, 2015 3:02 UTC (Sun) by jschrod (subscriber, #1646) [Link]

> You apparently missed the "in other people" part in the first quote.

I didn't miss it; I didn't understand it. Maybe because I'm not a native English speaker.

> What I was saying was that although Linus himself (in my limited
> experience) tends to attack code and not people, it doesn't seem to me
> from his responses to questions to understand the difference between
> being harsh to code and being harsh to people. It's no contradiction to
> say that although he doesn't do a certain behavior, he doesn't seem to
> recognize that behavior when someone else does it.

OK; that i can understand and subscribe to, to a certain extend.

What I observe is: Linus only cares about his own conversation style. He reacts and contemplates only attacks that are about his personal email style; the rest get ignored by him. He doesn't accept criticism of his frank communication style readily, since it's usually targeting people he knows well and who know (and often publicly acknowledge) the reason why he sends vitriol to them.

You wrote, he attacks code, not people. Well, that's not quite true. I saw him "attack" people as well, people he trusted and who planted changes on Linux he didn't expect them to do. But this kind of "attack" is more akin to the scolding a sub-project leader gets from his guidance committee on their weekly/monthly meeting, in my experience words are much harsher there, not that I think that's appropriate and goal-oriented...

The bigger issue, IMHO, is that people seem to want Linus more to do than he's willing to provide. Linus is expected to set an example of "how to communicate on LKML". He's implicitely expected to reign in those how overstep communication style there. His own communication style to his "lieutnants" (btw, a communication style that would be private in a propriate development culture) is often attacked, sometimes not; but most often it is attributed as perpetuating communication style on LKML. That he's not even subscribed to LKML is not acknowledged and not taken into account into these postings. He get's accused to the fact that non-reigning on a mailing-list he's not subscribed to does not happen -- even though it's acknowledged at the same time that he himself is not guilty of "attacking people" (which he does, as I mentioned above).

Well, the problem seems to be: Linus doesn't seem to be feel himself to be a member of the "LKML community" however they constitute themselves. He doesn't seem to care about the communication style there, isn't even subscribed himself -- witness his commit remark, paraphrased "let's see how his pans out". He obviously thinks himself as an obeserver here, not as an actor -- and you want him to be an actor. He declines.

In my opinion, it's an question open for discussion if that is a problem that we can attribute to Linus, or if it's your problem. Who can decide what the role of Linus in Linux development shall be? Currently, only Linus himself.

You seem to want to establish more responsibilities on him that he is not willing to take. In a proprietary environment, that is easy: convince his managers and tell him to take the task. But in Linux development, you don't have an executive with that power and thus other means are sought. IMNSHO, it's a pity that the intentions behind those other means -- convincing Linus to take on an additional non-technical task that's advantageous to the overall project but that he doesn't want to do -- are not clearly spelled out.

PS: My own thoughts about that topic are not finalized. I recognize the bias in Linux' development culture towards male dominant personalities. After all, I'm married to a CS Geek myself and share her dread experience in IT culture. (Myself, actually, I would paint Ingo Molnar more as an actor in the push-contributors-away camp than Linus Torvalds, btw. Maybe you want to talk with Con Kolivas about that.) But I'm not at the point to pin that mis-balance on Linus, personally.

Even more to say, I don't think it's his reponsibility to change our communities' behavior. It's our common responsibility, for each of us. We shouldn't duck away saying "Linus does it as well". He doesn't do it, not in the sense that he's attacked of. All the other guys, with their scolding remarks targeting newbies, not following Linux path, need to touch their own noses. *We* need to tell *them* to shut off; we don't need to tell Linus how he communicate with his lieutnants.

Conflict over a code

Posted Mar 20, 2015 0:45 UTC (Fri) by rodgerd (guest, #58896) [Link]

> But I think we should be careful in how we characterize the problem and not turn it into something rather bigger than it really is.

I recently spoke to someone about their experiences working for a company that contributes to upstreams regularly, and their comment was that the company was great, doing work that the community could do was great, but the experience of dealing with free software projects was a *constant, grinding misery* of cockish behavior. I will note that person's next couple of jobs have been in non-free software companies.

Sure, it's anecdata. But it's not exactly isolated.

Conflict over a code

Posted Mar 19, 2015 15:39 UTC (Thu) by jdub (guest, #27) [Link] (8 responses)

My main issue with it is the title. The content is okay, a little weak, but I can understand projects taking incremental steps on what may seem like a major change to some participants.

But sheesh, way to undercut an attempt at leadership. The jokey title represents the maturity with which the kernel community has approached a very serious issue. They've quoted Bill & Ted, but the title just reeks of Fight Club.

Linus may want to focus on technical matters, but FLOSS is a social movement. You may disagree that the movement or people involved have social goals ("make the world a better place"), but it is inarguably a social process. That means we need to pay attention to social matters.

We SHOULD lead the industry in representation, behaviour, participation, etc. But we don't.

We've known since FLOSSPOLS almost 10 years ago that leadership is part of the solution. But when will Linus catch up?

Conflict over a code

Posted Mar 19, 2015 15:50 UTC (Thu) by gregkh (subscriber, #8) [Link]

I named the document, and take responsibility for that name.

Yes, it's "cheeky", but it's not a normal "code of conduct" at all, so I didn't want to try to name it as such, which would have just confused people even more.

Conflict over a code

Posted Mar 20, 2015 3:32 UTC (Fri) by nevets (subscriber, #11875) [Link] (5 responses)

> But sheesh, way to undercut an attempt at leadership. The jokey title represents the maturity with which the kernel community has approached a very serious issue. They've quoted Bill & Ted, but the title just reeks of Fight Club.

Yes, it's a little cheeky. But if you want people to read it, then it's better to be not so serious, than to read like a legal document. This is a social issue, and when you read something like this, hopefully it tones your mood a bit. The biggest insults I have seen on LKML come from a maintainer that is grumpy. You make maintainers less grumpy and they will respond a bit nicer. The point is to try to get us all to get along. The more serious someone is, the more likely I expect that person to throw out an insult.

Conflict over a code

Posted Mar 21, 2015 4:38 UTC (Sat) by marcH (subscriber, #57642) [Link] (4 responses)

> The biggest insults I have seen on LKML come from a maintainer that is grumpy. You make maintainers less grumpy and they will respond a bit nicer.

Maintainers are grumpy when they care too much and have too much time to waste. Ignorance (of people not paying attention the first time) is much stronger and more effective than grumpiness and it does leave anything to complain about.

This says it better: http://xkcd.com/386/

Conflict over a code

Posted Mar 21, 2015 14:07 UTC (Sat) by nevets (subscriber, #11875) [Link] (3 responses)

You obviously have no clue what you are talking about, and that cartoon that you linked to proves it. That cartoon is more of an example of Social Justice Warriors that complain about Linus being too rude than about grumpy maintainers.

Maintainers are grumpy for the exact opposite reason you mention. They have too little time on their hands. They are overworked and are struggling with some technical problem that is taking much longer to solve than expected. Then a patch comes in that is broken and the author refuses to listen to why it is broken. That maintainer doesn't have time to hand hold the author of the patch and sometimes gets nasty with the replies. Stress makes one grumpy, not having too much time on your hands.

I'm not saying it is right that a grumpy maintainer sends someone a nasty email. But maybe the solution is to help them be less grumpy, and they may be nicer in their replies. But your comment is totally off the mark, and shows that you have no idea about kernel maintainership.

Conflict over a code

Posted Mar 22, 2015 5:42 UTC (Sun) by marcH (subscriber, #57642) [Link] (2 responses)

> They are overworked and are struggling with some technical problem that is taking much longer to solve than expected. Then a patch comes in that is broken and the author refuses to listen to why it is broken.

... then some maintainers strangely keep wasting their time reading such patches and writing nasty replies to their author, instead of just inserting his name in their kill file. Too much care doing more harm than good.

Thanks for not just your violent agreement, but also - and even better - a similar demonstration here again.

> But your comment is totally off the mark, and shows that you have no idea about kernel maintainership.

My comment has nothing specific to the kernel; it applies anywhere. Violent agreement number 2.

Conflict over a code

Posted Mar 22, 2015 13:30 UTC (Sun) by nevets (subscriber, #11875) [Link] (1 responses)

> then some maintainers strangely keep wasting their time reading such patches and writing nasty replies to their author, instead of just inserting his name in their kill file. Too much care doing more harm than good.

When someone submits a patch to code you maintain, it is your obligation to send a reply. Reviewing patches is part of the maintainers job. Ideally, you review the patch and the author listens to you and corrects the mistakes. But when you "waste" time reviewing a patch and the author ignores your comments that tends to piss the maintainer off. I'm not saying it is right to reply nasty, but it still requires a reply. And the "kill file" is actually the biggest insult you can do to a patch submitter.

> My comment has nothing specific to the kernel

Then why bother commenting on this thread at all? The topic is about the "Code of Conflict" that was added for kernel development. I'm specifically talking about that document and why it was added and why kernel maintainers are grumpy and post nasty replies. What are you talking about?

> it applies anywhere. Violent agreement number 2.

I would agree if we were talking about social media and news article comments, as those are all about opinions and not technical discussions like kernel development is. But this is not about social media, it's about discussing technical issues in a polite manner that people on both sides fix the problems at hand.

I think we are in violent agreement that you do not understand kernel maintainership.

Conflict over a code

Posted Mar 23, 2015 6:05 UTC (Mon) by marcH (subscriber, #57642) [Link]

> When someone submits a patch to code you maintain, it is your obligation to send a reply. [...] I'm not saying it is right to reply nasty, but it still requires a reply.

Up to a point (the point of nastiness)

> And the "kill file" is actually the biggest insult you can do to a patch submitter.

It's not nice but it's certainly not an "insult".

Anyway the "kill file" was just a image to try to get the original point across: in various projects all over the world, public and private, over-busy maintainers and tech leads have to manage their time and prioritize high value contributions over hand-holding / spoon-feeding, neglecting the latter and treating it with just silence because of lack of time. Such a neglect is neither ideal nor desirable, yet it happens constantly and causes orders of magnitude less drama than swearing and actual insults, never makes any headline in Hacker News or anywhere else, and does not require any Code of Whatever. It's just basic meritocracy and it just works; routinely.

> Then why bother commenting on this thread at all? [..] I'm specifically talking about that document and why it was added and why kernel maintainers are grumpy and post nasty replies.

Because the kernel community is quite clearly not as special as you seem to think it is, it's made of almost normal human beings, and any drama happening to it is barely different from what happens and happened anywhere else, including in ages-old literature - or brand new like XKCD.

> I think we are in violent agreement that you do not understand kernel maintainership.

Repeating this is not going to make it more relevant (afraid relevance is not the main intention behind the repetition).

Conflict over a code

Posted Mar 21, 2015 4:55 UTC (Sat) by CChittleborough (subscriber, #60775) [Link]

Actually, I found the title very helpful. It says two important things about the code: it is about (resolving) conflicts, and it is NOT a "Code of Conduct".

Conflict over a code

Posted Mar 19, 2015 21:34 UTC (Thu) by caitlinbestler (guest, #32532) [Link]

The private industry projects I have worked on have all worked on a "criticize the code, not the coder" rule since the 80s.

It's actually a very simple rule to follow, and can actually make it easier to offer criticism of the code.

Conflict over a code

Posted Mar 20, 2015 9:29 UTC (Fri) by patrick_g (subscriber, #44470) [Link]

Good comment of this new "Code of Conflict" here by Paul McKenney : http://paulmck.livejournal.com/39451.html

Conflict over a code

Posted Mar 20, 2015 15:09 UTC (Fri) by cdmiller (guest, #2813) [Link] (1 responses)

As a "cat herder" of technical sysadmin and network types, I have found in general the default attitude from many of the highest skilled employees is simply one of a war on incompetence, and there is nothing wrong with that. Some folks take their work quite personally and thus any criticism of their contribution can suddenly be a personal matter. That becomes a real problem if their attempted contributions are lacking in substance and there is a pattern of little or no improvement over time. In the worst case some of those folks start making claims of victimization of various ism's by their detractors, further muddying up the workplace climate. Setting the focus on accomplishing the overall technical goals and fostering attitudes of helping (or schooling) each other to improve technical acumen can be a real challenge even with a set of behavioral ground rules. Many differences in communication styles can be forgiven by all parties involved when common technical goals are being met and great results are being produced and regularly acknowledged. For some, tearing each other down can be as fun of a hack as the regular hacking, but if it becomes the primary focus and continues despite reasonable objections then productivity can suffer (depending on one's definition of productivity).

Conflict over a code

Posted Mar 21, 2015 14:21 UTC (Sat) by nevets (subscriber, #11875) [Link]

Very nice comment.

> For some, tearing each other down can be as fun of a hack as the regular hacking, but if it becomes the primary focus and continues despite reasonable objections then productivity can suffer

I believe this was the attitude of the Linux kernel community back around 2005. I saw some very heated and personal flamewars back then. But the kernel community has matured since then, and personal attacks are now a very seldom occurrence. But LKML got a reputation and people still talk about their experiences of over 10 years ago when saying the Linux kernel community is a vile place. I keep asking people that say how bad the attitude of kernel developers are to show recent examples, and they tell me I'm "moving the goal posts" (whatever that means). I believe my question is very appropriate, but kills their arguments.

I'm not saying that there are not nasty personal replies from kernel developers today, but I will say they are now more the exception and not the rule. The Code of Conflict is to help squash out those exceptions, but it is not going to stop people from ripping your code apart. It will only stop people from ripping the author of the code apart.

That disclaimer

Posted Mar 20, 2015 15:39 UTC (Fri) by Yenya (subscriber, #52846) [Link] (3 responses)

A slightly off-topic comment: it makes me a bit sad that it was considered necessary to add something like the second paragraph of the article to it.

Do we really live in a society where every statement needs to be clarified with "I say the following as $role1, not necessarily as $role2", especially if $role1 = "my personal self"? Does anybody honestly think that people have multiple different opinions depending on their role? And does anybody think that by default the article written by Jon Corbet and published by lwn.net represents anything but author's own opinions?

That disclaimer

Posted Mar 20, 2015 16:12 UTC (Fri) by corbet (editor, #1) [Link]

I may well have to speak on behalf of the TAB regarding this issue someday. I thought it best to be clear that was not happening this time around.

That disclaimer

Posted Mar 21, 2015 0:31 UTC (Sat) by rgmoore (✭ supporter ✭, #75) [Link]

Yes, it can be very important for somebody to qualify their statements as being personal opinion rather than something they're saying in their official capacity. That's especially true if they're giving an interpretation of an official document, as in this case. It's entirely relevant to know that this is Mr. Corbet's opinion as a participant rather than an official clarification. Experience shows that not everyone will make that distinction based on where it is published, so a formal statement that it is personal opinion is warranted.

That disclaimer

Posted Mar 21, 2015 14:26 UTC (Sat) by nevets (subscriber, #11875) [Link]

Why is it sad? If I have learned anything about public speaking (and writing articles), being explicit never hurts, but not being explicit enough can hurt plenty.

That goes with emails as well (which can be a cause of some conflicts).

Conflict over a code

Posted Mar 30, 2015 18:50 UTC (Mon) by phil42 (guest, #5175) [Link] (1 responses)

if it brings an end to the hilarious "...eat your prozac...go and do your stupid things" era of linux development then it takes something very special away from linux. while it is true that kernel development is not the creature that it was in the very early days, the loss of the "wild and wooly" style will be sorely missed.

so there!


Conflict over a code

Posted Apr 1, 2015 19:41 UTC (Wed) by nix (subscriber, #2304) [Link]

If it takes away the 'insult people' era of Linux I for one will not be unhappy. Linux development is not there to act as a comedy for bystanders. It's supposed to be about developing software. It shouldn't come with a requirement for a skin of dinosaurian thickness...


Copyright © 2015, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds