I’ve been noticing a depressing trend among some contributors to OS projects. More and more I’m seeing people deliberately saying and doing outrageous things, and then excusing their behavior under the guise “I had to to that to make a point,” or some similar trash.
The idea itself isn’t new, talking heads on TV and radio have been doing that for decades. The theory behind it goes something like this: When the show’s host says something eminently reasonable, the listeners will sagely nod their heads and agree, but no one picks up the phone to call in and congratulate the host on being reasonable. On the other hand, if the host says something outrageous, people will call in by the droves, either to argue vehemently or to cheer the host on into further outrages.
Either way, the phones ring and the host has something to do for the next hour. If the callers are rational, the host backs down from the outrageous claim with the excuse that the hyperbole was necessary to get people thinking. Of course, that’s a convenient fiction, because the host really wasn’t trying to get people to think; the goal was to make people talk, not to make them think.
That’s the real goal of talk radio, to make people talk, either to the host on-air or about the host to their friends. Then more people talk about the show, and more people will tune in, either to hear the next outrageous statement, or to hear things they can argue with or complain about.
So that process works brilliantly, for Talk Radio. But the goals of an Open Source project aren’t to get people to talk and argue. The primary goals of an OS project are to ship good code, and to rationally evaluate proposed code. Stimulating argumentation and complaints runs almost directly counter to those goals.
Anything that draws attention away from the code causes a problem. Being obnoxious is fun, don’t get me wrong. There’s a certain amount of gratification gained when you see a thousand knees jerking in time to your words. But while those knees are jerking, there’s no thinking going on, and without thought, code dies.
Whenever you do or say something to cause outrage or controversy, you’re diverting attention away from your point, which is about the code change you’re proposing. In addition, you’re giving people that might otherwise have been convinced by your code an excuse to ignore it. You’re giving people who would resist your proposed change, for whatever reason, more ammunition to use against you, giving them a way to, if not defeat the proposed change, at least derail it for quite some time.
And all the while you’re doing nothing at all to forward the proposed change. People who would have been inclined to accept the change, will accept (aside from those whom your conduct scares away from it, that is) and people who would not be inclined to accept are even farther away from the decision to accept. You stirred things up, alright, but in doing so only made it harder for the change to go through, not easier.
Keep a civil finger on your keyboard, and the opposition will have to mount arguments to reject the change based solely on the code. Your code change will stand or fall on its own.
And isn’t that the whole idea?