Archives

Date

How a software monopoly arose

Recently, Joel on Software wrote an essay on good programmers and how they are qualitatively different from average ones. This is not a new realization, and he knows it and references sources like "The Mythical Man Month." It was accepted wisdom decades ago that a small team of really brilliant programmers would make a better product than a giant team of lesser ones.

That wisdom, however, failed to predict the rise of Microsoft. That wisdom says a software monopoly is impossible because there are reverse economies of scale in software development. So how did Microsoft do it. The answer to that is perhaps the true genius of Bill Gates.

The trick, in part, was finding ways to make software tremendously broad in scope and features. Microsoft Word has bazillions of features, as most people know. Windows in its kernel isn't much more complex than other systems but the real Windows also includes a vast collection of DLLs (libraries) that seem external but are really part of the OS. To clone the OS you must make these DLLs -- and many other things.

A program like MS Word, with so many features, takes raw money to clone. You need that core team of great programmers -- and Microsoft has many great programmers, make no mistake -- but you also need a giant team of lesser ones to keep all the features going, to QA and document them, to translate them and make them work in so many environments.

This does have an economy of scale in the development. Combine that with the immense economies of scale that exist in the distribution of all soft things that can be copied for free, and this permitted a monopoly.

Of course, no single user makes use of all the features of MS Word, so it took even more skill to get them to demand such a complex program, when they might be better served by a leaner, more elegant system. Like I said, this is only part of it.