Protagonists of open source value freedom; the freedom to change the source code at will. This was the vision of Eric Raymond in 'The Cathedral and the Bazaar'. From the free interaction of many would come the emergence of something complex and wonderful.

There is a parallel to be found in nature, which is evolution. From thousand of experiments repeated over millions of years, in which mutations and adaptations are thrown up and discarded, survival of the fittest eventually ensures that the final result which emerges is optimally tuned to succeed in its environment. Freedom to innovate plus natural selection inevitably leads to good results.

And yet, more than a decade after Raymond's essay, and after millions of dollars and millions of man hours, the flagship product of the open source movement, Linux, has yet to significantly penetrate the desktop market or achieve the friendliness and reliability of Windows XP or Windows 7. If it does, it will certainly not be using the open source model of development. What is missing?

What is missing is discrimination.

Open source methodology works in nature because nature ruthlessly applies a fitness function, it discriminates against the unfit and feeble and wipes them out. In software the counterpart to the fitness function is supplied by the discrimination of the programmer.

But when programmers lack discrimination, when they are self-consciously obsessed with scratching their own itch, when they lack a knowledge of the history of programming languages, when they are concerned with popularity amongst their peer group, then freedom becomes self-defeating. Evolution is no longer a necessary migration from worse to better, but in fact may move from better to worse. The result is successful in pleasing the people who created it, because that is how they measure success, but the work is trapped in a ghetto. Linux has been there for a decade.