In written testimony released this evening, Sun vice president and Java inventor James Gosling said Microsoft has used its dominant Windows franchise to effectively create two separate versions of the programming language. The effect, he added, has prevented potential Windows rivals from ever benefiting from Java's cross-platform potential.
"Because of Microsoft's incompatibilities, developers are beginning to become aware that they may have to write Java-based programs twice--to the Microsoft-dependent implementation of the Java technology and to the cross-platform implementation of the Java technology," Gosling wrote. "This is precisely what the Java technology was designed to avoid."
The Justice Department (DOJ) and 20 states sued Microsoft in May, alleging that its attempts to "pollute" cross-platform Java were part of a broad pattern that violates antitrust laws. Industry analysts speculate that Java, were it to gain wide acceptance, could undermine Windows because Java applications would run on multiple platforms. The government contends that Microsoft's attempts to balkanize Java were an illegal attempt to maintain Windows' alleged monopoly.
Microsoft denies it has a monopoly or that it has harmed cross-platform Java. In a detailed response, the firm disputed Gosling's compatibility claims, noting that the Java virtual machine shipped with Windows and Internet Explorer runs cross-platform Java better than competing versions, including one made by Sun. The software giant also accused Sun of holding Microsoft to a double standard when it comes to compatibility requirements mandated by the Java license.
"Sun has let its allies ship products that are admittedly non-compliant while choosing to litigate against Microsoft, even though Microsoft has the most compatible implementation of Java available," Microsoft's statement argued, adding that Sun refuses to make the compatibility tests public.
The statement went on to argue that "100 percent Java solutions have significant limitations," such as an inability to support platform-specific features and hardware, such as printing and scanners. Faced with these drawbacks, Netscape, Corel, and Oracle all have abandoned development of cross-platform, 100-percent pure, Java applications, Microsoft said.
The 34 pages of testimony was released as U.S. District Judge Thomas Penfield Jackson lost patience with a Microsoft attorney, ordering him to finish his painstaking examination of an economist hired by the government. (See related story) The document breaks little new ground, largely repeating allegations already leveled in a pending lawsuit Sun filed against Microsoft in October of 1997.
While briefs in that case have spoken of Microsoft's attempts to "kill cross-platform Java" and of trying to "wrest control of Java away from Sun," there were no such allegations in Gosling's testimony. Instead, Gosling spelled out in technical terms how he believes Microsoft is trying to thwart Java's cross-platform promise.
First, he said, programs written with Microsoft extensions will not run on virtual machines made by Sun and other Microsoft rivals. Second, Java applications that use a common Sun protocols--such as Java native interface, or JNI, and remote method invocation, or RMI--will not run on Microsoft's virtual machine.
Gosling also testified that widespread acceptance of cross-platform Java depended on Netscape's ability to distribute its browser, and that to the extent Microsoft has fettered the marketing of Navigator the software giant has also harmed Java. At the same time, "Microsoft has used its ubiquitous operating system to flood the market with its Microsoft-dependent implementation."
Microsoft is expected to start its cross-examination of Gosling tomorrow.