Rusty Russell — a hacker I admire greatly — writes:

“If you didn’t run code written by assholes, your machine wouldn’t boot.”

This was passed on to me by Ben Elliston, ex-gcc hacker and good guy. Amusing in context, but the corollary is that working on free software means you’ll encounter such people. You may have to work with them. You may have to argue with them (and they may be right).

Rusty goes onto talk about how dealing with these sorts of talented assholes can cause almost a crisis of faith: aren’t we all “striving together to make the world a better place[?]”

As I’ve become more involved with open source I’ve struggled with this too. The vast majority of people I’ve met through my work in open source communities are friendly, warm, and funny – hardly the stereotype of the anti-social hacker. Even where I’ve had disagreements (technical and non-), those interactions have been professional and polite.

Most of the time.

Once in a while, though, I’ve run into assholes. Forgive the repeated profanity, but “assholes” is really the best way of describing these guys. These guys — and yes, they’re all male — are mean, malicious, hypocritical, angry, and… assholes! These people ruin the otherwise incredibly positive open source community I’ve struggled to help build. I want nothing to do with them, but they’re in every online community of any size, and yes, as Rusty points out, sometimes they contribute code. Sometimes it’s good code.

Like Rusty, I’ve been struggling to reconcile this behavior with the ideals of the open source communities that bring so much joy into my life. However, I was greatly disappointed to read Rusty’s conclusion:

In any walk of life you have to work with all kinds; having to do so in my dream job as FOSS hacker was a hard lesson for me. It’s great to work with people whose skills you respect, but don’t expect to like them all.

You see, this sort of “live and let live” attitude is exactly the opposite conclusion to the one I’ve come to lately. Rusty’s right that open source attracts “all kinds,” but I refuse to accept that I have to tolerate antisocial behavior. These people behave in a way that would not be tolerated in real life. I’ve worked with a few of these jerks in real life, and when they’ve been unable to restrain their behavior I’ve asked for them to be fired, and I’ve quit. So why the hell do I have to work with them online? No level of coding skill excuses abusive behavior.

As I realize that open source is going to define my professional life (and likely my personal one as well), my tolerance for assholes gets smaller and smaller. Unlike Rusty, I won’t simply stand by and allow these people to run amok. I will call out antisocial behavior, enforce professionalism in the communities where I have the power to do, and leave the communities that cannot at least offer civility.

Yes, my computer won’t boot without code written by assholes. We shouldn’t be happy about that fact. This behavior is a blight on our community, and we should make it clear that it’s not acceptable.