hanks to the latest judicial ruling in the Microsoft Corp. case, it seems the world won't be getting a pair of Baby Bills any time soon. Between Judge Thomas Penfield Jackson's perceived ethical problems in discussing the case with reporters prior to a final ruling, and the appellate court's ruling that Microsoft didn't try to monopolize the browser market, it looks like Microsoft will stay intact. Sure, the appeals court upheld that Microsoft holds a monopoly with its Windows operating system. And it also found that Microsoft violated the Sherman Antitrust Act in trying to crush the Netscape Navigator browser and subvert Sun Microsystems' Java technologies. But the necessary remedy isn't a breakup.
But that doesn't mean that there aren't significant issues raised by the decision that Java developers should be aware of. For starters, though the Sun vs. Microsoft case was settled for $20 million back in January, the federal antitrust case could actually open up Microsoft to a private antitrust lawsuit from Sun. However, despite the temptation of a potential windfall, I doubt a corp-to-corp antitrust lawsuit will happen, given the effort necessary to prove damages.
The real meat of interest to the Java developer starts on Page 52 of the U.S. Court of Appeals ruling. Section 5 of the ruling reflects on the four areas of confusion Microsoft created in the marketplace in relation to Java: the incompatible virtual machine
agreements with third-party vendors
deception of Java developers, and
threat to Intel.
In each area of reflection, the court confirms or denies monopolistic actions.
JVM Anticompetitive But Not Monopolistic
In the case of Microsoft's Java virtual machine, the appeals court found that while the incompatible JVM was anticompetitive, it wasn't monopolistic, reversing the district court's strike against Microsoft. In essence, the appeals court said that the competitive justification for the incompatibilitiesmaking "a large investment of engineering resources to develop a high-performance Windows JVM"was sufficient to refute monopolistic practices.
The second area where Microsoft was deemed to act in a monopolistic manner was in what the district court called "First Wave Agreements." These were agreements with independent software vendors (ISVs), such as Rational and Symantec, to develop products reliant on Windows-specific technologies and to prevent them from delivering Sun-compatible JVMs. In this second area, the appeals court's findings were mixed. Essentially, they rejected that Microsoft low-balled the pricing of the agreements. However, they did find that these agreements prevented distribution of "a Windows JVM that complied with Sun's standards." Since there was no pro-competitive justification for those provisions of the agreements, the fact that they required the use of the Microsoft VM was deemed a violation of the Sherman Act. Strike one.
Area three is the one directly involving Java developers. It has to do with Microsoft's deception of developers by delivering Visual J++. In and of itself, J++ wasn't a bad thing. What was bad was that the programs created with it could inadvertently be Windows-specific because of the introduction of new language keywords and compiler directives (and their reliance on COM objects, though that specifically wasn't mentioned in the latest ruling). Was that a bad thing? In and of itself, letting developers create Windows-specific programs wasn't bad enough. What the courts found troublesome was the fact that Microsoft was two-faced. While Microsoft was publicly committing to cooperation with Sun, they led developers to believe they were creating cross-platform applications, when in fact they weren't. According to the ruling:
developers who relied upon Microsoft's public commitment to cooperate with Sun and who used Microsoft's tools to develop what Microsoft led them to believe were cross-platform applications ended up producing applications that would run only on the Windows operating system
And that two-facedness is where the appellate court found Microsoft's conduct "exclusionary."
As we all know, especially with the disappearance of Visual J++ as a development option, programs developed with J++ were more than likely not cross-platformespecially if you created them visually with the tool. With various references to internal Microsoft documents about polluting the Java market, the appeals court upheld the district court's ruling that the exclusionary conduct was in violation of the Sherman Act. Strike two.
Against Cross-Platform Development?
The fourth and final area has to do with something I always suspected but could never prove. Well, at least not until the district court released its Finding of Fact. Did Microsoft use its "monopoly power to prevent firms such as Intel from aiding in the creation of cross-platform interfaces"? With plenty of evidencesuch as Microsoft threatening to support AMD if Intel kept up its multimedia API supportthe appeals court agreed with the district court in finding that Microsoft acted in a monopolistic fashion, yet again in violation of the Sherman Act. Strike three.
Even with three strikes, Microsoft isn't out. With several of the district court's findings vacated and thanks to Judge Jackson's foot-in-mouth behavior, the appeals court obliterated the potential for a breakup. While it was fun to read some of Jackson's quotes, the appeals court's summary has little immediate affect on the Java arena. If anything, it diminishes the district court's conclusion, because it threw out one of the four earlier findings and reduced a second.
At least Visual J++ is off the scene already. And so far, possibly with the help of Microsoft's $20 million settlement, Sun has been able to avoid layoffs, even if most of the company was forced to take off the week of July 4. Now, if only they can get that stock price back up.
As far as Microsoft goes, if you read about some of their negotiation tactics with Windows XP and AOL, it appears to be back to its old monopolistic ways.