Where software developers fear to tread, or why open source fails

Open source has had its triumphs and failures.

The most notable wins include Eclipse, Linux, Apache HTTP server, MySQL, and Mozilla Firefox. Developer tools and server software are generally areas of strength for open source. I wouldn't say that Mozilla Firefox is an anomaly. Rather, it shares something in common with developer tools and server software: the programmers who work on it are also its users.

Unfortunately, this is not the case with the gaps that open source has so far failed to close. A friend of mine recently asked me about my choice of spreadsheet software. We talked about it for a bit, and agreed that OpenOffice.org Calc is still clunky. I suggested Gnumeric, but I don't really hear anything notable going on with it these days. In short, I don't see an Excel killer in either of these. It's not for lack of vision that these spreadsheet projects have stagnated. It's for lack of sustained passion and developer interest in making these products world-class. Rather than get deep into using these spreadsheet packages, I often just resort to SQL queries and image generation libraries if I need a chart. And I'm guessing that other developers have also resorted to what was more familiar and efficient, given their esoteric knowledge of more powerful tools.

It's obvious to many of us that successful open source projects are characterized by programmers who are also users, but I would go a step further and say that the programmers must not merely be users; they must be the power users. There are two ways that a programmer could be a power user of his own software: out of enjoyment or out of necessity.

Open source software developers should be the power users of their own software. This sustains the passion to "scratch the itch" and fix bugs to produce polish. With proprietary software, programmers have the benefit of separate QA teams or product managers. In open source, it's overwhelmingly the case that they do not.

It's been said that with enough eyes, all bugs are shallow, but it's quite often the case that not all of the mouths will bother to report what the eyes are seeing.

Popular posts from this blog

Arrays in Visual Basic and classic ASP

JavaScript: Checking for undeclared and undefined variables

A fix for LaTeX "Missing $ inserted." console message