Hit Me, Slap Me, Make Me Write Bad Code: Bob's Ten Point Plan for Civilizing Microsoft
bob@cringely.com
It is time for my promised Solomon-like solution to the problem of what to do about Microsoft. In the week since I first broached this subject, it has produced a rush of e-mail ideas from readers. Some came up with their own plans for dismembering Microsoft, but most just questioned whether I belonged anywhere near the words "Solomon-like." I will take this under advisement.
What prompts all this speculative thinking is, of course, Judge Thomas Penfield Jackson's finding of fact in the Microsoft anti-trust case. The judge says Microsoft is a monopoly, which is a no-no. But he hasn't yet said what remedies he will suggest to correct this condition. Microsoft is hoping its remedy will come from an appeals court rejecting Judge Jackson's finding, but that is unlikely. What IS likely is that the case will drag out for two appeals and several years unless someone comes up with the right prescription for an out-of-court settlement.
Any settlement must have real teeth, given the fact that what prompted this particular blast of lawyering was Microsoft's violation of the last consent decree. That must not happen again. And teeth are at the core of my thinking, too, because the popular notion of breaking Microsoft into pieces would be a bad idea, turning a great white shark into a school of piranhas. You see, Microsoft business units are locked in their own competition for market share and internal rates of return. They hate each other. So unleashing half a dozen new enterprises — each with twice the market capitalization of Sears — might be even worse than what we have now.
The best reader-submitted idea this week was that Microsoft should be forced to publish all the Application Programming Interfaces (APIs) used in its products and then be limited to using only those published APIs. This would give any application developer the same hooks into the operating system that Microsoft has, and would reduce Microsoft's advantage in integrating its applications with its OS. Any changes to the calls would have to be publicized in advance, and any deviation from the public interface would be punishable by allowing application developers to sue for damages.
While this is very clever, it satisfies only the nerds and not the suits. Much of the case against Microsoft has to do with business behavior rather than product design. Leveling the API field would do little to help that part.
What concerns me most of all is not just how Microsoft competes, but with whom the company competes. Sure, it goes head-to-head with other outfits making similar products, but Microsoft also competes with most of its partners. Many companies that work with Microsoft have been told from time to time that Redmond can't quite decide whether to help them or to put them out of business. That is a direct quote. But here is the part most people don't yet understand: Microsoft even competes with its CUSTOMERS. If you are in a position to influence software purchases at a major corporation and oppose some Microsoft product, the boys and girls in Redmond will do whatever they can to make you regret that move. And that's MY definition of monopoly: a company that can abuse customers and still maintain market share.
My prescription for Microsoft has 10 parts. Sorry.
First, we must clearly and legally define an "operating system." The scope of an operating system will increase over time with the addition of new services and applications. Applications like a calculator or calendar that provide services local to the workstation or the user can be added as long as they are not dependent on external data or services. Initially, this rules out e-mail and web browsers. However, applications dependent on non-local data can be added if they are fully compatible with established industry standards such as Internet RFCs.
Second, Microsoft's operating system division must be separated from the rest of the company with a "Chinese wall." There is nothing new about this idea, which is common at defense contractors. Microsoft can hardly claim it can't do what Boeing has been doing successfully for decades. Employees must not discuss projects with those outside their group, simple as that. At Boeing, they post signs to that effect in the lunchroom. Other divisions of Microsoft will have the SAME access to operating system information as the rest of the software industry. Microsoft can still innovate and manage the future of its operating systems. The difference will be everyone will have the same access to information on those innovations, and at the same time.
Third, spin off the programming languages business. This is the only divestiture I'd require. It changes the process, levels the playing field and helps make item two work. For application development, Microsoft will have to use some other company's languages and compilers. To exploit a new version of an operating system under this scenario, Microsoft will have to make the "Chinese wall" work very well. And for Microsoft to upgrade its applications it must provide good information to the compiler makers before it can use any improvements in its own products.
Fourth, establish a fair and consistent pricing model for all products. This model should insure all OEM's get the same price and terms. Upgrades should cost less than the original product. Product price increases should be governed by investment and inflation. Establish a fair and consistent product license agreement that follows established industry norms. In a sense, Microsoft has from time to time resorted to "dumping." Access and Internet Explorer are the most notable examples of this. Microsoft must be prevented from "dumping."
Fifth, establish clear product maintenance and support rules. All products are to have a predetermined warranty period of 18 months to three years. Microsoft will fix all product defects and provide those fixes free of charge during the warranty period. Consumer protection provisions will be improved to provide reasonable product support assistance.
Sixth, a binding arbitration board should be set up to handle grievances with Microsoft. Serious issues that can not be resolved through normal business means can be taken to the board for resolution. The board should be able to resolve the matter in a few days or weeks. Decisions of the board are legally binding on all parties. The objective is for Microsoft to improve its business practices and over time operate more ethically. Periodically, the Court and DOJ will review the activities of the board. When the frequency and nature of the grievances demonstrates a genuine and sustainable change within Microsoft, then the role of the board will be changed to an "oversight" role. After five years in an oversight role, the board could then be eliminated by the court. The board allows Microsoft to operate freely, but prevents future hostile or monopolistic activities. There is an incentive here — the sooner Microsoft becomes fair and responsible in its business activities, the sooner the board is disbanded.
Seventh, Microsoft will establish corporate ethical guidelines that are socially responsible and consistent with US industry practices. It should include provisions that prevent Microsoft from raiding talent from their competitors. People can freely apply to work at Microsoft, but Microsoft can not initiate the process.
Eighth, following the semiconductor and computer industry model, a technology and patent pool will be established to manage non-Microsoft technology shipped with their products. If and when Microsoft is required to license replacement technology, this provides the legal and financial framework to administer it fairly and provide consumer protection.
Ninth, many companies and their employees were financially damaged by Microsoft. Microsoft should pay compensation to those clearly injured by their monopolistic activities. Priority should be given to insure employees are fairly compensated. The total cost of the damages paid by Microsoft should not exceed 15 percent of their net income for the next 10 years. No punitive damages should be levied against the company.
Tenth, enterprise/infrastructure services like e-mail, databases, file services, etc. must be ported and supported on non-Microsoft server platforms. The server platforms that comprise the top 50 percent of the non-Microsoft share of the market should be supported. This will result in healthy competition and benefit consumers. Windows NT will be directly competing with UNIX for price, performance, and reliability. As a result, Windows NT will improve in ways Microsoft cannot envision.
That's it. With the exception of the language/compiler division, Microsoft will not be broken up. Only the operating system division will be required to reorganize. Microsoft will remain intact and completely free to innovate.
What do you think?









