A few notes about the Open Source Community.

The Open Source Community is generally thought of as a group of elite programmers writing excellent code at a pace unheard of in the Software Industry. The reality is less glittering.

We're not "gifted hackers"

We're average coders, actually. The proportion of truly good programmers among the Open Source community is the same as in the industry (i.e. not very high), and there's little correlation between fame and the level of technical expertise. Those who are well known are often so because they spend a considerable amount of energy to achieve precisely that, rather than on technical matters. That doesn't mean these renowned members are incompetent either (Linus Torvalds well deserves his reputation for instance, but he doesn't run after the spotlight). But, like any community, we like to have our stars, sometimes at the expense of the ethics we claim to cling to. For instance, whenever ESR rants about something vaguely technical, he's published over all news sites. But when he dives into sheer hatred or plain racism, few seem to notice.

We don't write code faster

It's true we assemble proofs-of-concept pretty quickly, because that's what gets our interest. All the boring and tedious stuff that would turns it into a real product (UI polishing, trivial bug fixing, documenting, packaging, etc...) takes ages. That's understandable because it is boring and tedious. And that's often what we do all day long at the office, so who'd want to do that again when he gets back home.

We don't write better code

Because as I said we're not all top-notch programmers, and we write code for fun, and enforcing code quality is not fun. And no, we're not shy to release code which we know is bad. The idea that we'd be afraid to damage our reputation by doing so is a pure myth, I've yet to meet anyone actually thinking this way. Generally we use the standard excuse "it's-free-so-why-don't-you-help-instead-of-complaining" whenever we get a comment about it.

We're not tech driven

To rehash a subject I've discussed long ago, behind the apparent affinity with technology, is often hidden a will to keep things the way they are, or were. More often than not we actively resist change, especially when change means some of our skills are rendered obsolete. We deride new technologies, especially when they come from the industry (and in 99% of the case, they do - we almost never invent anything, we copy). Also, many Open Source programmers are young people with very little professional experience, if any. They behave more as fans than as technicians. As such they will blindly follow any "star", and take all he says at face value, because they lack the knowledge to question him.

Like the Software Industry we have our buzzwords ("free", "standard", "language independent", "community driven"...), and we use them the same way : as a quick check-list which we use to evaluate a project : "Has them ? Good project. Doesn't have them ? Bad project. Let's make one which is fully buzzword compliant". One buzzword we lack is "usefulness".

The best technical solution doesn't always win

That's a direct consequence of the previous point. We can't easily give up on things we like, or things we've worked on for a long time. Subjective parameters prevail in these decisions. We very rarely standardize on something except when it's sanctified by an organisation we respect (like the W3C for instance). Other than that, we invoke "freedom of choice" to keep dozens of redundant text editors, toolkits and WMs around. The real reason is selfishness and lack of flexibilty : we don't want to try alternatives to our tools of choices, even if it means more work for package maintainers. We value code more than usefulness, and we believe that code is always an asset. We still haven't understood that code also consumes resources (human resources and time, not hardware ones).

What we do is important

I firmly believe, however, that providing free, working alternatives to proprietary technologies is essential. No one can deny the importance of huge successes like Linux, Apache, Mozilla or KDE (even if Moz took its sweet time to get there). It is a good thing that some companies are willing to participate, and without these resources we'll never reach beyond the geek crowd. It would be nice if we could accept that, and cut on the navel gazing.

Other related articles


Guillaume Laurent
Last modified: Mon Jul 26 21:05:35 CEST 2004