A history of Microsoft, and why they are the way they are.
A few days back I had this discussion with a friend of mine. It centered around one of my favorite topics - Linux and Microsoft. The discussion was essentially about the ideas of monopoly. My friend's view was that being a monopoly, Microsoft was justified in behaving the way it is. My counter-point however was that, this monopoly itself was ill-earned. Which naturally needed a lot more clarification. Hence this article.
Microsoft was formed by Bill Gates and Paul Allen, and began by writing software for the IBM's home PC - Altair, around 1975. It struggled the first few years of its existence, looking for its niche in the market. In 1980, IBM was waking up and was like the proverbial cat on the tin roof. IBM wanted to get a machine on the market as soon as possible. And instead of going ahead with another version of their 8-bit machine, they chose to go with the 16-bit Intel, 8086 chip. This meant IBM needed a new OS, and fast.
A number of things hap penned in a very short time. Microsoft bought an existing PC Operating System. IBM chose not to wait for the CP/M to be written for its new processor. Microsoft offered to bundle its OS with the IBM PC (for peanuts), and also work with IBM to develop it. MS-DOS was released in 1981. (A brief history DOS here and here.)
MS DOS was itself not an original product of Microsoft. Instead, it was the creation of a company called Seattle Computer Company, and Tim Paterson (who later joined Microsoft). It was known as QDOS 0.10 (Quick and Dirty Operating System), before Microsoft bought all rights of the OS from Seattle Computer and changed the name to MS-DOS 1.0.
IBM never intended that MS DOS (or PC-DOS) be the Operating System for the IBM-PC. They were in fact waiting for the CP/M to come out with its 8086 version. What happened was something quite different. Squabbles between Digital Research (the vendor for CP/M) and IBM delayed the CP/M-86. With Microsoft being the sole interested party in providing an operating system, IBM found itself with a nothing other than QDOS 0.10, under the name of MS-DOS 1.0, for shipping with the IBM PC in October 1981. The quality of this product was so bad that the initial IBM PC shipped without an operating system. Later, IBM itself undertook a rigorous rewrite of the MS DOS, to get it partially ready for bundling with its PC. (The PC-DOS is hence copyrighted by both IBM and Microsoft). In spite of this, Digital Research's CP/M-86 would still have been the operating system for the PC but for two things - Digital Research wanted $495 for CP/M-86 and many software developers found it easier to port existing CP/M software to DOS rather than the new CP/M-86 operating system. Priced at $39.95 DOS became the automatic choice for the users of the new range of IBM PCs. Thus Microsoft's (poor) clone of CP/M managed to become the de-facto Operating system for the IBM PCs, not by any technical superiority, or even a marketing blitz (which Microsoft was quite incapable of undertaking) but by sheer timing.
What hap penned to the IBM PC is, as they say, history. Riding on the success of the IBM PC, MS DOS became the default Operating System in the PC world. Despite its success, the MS DOS, was never a technically superior product than any of its contemporaries. MS DOS 1.0 was nothings by QDOS 0.1. It added support for storage disks, and went through versions 2.0 in '83 and 3.0 in 84. Network support did not come until as late as version 3.1 in 1984. While the rest of the world (read Unix) boasted of incredibly powerful and versatile OSes running a variety of hardware platforms, MS DOS was still going with some extremely buggy versions of its operating system, into version 4.0 in 1988. Most of the basic utilities and tools that normally should for part of any operating system were included in versions as late as 5.0 and 6.0 in '91 and '93 respectively. Version 6.22 was released in 1994, which was the last official 'DOS version' of MS-DOS, while 7.0 and 7.1 were released for almost exclusive use as a basis for Windows 95.
MS DOS, was never a technical marvel. It's success had more to do with some decisions and some people and the explosion called the IBM PC. But today's Microsoft is not about DOS. It it about quite another thing called Windows. But lets begin at the beginning.
The concept of using a graphical visual interface originated in the mid 1970s at the Xerox Palo Alto Research Center (PARC) where a graphical interface was developed for the Xerox Star computer system introduced in April 1981. PARC had earlier also developed a success story with the Alto computer, which in mid 75 were so successful technologically that they quickly became the benchmarks for all graphical interfaces that came later. The Xerox Star did not experience any commercial success, but its ideas were copied by Apple Computer, first in the innovative Lisa in 1983 and then in the Apple Macintosh introduced in January 1984. With these machines, Apple provided WIMP (Windows, Icons, Mice, Pointers) and features like folders, long names etc which, in the PC world, were not fully implemented till Windows 95.
To put it simply, when Windows 95 was released, the reaction of Apple users was "But we had all that 10 years ago". So why did the world wait for Windows 95? The Alto machines were more of a technological demonstration than a commercial venture. They were the path breakers that defined the future on computing, but were unfortunately not commercial successes. Apple suffered from different problems. Apple was a vertically integrated computer company. This meant that Apple made its own architecture, built its own computers, developed its own OS and wrote its own applications. Also, Apple did not operate with any other system. In an industry that was rapidly moving towards commoditization, Apple was a very costly lock-in. Commercial interests took a back-seat at Apple, while it chose to be the cult, the renegade and paid its price. Apple never could pose a challenge to Microsoft, because they never met on the same playground. Apple played on its own hardware, in its own niche, while the huge IBM playground, was left to Microsoft alone.
These were, however, not the only products that could have challenged Windows. Quite a few other products provided graphical operating systems, or graphical shells on top of DOS to run multitasked DOS applications which the native OS had failed to provide. VisiOn from VisiCorp, which came on the heels of VisiCalc - the ground breaking DOS spread sheet program, failed because it was way too early. The hardware was just not ready for it. Digital Research's GEM (Graphical Environment Manager) could not run DOS applications. Quarterdeck Office Systems' DESQview, succeeded for a limited time, till Windows 3.0 became the standard.
It was not just technology and timing that bogged down Microsoft's competition. IBM suffered from short sight. It felt that the GUI was just a passing phase. Top View from IBM was introduced in 85 and discontinued in 87. Windows 1.0, when it was released 1985, was so similar to Apple Macintosh, that the latter threatened to sue Microsoft. In an ingenious move, Microsoft signed a licensing agreement with Apple that stated Microsoft would not employ Apple technology in Windows 1.0, but made no such agreement for further versions of Windows. However, Windows 1.0's dismal failure at the market made it ridiculous for Apple to follow up with litigation.
Windows failure however did not hurt Microsoft as it would have hurt other companies. Because, Microsoft had DOS - its revenue source to fund more and more development on the Windows platform, something that no other company could frankly afford. Version after version, Microsoft bunged Windows, but MS DOS gave them enough revenue to keep at it. By the time Windows became as good as most of the products mentioned here, competition was dead. Curiously, by the time Windows was finally ready, so were the application developers and so was Intel's hardware. When Windows for WorkGroups (Windows 3.1) was released, it was singularly user friendly, had a large set of third party applications to choose from, and had hardware to keep up with demands of a graphical interface. For the first time PCs with Windows were outselling the Mac and Apple could do nothing about it. Impelled by the popularity of its own Word and Excel, Windows rode the craze for the GUI driven PC, guided by the able hands of the future of Microsoft - the incredible marketing machine.
Unlike the old world monopolies of the likes of AT&T, technical superiority was never a hallmark of Microsoft's success. And therein lies the reason for Microsoft being the way it is.
So what does this mean?
Monopolies are always a bad idea. They exist by making the cost of entry into a business very high. Microsoft is a monopoly in the PC OS and Office applications segment. Like other monopolies, like say the AT&T, Microsoft tends to spend time defending its position rather than innovating. A monopoly works to raise, the rather high barrier to entry, even higher. As a result innovation suffers. And when innovation suffers at a company like Microsoft, which is producing Operating Systems, everyone suffers.
The first alarming effect of Microsoft as a monopoly is due the fact that it writes Operating Systems. Writing an Operating System is a thankless job. An Operating System, is the base that runs user application programs. Since it is just above the hardware, there is only so much the OS can do. And consequently there is very little innovation that you can do with an Operating System. Writing an Operating System, making it proprietary, and making people pay for it, is therefore an unsustainable business proposition. Hence Microsoft does what it is doing - bundle in software and gain unfair advantages in application space. Bundle in Internet Explorer, Outlook Express, Windows Media Player. Tweak Windows to run Office components better than competitor products. Not disclose all Windows API information to third party software developers. All these practices are not only anti-competitive, but directly effect the end users in a number of ways.
The second reason why Microsoft's position is a dangerous one is the fact that Windows has been developed rather than designed. Microsoft has put backward-compatibility ahead of other technical considerations. While this might be a good thing in the short run lets understand why this is deadly in the long run.
Writing an Operating System is based on certain standards. Unix-like OSes are built standards like the POSIX. These standards define the basis for building an OS. So POSIX based Operating Systems have a designed strength and capacity for security, performance and architecture. Windows on the other hand developed. Windows from 1 through 98 ran as a shell on top of DOS. In effect, it extended capabilities provided by DOS. Hence the security model, and file system etc offered by Windows were limited by the underlying DOS. Windows recognized this early, and started another thread of development called the NT (New Technology). The Windows NT 4.0 was a major commercial success. After Windows 98, both development trees were merged into the first venerable Windows 2000. Windows XP followed shortly after. You will notice that all through, there was no significant break with the past. Never was there a chance for Microsoft to correct the errors of the early QDOS and start afresh. Never could Microsoft, address issues that were inherent to its offering. In effect, its mantra of backward-compatibility became its own choke-hold.
Windows and Microsoft has preempted any questioning by its customers by doling out goodies. Extreme simplification, integration and ease of use. This is a third reason to be really scared. Technologies like OLE and ActiveX have been polished and pushed repeatedly. Drag & drop have been used to woo customers. Windows Sharing has replaced the FTP. Windows has challenged, without reason, the traditional knowledge that Operating Systems have to be different from Applications by creating a huge monolithic OS/App. While this has brought computing to the masses, this has also created a technological Chernobyl waiting to happen.
In 1983, Fred Cohen, working for his PhD, the in University of Southern California, created the concept of a "self-replicating" program. By 1987, a virus was a known term. 1988, changed all that with the Jerusalem virus, which started making serious trouble. And the trouble did not stop. Leheigh, Tequila, the Dark Avenger Mutation Engine, the Virus Creation Laboratory, Word Concept, Chernobyl, Melissa, ILoveYou, Nimda, Sircam, CodeRed, Klez, BugBear, Slammer and Mydoom represent the woes of the PC world. Symantec became a household name. An email attachment became a bad-word. Simplification, tight integration, backward compatibility and Windows success have created this extremely intolerant monoculture.
There is more. Windows owes its success to the fact that it embraced an open hardware platform (Intel) unlike Apple that bet itself on proprietary hardware. Now it is doing the same thing with Applications and Operating Systems. It is creating customers by locking them into its Operating System and refusing to inter-operate with other OSes. What Apple did with hardware, Microsoft is doing with its OS. This lack of interoperability today could well be its Achilles heel tomorrow.
One other effect of this lock in, is raising costs for the users. It is no longer possible to get Windows without paying for IE and WMP. This is not only reducing options, but also making the OS an expensive proposition. And when Windows comes with all its bells and whistles, hardware costs are correspondingly rising to provide the horse power, which the user never needs. A home user, using the computer for email only, cannot upgrade from Windows 98 to 2000, without paying for a doubly costly hardware upgrade. In short, end-user costs are rising.
It is not as if Microsoft is unaware of this. It is, and its actions are directed by this awareness. Microsoft wants to move away from the OS market into anything else - Xbox, handhelds, Application Software and what not. And each foray of Microsoft is ruthless bordering on the illegal. The browser wars were the beginning. The war against Java was yet another. The war of Windows Media Player with the likes of Real is just heating up, and will not be the last. With Microsoft's cash pile, funding these wars, and given its strangle hold on the computer world, these wars are almost a no-contest for Microsoft. But for the fact that many of the tactics used by Microsoft seriously challenge the antitrust regulators. If Microsoft escaped the US regulators, the EU regulators might yet prove to be a different breed.
Microsoft is not on the leading edge of technology. It however is an awesome marketing team. And right now, it seems invincible. And Microsoft depends on this idea of invincibility for its survival. Its stock price depends on this aura. Microsoft's high valuations are due to the very high valuations of its shares. And this stock price can be held only if Microsoft can prove year after year, that it is growing at a breakneck speed. Does not matter what technology it develops or what markets it enters - its growth is the biggest asset it has as of today. The moment, its investors realize that Microsoft cannot grow the way it has been growing, all hell will break loose. The stock price will drop, initiating a spiral downwards.
Microsoft must not seem vincible.
The Microsoft Philosophy
Almost anything that Microsoft thinks is with regard to the upkeep of this image of invincibility. This is in short the philosophy of Microsoft.
This philosophy is brought forward in some measure of sickening clarity in what are known as the Halloween documents. The body of the Halloween Document is an internal strategy memorandum on Microsoft's possible responses to the Linux/Open Source phenomenon. This was meant to be an internal study, but was leaked out at the time of Halloween 1998. The document itself is a fascinating read. Two comments made in the copy of the document over at the opensource.org are very revealing. I will represent the same here, without reference to the context here. The reader need not accept the same at face value but may want to check out the actual context in the document and see the validity of the statements for himself.
The first talks about the perception focus of Microsoft the 'technology company'.
Note the clever distinction here (which Eric missed in his analysis). "customer's eyes" (in Microsoft's own words) rather than any real code quality. In other words, to Microsoft and the software market in general, a software product has "commercial quality" if it has the "look and feel" of commercial software products. A product has commercial quality code if and only if there is a public perception that it is made with commercial quality code. This means that MS will take seriously any product that has an appealing, commercial-looking appearance because MS assumes -- rightly so -- that this is what the typical, uninformed consumer uses as the judgment benchmark for what is "good code".
The second is even more damning. Commenting on the Halloween documents' perceived strengths of the Open Source movement
The difference here is, in every release cycle Microsoft always listens to its most ignorant customers. This is the key to dumbing down each release cycle of software for further assaulting the non-PC population. Linux and OS/2 developers, OTOH, tend to listen to their smartest customers. This necessarily limits the initial appeal of the operating system, while enhancing its long-term benefits. Perhaps only a monopolist like Microsoft could get away with selling worse products each generation -- products focused so narrowly on the least-technical member of the consumer base that they necessarily sacrifice technical excellence. Linux and OS/2 tend to appeal to the customer who knows greatness when he or she sees it.The good that Microsoft does in bringing computers to the non-users is outdone by the curse they bring upon the experienced users, because their monopoly position tends to force everyone toward the lowest-common-denominator, not just the new users.
Note: This means that Microsoft does the ``heavy lifting'' of expanding the overall PC marketplace. The great fear at Microsoft is that somebody will come behind them and make products that not only are more reliable, faster, and more secure, but are also easy to use, fun, and make people more productive. That would mean that Microsoft had merely served as a pioneer and taken all the arrows in the back, while we who have better products become a second wave to homestead on Microsoft's tamed territory. Well, sounds like a good idea to me.
The effect of the Microsoft monopoly and a glimpse into its philosophy are well brought out in the two quote above.
This is by no means a comprehensive outburst on Microsoft. However a number of idea picked up over a period of time have found their way into this article. Many thanks to all those hordes out there, who helped me give shape to and drape in logic the vague ideas that I felt from time to time.
We have a lot to thank Microsoft for. Though it might not be for bringing computing to the masses, but it was for a simplification and a dumbing down of technology that was long overdue. But the large scale dumbing down itself has become the curse that we have to deal with today. Microsoft is a giant and at the same time a kid. It is a giant with its market control, its product usage but it is a kid with its tantrums and its desperate philosophy. It is like a kid with a gun, and I don't trust them one bit.
February 26, 2004: Essential rewrite of article stressing the central idea and new links too.
April 01, 2009: Updates and corrections.