[A quick refresher in the Microsoft antitrust case. Judge Thomas Penfield Jackson found that Microsoft was indeed a monopoly and ordered the company broken up. Microsoft appealed, the District of Columbia Circuit Court of Appeals reversed the breakup order, and, after the Bush administration took over, the Justice Department dropped its efforts to break up Microsoft. Of the states involved in the case, nine plus the District of Columbia broke ranks with the Justice Department in the remedy phase and are seeking harsher terms than those proposed by the Justice Department and the nine remaining states. -Adam]
Bill Gates took the stand last week in the Microsoft antitrust remedy hearings, and from most accounts, acquitted himself well, far better than in his previous videotaped depositions. Joe Wilcox of CNet News said Gates "redeemed himself as a witness." The Washington Post described Gates’s depositions in the earlier trial as "embarrassing" but said this time, "a well-prepared Gates provided a human face and a modicum of deference," and that he was a "controlled, polite, and more mature chairman" who "displayed encyclopaedic knowledge" of the proposed remedy. Other reports described Gates as calm, thorough, and professional. (If you haven’t yet seen full reports of Gates’s testimony, read the links below.)
Despite these positive reports, the technical community immediately insisted he was lying when he said that Microsoft could not remove components of Windows such as Internet Explorer and Windows Media Player. In the Eastside Journal of the Seattle area where Microsoft is based, writer Cydney Gillis reported on people skeptical of Gates’s claim, including Dave Winer. At UserLand, Winer ran a survey on the topic, and out of 413 votes expressing an opinion, only 1 percent say Gates was telling the whole truth. 64 percent say he’s lying and 30 percent say he’s misleading by saying code couldn’t be removed from the current Windows without breaking it.
The reporters present in the courtroom say Gates did well, and hundreds of people who weren’t there think he’s lying. Some of that’s gratuitous Microsoft bashing, no doubt, but most complaints are technical. People do not understand how something that was a separate program now can’t be separate again. Since the court will decide the question, it’s worth exploring.
Background Concepts — Let’s try to take the issue in Mac OS 9 terms for clarity. Many key components of Mac OS 9 are implemented as extensions – AppleScript, QuickTime, Disc Burner, and even USB and FireWire support. Reboot without these extensions, and you get a version of Mac OS 9 without their capabilities. Any program that requires one of these components, however, will not run without them – QuickTime Player won’t run without QuickTime, DragThing won’t run without AppleScript, and no Carbon application runs unless CarbonLib is present.
Yet these programs do not crash, they simply don’t function as you expect. That’s because Apple has, for about fifty years, warned developers to make sure a component is available before calling it. Programs that call components that aren’t installed crash hard. Checking before calling a component is roughly equivalent to making sure your car has come to a complete stop before getting out.
Back to Windows. The states that don’t want to settle with Microsoft say that since programs like Internet Explorer, MovieMaker, Windows Media Player, and MSN Messenger were previously stand-alone programs, they can stand alone again. Any integration into the operating system should be like an extension, so programmers can use them only if present, and so other companies can replace them with their own versions. Microsoft says that’s technically impossible.
Obviously it is possible, since Windows programs have had to work with or without those components in the past. Now however, many programs, including some in Windows, do not work properly in the absence of those components because their presence is assumed. If a necessary component were to be removed today, those programs would break, just like Gates says. That’s not what the states have in mind, but that’s the way he’s spinning it.
Gates’s testimony says that to meet the states’ requirement that Microsoft remove components from Windows while maintaining the capabilities of Windows APIs, the company would have to leave the binary code for all those components in Windows after all. If you take out Internet Explorer and its HTML rendering engine, Windows stops displaying all HTML, including help text. Windows doesn’t duplicate Internet Explorer’s HTML rendering in other code – take out Internet Explorer, and HTML goes with it.
Microsoft chose a similar approach during the trial in 1998, breaking Windows by ripping out every piece of code Internet Explorer used rather than repackaging it as a replaceable module. Microsoft feared, then as now, that proving it can modularize software would mean a court would eventually require modularized versions of Windows, in turn forcing Microsoft to give up the control over which programs stay installed in Windows. The states say Microsoft shouldn’t be able to do that anyway, and Microsoft is pulling out all the stops to make sure it can.
Weasel Words — So how can Microsoft say modularity is impossible under the states’ proposed remedy? The weaseling is in the word "middleware," used in the remedy to identify the components that would have be modular. Microsoft and Gates say the word is so poorly defined it could refer to any API – that is, any routine at all in Windows. It’s as if Apple not only had to make QuickTime a separate extension, but also make every routine within QuickTime a separate extension that could be removed or replaced at will.
That approach would never work – programmers can test for components before using them, but not for every single API. It would lead to chaos and mass confusion, exactly the effects Gates describes. By hammering on the details and dogmatically sticking to the worst possible interpretation of the proposal, Microsoft is trying to make sure only Microsoft decides what is and is not part of Windows, the company’s position since 1995. And it’s truthful, too: Gates says the proposed remedy can be read this way, and if it can, Microsoft may have to implement it this way.
Actually, he’s signalling the court that Microsoft will read it this way, ripping out sections of "middleware" under court order even though other parts of Windows might need the APIs they provide. Such versions would never wind up on store shelves, but if a PC maker purchases more than 10,000 Windows licenses and demands that Internet Explorer be removed, Microsoft would rip it out, breaking any program that needs HTML rendering. Such a modified Windows might not even boot.
The new remedy would also require that any "modular" versions run "without performance degradation" over the full version. Microsoft says it absolutely cannot do that. Adding checks to see if HTML rendering is present adds more instructions to a program and therefore degrades its performance. Hence Gates’s assertion of impossibility: if you remove something, the resulting operating system either doesn’t function right or is slower than the full version. It’s an extreme reading, but it’s within the language of the remedy.
Given the choice between stripping features out of Windows to the point where it might not even boot (thus undoubtedly provoking complaints and legal challenges from affected PC makers), or being accused of degrading performance by adding checks for missing components, Gates indirectly cautioned the court that Microsoft would pick the former. With the District of Columbia Circuit Court of Appeals’s past track record of supporting Microsoft in designing its products, the likelihood of a punitive injunction against the company for not obeying any remedy is small. Also, as the Washington Post reports, Judge Colleen Kollar-Kotelly is sustaining almost every Microsoft objection, and allowing Microsoft to make presentations to the court when the states were barred from similar presentations despite numerous pleas. Don’t count on the courts spanking Microsoft for hyper-literalism.
Back to the original question. Was Gates lying? No. He testified that a decree will cause some behavior in the future and that it’s "impossible" to make it work the way the states want. It’s legal posturing, certainly, but as Microsoft Chairman, he can make sure his testimony comes true.
The states can either admit that Microsoft will sabotage their proposal or come back to the court with one so tightly worded that Microsoft cannot read it in any way other than the way it’s intended, a difficult if not impossible task. Last Tuesday’s testimony confirmed this, as the states’s attorney portrayed Gates as deliberately adopting the most extreme interpretations, unsuccessfully attempting to get Gates to provide more acceptable language on the stand.
In short, Gates’s testimony was consistent with everything he has said and done for his company since this mess started – promising the world that any restriction on Windows that Microsoft didn’t like would result in a version of Windows the world wouldn’t like. It’s not an empty threat.
[Matt Deatherage is the publisher of MacJournals.com, where he oversees MDJ and MWJ – daily and weekly subscription-based, ad-free journals for serious Macintosh users. For a free trial, visit MacJournals.com.]