You don't have to be a jerk to code review

By this point it’s likely you’ve read about the discussion Sarah Sharp started on the Linux Kernel Mailing List (LKML) about the abusive nature of some of the comments there, she also wrote about it on her blog.

The negative responses to this broadly fall into two categories: 1) The Linux development process works, stop trying to change it, and 2) professionalism means sugar coating things and that leads to backstabbing and people writing terrible patches. I’ll try to respond to each of these.

To the former, all I’ll say is that unless you believe the Linux development process is literally perfect you should be ok to investigating changes to it. You want to discuss the merits of a specific change, that’s fine, but you can’t honestly dismiss change as a whole out of hand.

To the latter, first I should probably say “yes this is a real concern”. Quoting Linus here:

Because if you want me to “act professional”, I can tell you that I’m not interested. I’m sitting in my home office wearign a bathrobe. The same way I’m not going to start wearing ties, I’m also not going to buy into the fake politeness, the lying, the office politics and backstabbing, the passive aggressiveness, and the buzzwords. Because THAT is what “acting professionally” results in: people resort to all kinds of really nasty things because they are forced to act out their normal urges in unnatural ways.

First, I want to stress that he makes a wholly unsubstantiated claim. That acting professionally (in this context: not being outrageously abusive) inevitably leads to backstabbing, passive aggressiveness, and politics.

I’ve done code review as a part of my job, I’ve done code review for several open source projects, including Django, CPython, PyPy, OpenStack, and Twisted. You don’t need to be a jerk to review code. And you certainly don’t need to be emotionally abusive. A useful code review involves telling someone what’s wrong with their patch that prevents it from being merged, and if it’s not self-evident, how they can fix it. None of this is made better by profanity-laced tirades.

Sarah, thank you for trying to help improve the Linux kernel community.