On software communities, "Rock star" programmers, and... Linus
Every few months, Linus Torvalds gets called out for "being an arsehole to newbies", or "having a bad attitude", or "not presenting a friendly face for the software community". It's been a couple of weeks since the last time (damnit, Linus!), so I think it's safe to make this post now without it being seen as a continuation of whatever conversation that was.
Now the issue that I have is that people seem to believe that Linus, and many other well known software developers should censor themselves. They believe that if you are a good developer with some well known projects under your belt, then everyone can hold you accountable for every word you say. I'm sure that Linus actually does self-censor, much of the time, but when he makes an angry comment, he means what he says, and that's fine.
There's a fascination with 'programming celebrities' within the software community that borders on the tabloid press fascination with the happenings of rock stars. Every word they say is mercilessly analysed, and if they say something that implies that they think the world is any less than sun-beams and rain-bows all the time, the tech blogs explode with commentary. They get crucified for having an opinion. On the thing that they do for a living.
Linus isn't the only one who gets slammed for stating controversial opinions; Jeff Attwood, Richard Stallman, and many others frequently have side comments over-analysed. Within the last couple of months, Jeff posted his opinions on the "Learn to code" meme (I, personally, think otherwise, but he's entitled to his opinion); Richard Stallman argued that Facebook is parasitic, and Linus (oh, Linus) had a number of comments that were over-analysed on Hacker News. Note that not everything said is recent, but when someone picks up on the discussion (even years later), the HN front page gets swamped by bloggers heralding their opinion on why X is wrong, or why Y doesn't go far enough.
One of the arguments which gets dragged out every time is that they are role models, and as such should be doing their very best to create a welcoming environment for everyone.
I, for one, am glad that the people who maintain the kernel for my computer, servers, and phone aren't wasting their time trying to be welcoming and polite, just so that they don't hurt someone's feelings.
I, for one, am glad that the people who maintain the kernel for my computer, servers, and phone have strong opinions on what makes "quality code", and have no qualms in rejecting anything that doesn't measure up.
And I, for one, am glad that the people who maintain the kernel for my computer, servers, and phone can have strong opinions, and defend them.
As a professional programmer, I am paid to make decisions about technology. I am paid to form, and defend opinions. If I couldn't do that, then the majority of what I write would end up as inconsistent junk. Sure, my opinions may change over time, or based on a project, but this is normal and good, so long as I can defend them. As much as I believe that having role models to look up to can help you to learn and grow as a programmer, I believe that these role models should be programmers first, and role models second.
If any of these guys changed their considered opinion on issues just to make the public happy, then that's a sign that they're not doing their job. If they take discussion into account then re-consider their opinion, that's one thing (and quite healthy), but if they change their opinion just to make people happy, then they're ignoring their own training, and short-changing everyone.
People's opinion isn't a democracy. Software communities really have to realise that the fact that these "Rock star" programmers are outspoken is the reason that their opinion is respected. They also have to realise that having different opinions are healthy; obsessing over the "niceness" of one person's opinion is not.
Linus, Jeff, and RMS; never change. If you did, you'd be short-changing us all.