Technology Monocultures

Technology monocultures are the result of non-diverse systems that provide the same capabilities but also share the same defects. An example of a monoculture is the potato famine in Ireland, where nearly 40% of all food consumed was a particular strain of potato. When that potato became scarce as a result of a a viral attack, the Irish lost a primary food source and many went hungry.

Microsoft Windows is principally a monoculture in this regard, there is a complete lack of diversity in this technology. In this case, the same computer program (Windows NT/2000) is running pervasively on the same CPU (IA32/Pentium) on the vast majority of computer systems. While this means it is easy for users to learn the intricacies of the operating system, it is just as easy to inject a Windows executable virus and wreck havoc.

The Linux operating system provides more diversity, it runs natively on multiple processors (Intel IA32 and IA64, PowerPC, AMD, MIPS, Sparc, and many more) and has a number of pre-packaged distributions (RedHat, Suse, Debian, Lindows, and more). While all of these systems provide essentially the same user experience, the diversity of the platforms and distributions make it difficult to exploit a weakness universally.

Microsoft can provide an analogous capability by encouraging the heterogeneous adoption of Intel IA32 and IA64 (Itanium) platforms. If more Windows software is made available to Itanium, it will be easier for users to run a desktop on IA64 that is comparable to an IA32 PC. Furthermore, by making Windows available to PowerPC they can provide some adoption by PPC users, which would open a new market to computer vendors seeking alternatives to Intel.

Unfortunately, Microsoft has an uphill battle that open source is poised to win. The majority of software for the Windows platform is closed-source, which means it is impossible to recompile all the programs a user is accustom to. The open source Linux platform, on the other hand, has the majority of software in the public domain. As a result, when a new processor technology becomes available it is a matter of re-compiling the applications and the user can then experience the same thing on a Sun Sparc as they would on a Macintosh G4 or an IBM PC.