Page 3 of 7
On October 7, 1997, Sun Microsystems launched its lawsuit against Microsoft. In the suit, Sun claimed that Microsoft broke its contractual obligation to deliver products that implement Sun's Java technology in the manner prescribed by Sun's licensing specifications. Sun claimed that Microsoft was trying to break Java's cross-platform nature in order to deliver a technology that appeared to be Java but only worked with Microsoft products. According to the lawsuit, Microsoft did not fully implement all areas of the Java Development Kit (JDK) 1.1 and made changes to this JDK, thus violating its agreement.
Microsoft admits it did not fully implement all areas of JDK 1.1 in the final version of Internet Explorer 4.0. Specifically, the Java Native Interface (JNI) and Remote Method Invocation (RMI) portions of the JDK were not implemented. One possible reason Microsoft chose not to support RMI, observers speculate, is that RMI is based on a distributed computing technology that competes with Microsoft's Distributed Component Object Model (DCOM) technology. This alternate technology, developed by the Object Management Group, is known as the Common Object Request Broker Architecture (CORBA). Supporting the rival CORBA instead of DCOM would undoubtedly be a bitter pill for Microsoft to swallow.
Microsoft also made changes to JDK 1.1. New classes, methods, and variables were added to the core Java APIs (application programming interfaces). Interfaces such as DSAPrivateKey and DSAPublicKey were changed. In at least one instance, a method was missing from a class. Finally, significant behavioral differences between the Sun and Microsoft versions of JDK 1.1 were uncovered.
Given these alterations and the selective inclusion of JDK elements, many developers, like Tom Adamson, don't blame Sun for suing Microsoft. "The greatest threat to Microsoft was the success of Java. So Microsoft did what it could to corrupt it," said Adamson, president of Manchester, NH-based Adamson House Ltd., an electronic publisher of multimedia content from the Web. "I don't blame Sun Microsystems for suing Microsoft over this issue."
Concurring, developer Johannes Hubert feels that Microsoft's actions made the software giant look stingy and underhanded. "I think Microsoft shouldn't have done what it did in the first place. Not because of the reasons most other people usually give, about Java having to stay pure, etc., but because it made them look cheap. It's a too-obvious case of them trying to undermine the position of Java. Simply complying with the license -- and that means not leaving out any required stuff, as they did, or adding their own alternative solutions -- would have been the better way in my eyes. The Microsoft alternatives would then have had a chance to win on their own merits."
Microsoft's aggressive strategy, even if aimed at making Java stronger, played right into Sun's PR line: that Microsoft was only trying to corrupt Java, Hubert said. "As they did it, it simply entrenched the lines of Microsoft haters. It made Microsoft look sneaky, not to mention that it dragged them into court, not a smart move! Even worse, it rouses the suspicion that the people at Microsoft themselves are probably not 100 percent convinced that their alternatives are better than Sun's."