* NeilBrown <neilb@xxxxxxx> wrote: > On Wed, 17 Jul 2013 20:14:40 +0200 Ingo Molnar <mingo@xxxxxxxxxx> wrote: > > > 1) > > > > Your notion that conflicts and insults somehow hurt group cooperation > > is wrong. It is a scientific fact that open conflict _helps_ > > cooperation while hidden conflict hurts it. > > I don't think anyone is seriously suggesting that open conflict is a bad > thing are they? In my experience the request to "act professionally" essentially results in conflict avoidance and in hidden conflicts with a lot of covert violence. Expecting others to suppress emotions in technically justified situations, to match the somewhat prudish cultural U.S. taboos of avoiding four letter words and gardrobe malfunction at any cost [while violence in TV and carrying guns around children are A-O.K.] results in that in practice. This kills the central claim IMO, that honest, colorful, "unprofessional" language is somehow bad because it's hurtful. In fact an overt flame against me is much nicer than hidden conflict because it's out in the open, the person emitting the flame is _responsible_ for the central validity of his flame. The real choice in large scale technological development is not between pain and no pain, but between episodes of fast, visible pain combined with responsibility, or slow, creeping, long lasting pain inflicted by parties hidden and not really responsible and not really aware. Why is it that some of our best, most productive developers and maintainers (Linus, Al Viro, Peter Zijlstra to name a few) are all known to be very honest and very direct in their communications, using sometimes colorful language if they are unhappy? I think Steve Jobs understood that very well too. And how is it consistent that on one hand we tell Chinese and Japanese kernel developers to learn to deal with the western directness of lkml (i.e. we declare that frank, technically correct directness and expression of emotions is more valuable than politeness), but then tell Swedish/Finnish/Russian/Dutch/German kernel developers to tone it down (i.e. we kind of declare the exact opposite)? I will be the first one in the line to fight against true abuses: - lying - generating unjustified, non-technical conflict - showing difficulty in conflict resolution - outright acts of malice A colorful Linus complaint against a top level maintainer is neither of these in the vast majority of cases, and it can in fact be argued to be technically, scientifically productive. The suggested solution, to 'act professionally' will not avoid either of these abuses - in fact it makes hidden violence easier not just because it forces people to suppress emotions, but also because abusers cannot be called upon. All in one, I just don't see the pro-PC arguments are consistent or even valid, I think the burden of proof is on the 'act professionally' crowd. > I don't object to reminding everyone that conflict can be healthy and > valuable, but is seems to miss the main point of this discussion(*). > > > > > 2) > > > > Your notion that insults are harmful because they 'hurt' is misleading > > to such a level that it's almost wrong. > > > > Insults do hurt of course, but that argument misses the full context: > > in real life the typical substitute for an avoided open conflict is > > not singing kumbaya around the camp fire, but _hidden_ conflict. > > Open conflict != insults. Open conflict allows for escallation of communications. Firstly, if I messed up in a big honking way then why shouldn't Linus be allowed to say: "Argh, what the f*ck is going on here Ingo??" Why should he hide his feelings about it and formulate in a milder way: "What is going on here Ingo?" ? Maybe I'll be deluded into thinking that Linus is not really upset about it. The conflict is already present and there's no undoing of it. I messed up and Linus got upset - justifiably in the vast majority in cases. Why should he hide that information from me? I might not take the conflict seriously enough and I might repeat the mistake. Development of large software projects is about people working together - hiding feelings is definitely not helpful. It takes passion to do a good job - and that passion has two sides to it, depending on whether good things or bad things happened. Now I'm sure there's cases where Linus was wrong, although it's pretty rare in practice as far as I can tell, and when it happens it's not like I couldn't defend myself. The fact that I'm still around demonstrates that Linus is not grudge holder. > Certainly there is an overlap, but it is quite possible to engage in > open conflict without being deliberately insulting. The appropriate > alternate to insults is not "hidden conflict" but rather "civil > bluntness". So, the danger is the following: the moment you expect some person to act out of his regular, technically justified patterns of communication and expect him to suppress emotions you are expecting him to suppress conflicts in essence. I realize that this is not what you 'want' to happen, but it is what _happens_ in practice. I've seen that in several corporate environments I have worked in the past: hidden conflicts are abound and 'act professionally' not only weakens conflict resolution but is a _conduit_ for subtle, hidden violence. Yes, sometimes you can get lucky in small startups, small OSS projects or individual kernel subsystems where everyone is really on the same page, where there's perfect awareness of all things technical, where there's a perfect match and people rhyme with each other. The Linux kernel is not such a small startup anymore. Work reaches Linus in bursts of 3 months, and activity is not micro-managed. There's no universal awareness so larger conflicts are preprogrammed into this model, and I think it's better to be honest and direct early on, instead of letting people go in the wrong direction for extended periods of time. It's still a lot of fun, but it cannot possibly be a conflict-free zone IMO, without us growing a much larger brain. > An extremely good rule of thumb for when you are communicating > emotionally is to make "I" statements. > > I don't give a #&*%$ if it fixes a bug - it introduces a @*#$$ regression > and that @#$*%@ is not acceptable. Ever. > > is, in my mind, perfectly acceptable. [...] While I obviously find it acceptable too, that's just a cultural preference that cannot be converted into some sort of generic "it is universally acceptable" form. [ For example if you inject that above sentence into a Japanese corporate email communication and make it pass from CEO to a lower subordinate then you could easily see a suicide as a result. ] What matters is the cultural context - and sure as hell Linus has always communicated without suppressing his emotions too much. As the person who started this project he's certainly entitled to setting the initial boundaries of the communication culture. I think it's people coming in that have to convince him that changing that is beneficial. What you cannot do is to blanket claim that 'acting professionally' is some magically good thing everyone knows to be beneficial. > [...] Saying > > You've $%^@$% done it again. > > is not helpful. Well, unless it's the second messed up pull request that day. (I managed to do that once in a merge window, a couple of years ago, and boy was Linus unhappy.) But I really don't think Linus gratuitously insults people in an unprovoked way. If people keep clinging to indefensible, refuted positions then maybe Linus will eventually question their general mental health very directly, but at that point that's really just stating an inconvenient fact... > http://en.wikipedia.org/wiki/I-message > > (*) One of the amusing things about this whole discussion is that > different people seem that have very different ideas about what the core > issue really is. There was never really a 'core issue' that I've seen stated clearly by the anti-colorful-language side, just confused suggestions resulting out of cultural bias or resulting out of being unaware of the many substitute forms of hidden violence that can thrive in politically correct email communications. Thanks, Ingo -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html