My colleague, Dave Malouf (@daveixd), asked me an intriguing question in response to a tweet I twittered. I asserted that “There is no greater oxymoron than consumer-focused open-source software!” Dave replied, wondering if I thought “that Firefox has shown that open source consumer software CAN work?”
Firefox is an excellent program, reasonably easy to use, with some very user-friendly attributes. Firefox certainly proves something about open source, but I don’t think it proves that it can be consumer facing, exactly.
I believe that Firefox proves only that, on rare occasion, and by accident, some non-consumer-facing software faces consumers successfully. That may sound like I’m splitting hairs, but let me explain.
The defining characteristic of open source is that it is designed and built by and for those who will use it. Since no one is paid to write it, open source is software written by interested parties whose only compensation is the joy of their personal accomplishment. Of necessity, those parties must possess the skills to create it. Non-programmers might like some program, but they are not capable of creating it, so it will remain unwritten. Thus open source is always designed and created by and for computer programmers, for geeks.
This means that open source products always fit into one of two categories: system software or geek verticals. Both of these categories are things that software geeks love.
System software is the largest category. Operating system geeks build open source operating systems like Linux to run their computers. Programmers trying to wrangle large collections of code build open source version control systems.
Geek verticals is the broadest category. Geek astronomers who love gazing at the night sky build open source telescope management software. Geek motocross drivers build open source driver-rating software to manage their sport-driving meets. Geek model railroaders (nobody geekier) write open source software to manage their miniature train empires.
Some people falsely extrapolate from the success of open source software that one could compel geeks to write open source software for their commercial needs, but this will never, ever happen. The only case in which this would appear to be untrue is in the extremely unlikely case where the needs of consumers happen to coincide exactly with some system software or geek vertical category.
Of course, this is exactly the case with Firefox. Any web browser is both systems software and a geek vertical. The original concept of the web browser was as a system tool, on the order of ftp or awk, and was never imagined to include normal users. It allowed geeks to reach across network boundaries. But it turned out that consumers could also benefit from accessing information across a broad internetwork.
In addition, the original concept of the web browser was as a geek vertical, on the order of grep. It was a simplified tool for technologists to quickly scan geeky academic data stored on the geeky Unix networks of the world’s universities and corporate research labs. It was quite an accident that the Web browser turned out also to be something that normal humans wanted.
And the scope of the browser, while broad, actually didn’t demand much explicit control for the normal range of consumer usage. The complexity could be managed by the particular website. This should sound familiar. The original personal computer operating system of the 1970s, CP/M and MSDOS, was an identical rare accident of desire and capability with the ability to encapsulate the complexity of applications. The spectacular success and world-changing nature of both the personal computer and the World Wide Web are testimony to the power of this incredibly rare congruence.