By now, I’m sure every reader of this newsletter has heard that Judge Thomas Penfield Jackson delivered a stinging rejection of Microsoft’s arguments in his findings of fact in the Microsoft antitrust trial. To recap briefly, the US Department of Justice (DOJ) has been arguing in federal court that Microsoft is a monopoly; Microsoft argues that it’s just an aggressive competitor in a fast-moving industry.
Last Friday, Judge Jackson found in favor of the DOJ in almost every issue of fact. He branded Microsoft as a monopoly, noting that the DOS/Windows share of the PC desktop market exceeds 90 percent—a number that has been stable for about 5 years. Jackson noted that the barriers to any other firm challenging this dominant position are almost impossibly high. Finally, in a series of cases involving numerous Microsoft competitors, he found that the government has persuasively shown that Microsoft has used its monopolistic power to suppress competing products.
What do these findings mean to Windows 2000 (Win2K)? That’s hard to say; Microsoft isn’t commenting on specific details. But if you look closely at the spin that company executives offered over the weekend, you'll get a pretty good hint. Microsoft COO Bob Herbold was on television Monday night calling the findings "the third inning in a nine-inning game," and Microsoft President Steve Ballmer wrote an opinion piece in Tuesday’s Wall Street Journal that called the findings "only one step in a long legal process." These statements translate to one word: appeals. If Microsoft chooses to do so, it can drag the appeals process out for years in federal court, all the way to the Supreme Court, if necessary. In such a long-term process, the release of one more product isn’t all that significant.
But there is one area that might cause trouble: Win2K embeds Internet Explorer (IE) 5.0 in the basic installation. IE is not an option—it’s part of the OS—and is used not only for Web browsing but for viewing online documentation and help files. Because the DOJ built so much of its case around bundling issues—particularly the bundling of IE—it’s possible that the DOJ might seek a restraining order against the Win2K release until (and unless) Microsoft provides an option to separate IE from the main product installation.
If the DOJ does issue the restraining order, Microsoft can—and probably will—challenge the order. The company could also start working on a version of Win2K without IE or on a procedure to remove IE from the system. I’ve heard rumors for months that various product teams have been thinking along these lines, although my sources are unanimous in saying that Microsoft does not have a non-IE version of Win2K under formal development.
In any case, my advice to Win2K beta testers is to keep doing what you’ve been doing. By the time Microsoft releases the product to manufacturing, we’ll have a pretty good idea whether the DOJ will try to stop it and how Microsoft will respond. In the meantime, hold tight and keep working with what you have. You can find Microsoft’s official comments here.
Driver Update: WDM Isn’t What We Thought!
Several readers reacted to last month's exploration of printer/scanner/fax multifunction device (MFD) driver incompatibility by asking if Windows Device Model (WDM) isn’t supposed to solve this problem. I wondered about that too, and I took the opportunity last week to chat with one of the responsible Microsoft design engineers. To recap, Microsoft made much of WDM in early briefings on Windows 98 and Win2K, claiming that providing a common architecture for drivers would eliminate device compatibility issues between Microsoft’s two desktop OS families.
I'm sad to say, this case turns out to be yet another example of Microsoft overselling a technology—and of the press (myself included) not asking enough questions about exactly how the technology works and what devices it covers. It turns out that WDM doesn’t address any imaging devices, period. That includes display devices, printers, scanners—basically all the devices we assumed were going to be compatible between Win98 and Win2K.
Part of the problem was a miscommunication about who Microsoft designed WDM for—it’s really for developers, not end users. The design engineers told me, "The objective was to take some of the burden \[off\] people writing device drivers...back in the Win95/NT 4.0 timeframe, driver architectures were totally different."
It also turns out that the people who briefed me—and others—on WDM oversimplified how the technology works in practice. Although WDM provides a common architecture for devices on both Win2K and Win9x, it doesn't guarantee binary compatibility. Binary compatibility does occur in some cases, but in others, you must tweak the driver code for each system. And in every case, you must test the drivers on both systems. Microsoft recommends using Win2K as the primary driver development platform because it’s less tolerant of errors than Win98; many cases of incompatibility occur because developers ignore this recommendation.
Why aren’t display drivers part of WDM? All devices that deal directly with the Windows graphics device interface (GDI) are OS-specific. In Win98, these drivers act as virtual device drivers (VxDs)—basically, protected-mode extensions to the OS that have unlimited access to the hardware. That approach is a no-no for Win2K because it presents an unacceptable security risk and can result in an errant driver crashing the entire OS. There is a lot of common code for supporting, for example, DirectX on both systems—but you wind up with a different driver for each OS.
What devices does WDM support? Universal Serial Bus (USB) is one example. So a USB driver written to support Win98 should support Win2K, although some cases exist where you might need a firmware revision to support the latter. WDM also provides common architectures for Mouse/Keyboard/Joystick drivers, 1394 devices, audio, and DVD—but not CD-Rewritable (CDRW), which requires driver writers to create a separate file system.
Although a common WDM driver architecture for DVD devices is available, Win98 and Win2K implement the coder-decoders (CODECs) that handle multimedia content differently; you can end up with a DVD that’s supported on Win2K, but CODECs that aren’t supported—unless the developers go to the trouble of creating separate Win2K versions.
The need to have two versions of video drivers, printer drivers, CODECs, and the like isn’t ideal, and Microsoft wants to resolve the situation. The design engineer I spoke with confirmed that Microsoft’s goal is still a single OS kernel, based on NT/Win2K. He added, "Then we'll have only one model to support, and these problems will go away." On the other hand, with Microsoft prepping yet another member of the Win9x family, code-named Millennium, for release next year, who can say when the old kernel will go away?