One theme of Microsoft's lawyers in the Novell v. Microsoft antitrust litigation over WordPerfect has been that if what Microsoft did by undocumenting the APIs in Windows 95 was so terrible for Novell, why didn't it complain at the time? And, Microsoft also argued at the most recent
hearing in June, why was it that only middle management at Novell was involved?
I found a November 1, 1993 article in American Lawyer by Stuart Taylor, Jr., "What to Do With the Microsoft Monster" that gives a very clear picture of the context of the events in this litigation. I think it helps answer those questions, at least contextually, as well as some questions the judge articulated at that same hearing.
It turns out that even before
Novell bought WordPerfect, both Novell and WordPerfect, among others, had complained to the FTC, and later to the Department of Justice, complaining specifically about undocumented calls, among other dirty tricks on Microsoft's part.
The judge in the current litigation, the Hon. Frederick Motz, wouldn't let Novell tell the jury in the first trial that there even was a U.S. v. Microsoft antitrust trial, fearing it would be prejudicial, so he wouldn't let Novell's complaint to the DOJ be part of the record before the jury.
But what about the complaints to the FTC? Has he banned that too, while allowing Microsoft to argue to the jury and the judge that Novell failed to timely complain? That seems a little unbalanced.
In any case, we are not so limited, and I thought you might like to take a quick trip back in time, to see the context of this litigation. And to get us started, here's [PDF] a 1993 email thread, showing Microsoft employees discussing pulling back APIs:
you must be pulling my leg in asking what novell is suspicious about, right?
they think we're out to cheat them. we, of course, did this with wfw (in their eyes). we also haven't given them chicago code, and, we changed nt apis at the last minute and didn't tell them.
[Update: Here's [PDF] a 1992 Microsoft email thread about what to do about Novell's complaining, and another [PDF], this one from 1993, on Novell and how effectively it was competing, and another from 1993, an email from Paul Maritz, saying Novell was such a threat because it was determined to be a "cross-platform platform company":
Novell - getting more insidious all the time. They will be making strong cross-platform API push... And another [PDF] from 1994, listing Novell as a middleware threat. And another [PDF] from 1995, from Novell's Todd Millett, to Microsoft asking for help with APIs and getting no response:
In short, we have everything but the headers and libraries to actually implement this
functionality. If these constants and API's have been removed, why are they so well
documented? Also, if they have been removed, how do we integrated password changes
with Windows 95?
Any help would be appreciated. This confirms what Novell told the court, that they tried to use the undocumented APIs, but no one would help them, and as you can see, things that used to be in a place expected had move to unknown parts.
And you don't want to miss this one [PDF] from 1995, where a Microsoft email thread lists all the companies that were helped to use APIs but that Microsoft discouraged them from doing so, saying it would damage stability, but that it then secretly did in NT exactly what it told the competitors they should not do, as Brad Struss fumes and explains:
The problem is that approximately a year ago we told ISVs that a set of interfaces (known as namespace extensions) were no longer going to be a part of the standard Win32 API set -- they were moved to an unsupported status or "b-list". The rationale at the time was that the interfaces were difficult to support especially on NT. The specific reason is that when an ISV implements a namespace extension they live in the process space of the operating system. Thus, if an ISV writes their namespace extension poorly they can bring down the entire shell. This is still the case today. Another reasonn was that the Ren team (Office 96 PIM) was going to hold the key for all future shell innovation (thus the split of the Cairo shell team). Given this, we went and told the ISVs that there was a lot that they could do in the system with respect to extensibility BUT they COULD not integrate into the explorer (like the control panel and briefcase) as we had previously mentioned was possible. Ah, yes. Credibility, trust. - End Update.]
So for the last year we have been distributing "b-list" documentation to ISVs that were interested in the interfaces but always told them that this was not a desirable thing to do because these interfaces would most likely disappear in the future and there would be an equivalent way to do this in the future when the problems were solved. In the meantime there has been interest throughout the company in extending the shell in the way that the control panel and briefcase do.
So the PSD shell team has given them the docs and told them that we have distributed this ISVs and that they are writing to these extensions and they would most likely become part of the standard Win32 API set. For the most part this is fine from my perspective because MSN already has buyoff from the NT team to implement what they are currently using on Windows 95 which is to instantiate themselves into a separate instance of the Explorer. From a robustness perspective this is fine because if the app is bad, then they just bring down that instance of the explorer.
This is not the limit of what is going on internally. As I mentioned there is a lot of internal development going on where various groups are implementing these interfaces to varying degrees. Again I don't mind if these various groups are doing this development work as long as it is in the way that MSN is doing it (coming up with their own view, separate from the system). We can then move the interfaces back to the standard Win32 set and with a little ISV re-education on our part all is well. Today my perception changed drastically. I have just installed Athena (the lightweight PIM from the PSD group) onto my system and to my dismay they are not only using the namespace extensions but they are also displaying themselves in the scope (left) pane and view (right) pane. This is the EXACT thing we told ISVs they could (and should) not do!
In short we have a product that will be sold in the very near future that will implement interfaces that we told ISVs they should not use because we would not be able to support them moving forward. In the meantime we were developing a product that did exactly that. I can't even express how BAD this is! We loose everything when we do this! Credibility, trust, leverage, the works! What's strange about all odecision to not expose the shell extension api's f this is that it looks like this product works fine on NT as well.
Here's an excerpt from the rather long article, which is mostly about whether the Justice Department back then in 1993 should or should not bring an antitrust case against Microsoft, after the FTC had deadlocked on the same question. It begins earlier than the time frame of the Novell allegations in the current litigation, Novell having bought WordPerfect in 1994, but look at what was going on already:
Since the smash success of Windows 3.0 in 1990, Microsoft has surged to or near market leadership in the major categories of business applications software for IBM-compatible PCs. It dominates applications for Windows, the most dynamic and profitable segment of the market. This meeting didn't happen without the highest levels in Novell being involved, I think we can assume. And notice Novell was planning or at least considering a private antitrust suit back then, and was asked not to do so until after the government did whatever it was going to do. So much for delay accusations.
Microsoft's Maples is not closing in on 100 percent yet, but he's moving in the right direction. Meanwhile, Microsoft's largest competitors in PC applications -- Lotus, Borland, and WordPerfect Corporation -- are all complaining that it has used predatory tactics to beat them out....
With $2 billion in cash and no debt, Microsoft is in an enviable position to wage price wars and outspend competitors on research, development, and promotion....
The central charge by these losing competitors is that Microsoft has been using illegal arrangements unfairly to exploit the monopoly power of MS-DOS and Windows, in an attempt to monopolize the biggest applications software markets.
Competitors say Microsoft has tied sales of its applications to those of its operating systems through various package deals. They say it has also engaged in "technological tying" -- updating MS-DOS and Windows in ways designed to raise the costs of applications competitors, and using undocumented calls and other devices to give Microsoft's own applications programmers earlier and better information than it gives to its biggest competitors about how best to interlace with DOS and (especially) Windows....
At least ten companies, including the four biggest software vendors in the world after Microsoft -- Novell, Lotus, WordPerfect, and Borland -- have lobbied the FTC and now the Justice Department to tackle Microsoft. Some have supplied sworn affidavits alleging various predatory acts, expert economic and technical reports, and detailed legal analyses, as well as huddled with FTC and now Justice Department investigators. From these submissions emerges a portrait of Gates and company as ruthless monopolists with a bold disregard both for antitrust law and for simple honesty and fairness in business dealings.
Novell has been the most active of Microsoft's accusers, especially since overtures by Gates to buy Novell for more than $12 billion-a handsome premium- broke down after eight months in March 1992. Novell has since complained that the merger overtures were another Gates head fake all along, designed to slow down Novell's push to take a chunk of the MS-DOS monopoly with its competing DR DOS operating system.
Novell convened a meeting to compare notes with lawyers for other Microsoft competitors on September 29, 1992, at Novell's Dulles Airport office, outside Washington. Attendees included Novell's in-house counsel, David Bradford, and its then-D. C. counsel, Sturgis Sobin of Washington's Ablondi, Foster & Sobin; WordPerfect's in-house counsel, Duff Thompson; Lotus's FTC counsel, Andrew Berg of Washington's Akin, Gump, Strauss, Hauer & Feld; and lawyers for Borland, Logitech Inc., and GO Corporation, which all had complaints of dirty tricks by Microsoft.
Novell was (and is) considering a private antitrust suit against Microsoft, but Lotus counsel Berg urged all those present to wait lest a private suit give the FTC a legitimate reason not to use its scarce resources to sue. Besides, only a governmental suit offered any realistic prospect of immediate relief via a preliminary injunction.
This is all happening before Novell buys WordPerfect. But did you notice that the undocumented calls issue was already driving competitors of Microsoft, including Novell, nuts? Microsoft denied doing anything untoward to DR DOS, but there's an email you can read on this page, from Bill Gates in 1988, and here's his question to the employees on the thread:
You never sent me a response on the question of what things an app would do that would make it run with MSDOS and not run with DR-DOS. Is there any version check or api that they fail to have? Is ther[e a] feature they have that might get in our way? I am not looking for something they can't get around. I am looking for something that their current binary fails on. So much for Bill Gates denials. The FTC spent a good amount of time investigating the issues brought to them, and ultimately it split 2 to 2, so the investigation ended in deadlock, which is when the DOJ stepped up to the plate. That brings us, in the article, into the time frame of the Gates decision to undocument the Windows 95 APIs:
This is a fairly urgent question for me and I have received nothing.
The DR DOS-Windows compatibility scare is closely related to a broader issue: Microsoft's use of secret features known as "undocumented calls" in both MS-DOS and Windows to the disadvantage of competitors. This is 1993, just before Novell bought WordPerfect, and it looked at the time like the problems would be addressed by the DOJ, and indeed in due time some of them were. Who would have thought Microsoft would continue doing the very same thing even after all this?
"Call" is software shorthand for "applications programming interface": a group of technical features in operating software that enable it to respond to commands sent by complementary software products. A competing software firm cannot take advantage of calls that Microsoft does not document publicly (or disclose to that firm) -- not, at least, without time-consuming reverse engineering, and without risking that Microsoft will make its software obsolete by removing the undocumented calls from the next release of MS-DOS or Windows.
Undocumented calls are common in software, and are not necessarily illegitimate. It would be difficult to document every conceivable program interface, and wasteful to document features that have not yet been perfected or may not be retained in future versions.
Still, the Justice Department has received numerous allegations that Microsoft has secured an unfair advantage by using undocumented calls to make MS-DOS and Windows run more smoothly with one another and with Microsoft applications, like Word and Excel, than with competing products.
Until the summer of 1992, Microsoft had repeatedly denied that its applications software relied on any undocumented calls in Windows. These denials were proven false by Schulman in his 1992 book, Undocumented Windows. Microsoft was forced to admit that Word and Excel use at least 16 undocumented calls in Windows, supposedly in violation of Microsoft internal policies. The company has continued to maintain that this gives its applicaštions developers no unfair advantages. Competitors ask why, if that's so, Microsoft relies on these undocumented calls at all; if they're important enough to use, they're important enough to document.
Indeed, Microsoft itself seems to concede that its own reliance on undocumented calls has the effect of excluding competition, at least in operating software. In questioning DR DOS's compatibility with Windows, Microsoft executives, including Brad Silverberg, have said that Windows relies on so many undocumented calls in MS-DOS that DR DOS (or any other competing operating system) could not easily achieve compatibility with Windows.
That's the one-two Microsoft punch: First it uses un-documented calls in its monopoly operating systems that hinder competitors from making their software fully compatible; then it disparages the competitors' products as incompatible.
Nor is DR DOS the only alleged or potential victim of such conduct. Microsoft has served notice on the software market this year that the company "plans new versions of Windows and MS-DOS that will make it 'virtually impossible' for Novell, Sun [Microsystems], or IBM to guarantee that their operating software will run future Windows and MS-DOS applications," as The Wall Street Journal said on March 15, 1993, quoting Michael Maples, a Microsoft executive vice-president. And in May Bill Gates implied that Microsoft would use intellectual property litigation to hammer any competitors that nonetheless succeed in replicating Windows functions.
Growing the Monopoly
"If someone thinks we're not after Lotus and after WordPerfect and after Borland, they're confused," the same Michael Maples declared at a November 1991 briefing for reporters and analysts. "My job is to get a fair share of the software applications market, and to me that's one hundred percent."
"In the old days," observes an FTC official, "antitrust counsel would cringe at that kind of talk."
There's another snip from the article that the judge in Novell v. Microsoft might wish to consider, not that he likely will:
But Microsoft makes little effort to conceal its hegemonic designs. Bill Gates is not content merely to dominate the PC operating software market. He wants it all: the larger, but so far more competitive, market for major business applications like word processing, spreadsheet, and graphics programs; the market for networking software that has long been dominated by Novell-software for tying computers to fax machines, copiers, printers, and phones; the market for wireless data receivers; and on from your office to your home-software for handheld computers, personal digital assistants, CD-ROM disks with multimedia encyclopedias and golf games, the coming 500-channel cable and interactive television, and whatever else lies at the end of the "electronic superhighways" that the Clinton administration is so excited about building. In Bill Gates's vision, these will all be rolled into one big Microsoftian ball.
Did you notice that the operating system market is not the same as the market for applications like word processing and spreadsheet programs? The judge has shown some confusion about that point, in that he continues to think that the contract between Novell and Caldera, whereby Caldera would sue Microsoft over operating systems, DR DOS in particular, also implies things like WordPerfect. Or vice versa. His thinking is his own, although Microsoft first planted the idea, so I'm just guessing how it all meshes in his mind. But the rest of the world -- back in 1993 and today -- know that they are not the same. The appeals court also noted, in footnote 3, that there is a specific list of products that were covered by the deal, and WordPerfect isn't on that list:
3 The thirteen enumerated products were: CP/M, Concurrent DOS, DR DOS 6.0, DR DOS 5.0, Multiuser DOS, Novell DOS 7.0, PALMDOS, GEM, GEM Draw, GEM Wordchart, GEM Graph, GEM Programmers Toolkit, and Draw Plus. They are very unlikely to enjoy it if Judge Motz makes them tell him this again.
One final excerpt that I do think the judge also should consider when evaluating witness testimony:
Here's a computer industry expert with no stake in the investigation who has great respect for Microsoft's brains but an especially dim view of its character: "Microsoft is an extremely powerful and dangerous, unethical, immoral, predatory, dishonest company. . . . Those guys have enormous power in the industry and use it brutally...And in negotiating, they just lie all the time - all the time."
The article describes Bill Gates telling the FTC that Microsoft didn't deliberately insert code to raise doubts about DR DOS's compatibility, but that was then. Now we know that indeed it did exactly that. You can find the very emails plotting the scheme among the exhibits in the Comes v. Microsoft antitrust litigation. Also, here's a Caldera filing that will give you the picture it presented to the court. But here's what they were insisting was so back then:
Gates and other Microsoft executives have assiduously raised doubts about DR DOS's compatibility with Windows. But according to Novell, the only compatibility problems were caused by Microsoft's unusual exclusion of Novell (alone among software companies) from its Windows 3.1 "beta" (user-testing) program; the problems were largely fixed by May 1992. Still, Microsoft conducted a continuing publicity campaign to raise what Novell says were false fears about DR DOS. The article even reports that Gates called a FTC Commissioner's ideas "Communistic" for suggesting that Microsoft share its undocumented materials regarding its operating system:
FTC investigators also concluded that in order to sabotage DR DOS, Microsoft had carefully written and hidden a batch of code into tens of thousands of beta copies of Windows 3.1 that were sent to expert computer users in December 1991. When someone tried to run one of these Windows 3.1 beta copies on a PC using DR DOS (or any other non-MS-DOS operating system), the screen would display the following message: "Nonfatal error detected: error 4D53 (Please contact Windows 3.1 beta support.) Press C to continue."
To expert beta-testers using DR DOS with Windows, this message would convey that they could continue using the program, but it might cause problems. The effect would be to deter some from using DR DOS further; others would call Microsoft for an explanation of the supposed risks of using DR DOS.
The "apparent purpose of this code is to lay down arbitrary technical obstacles for DOS-workalike programs," Andrew Schulman, a respected programming expert and author in Cambridge, Massachusetts, writes in the forthcoming second edition of his book, Undocumented DOS. He says this seemed "a deliberate incompatibility" that would scare Windows beta-testers "into not using DR DOS." Schulman stresses that Microsoft had carefully encrypted this code to disguise its purpose and mode of operation and evade detection, and that he and another programming expert had cracked the code only by days of reverse engineering.
In a May 1993 letter to FTC investigators who had approached him earlier, Schulman said this had been an "attempt to thwart discovery, and is more the sort of thing one expects from a teenager writing a virus than from a multibillion-dollar corporation."
Schulman has often defended Microsoft against what he calls "scapegoating from the second-tier software companies such as Novell, Lotus, WordPerfect, and Borland." But he adds, in an interview, that he now believes Microsoft has engaged in some questionable competitive tactics. "The best scapegoat is someone who's a little bit guilty," Schulman notes.
Microsoft has denied ever inserting code into any of its software for the purpose of making it incompatible with a competitor's. It has told investigators it included the "nonfatal error" message in Windows 3.1 beta copies because it needed to warn users that Microsoft had tested Windows for compatibility only with MS-DOS, and could not guarantee that DR DOS or any other operating system would not cause problems. The code underlying the warning had been encrypted, Microsoft has explained, lest companies selling MS-DOS clones rig their own software to disable it.
FTC investigators found such explanations unpersuasive. If, as Microsoft claims, Microsoft's purpose was simply to warn that it could not guarantee that Windows would work well with any non-MS-DOS system, it had already made that clear elsewhere in the materials it provided beta-testers. Why have an on-screen "error message" too? And what was the error? "It seems," in Schulman's words, "that the only 'error' is that the user is running Windows on someone else's version of DOS."
During Gates's July 16 visit to lobby FTC chairman Janet Steiger, an official recalls, an FTC lawyer tossed Gates a "gotcha" question implying that Microsoft had disparaged DR DOS to beta-testers who called in about the error message. Gates's angry retort -- "You don't know what you're talking about" -- sent "an emotional blast through the room," says this official; then "his lawyers jumped in to change the subject and cool things down," without answering the question directly.
Or when Commissioner Dennis Yao, a soft-spoken former Wharton business school professor, floated a line of hypothetical questions suggesting possible curbs on Microsoft's growing monopoly power, including disclosure to competitors and the public of technical data about its dominant personal computer (PC) operating systems, MS-DOS and Windows. I think this context is important, and I suggest you read the entire article to get the full flavor of Microsoft's personality back then, so as to evaluate the likelihood that Gates's testimony about the reason he decided to undocument the APIs in Windows 95 is true. The jury didn't buy it, and this article tells me that they were right not to.
Gates was vexed. "He started by calling Yao's ideas socialistic," recalls a source familiar with the July 15 meeting, "and as he got angrier and angrier and louder and louder, he got into calling them Communistic."