In 35 pages of written testimony released yesterday the creator of Java accuses Microsoft of setting out to destroy the programming language's cross-platform compatibility to eliminate it as a threat to the Windows operating system.
"If Microsoft successfully fragments the Java technology, the cross platform benefits to vendors, developers, and users of the Java technology will be damaged, and any threat the Java technology poses to Microsoft's dominant Windows operating system will be neutralised," wrote James Gosling, vice president of Sun Microsystems, who developed Java in 1991.
Gosling will face Microsoft's cross-examination of his written testimony tomorrow. He follows government economist Frederick Warren-Boulton, whose testimony dragged out for five days and concluded yesterday at the insistence of Judge Thomas Penfield Jackson.
Jackson's irritation at Microsoft's dogged questioning of the economist evidently reached its zenith at about 4 p.m. yesterday. Jackson told Microsoft attorney Michael Lacovara that he wanted him to conclude his follow-up questions to Warren-Boulton within the hour.
"This has got to end," the stern-faced Jackson said to Lacovara after the attorney said he may need several more hours. "This examination has got to be brought to an end," said Jackson.
Microsoft had finished its cross-examination in morning and Lacovara's questions were in response to issues raised during the government's redirect.
Gosling's appearance today may be preceded by the showing of a 30-minute segment of the videotaped deposition of Bill Gates, Microsoft's chairman and chief executive officer, said David Boies, the chief government attorney. In the segment Gates talks about Java, Boies said.
Gosling will likely testify in court through Thursday. Witnesses have been giving their initial testimony in writing according to rules set by the judge designed to speed the pace of the trial.
The accusations raised by Gosling go to the heart of a lawsuit Sun has filed against Microsoft over its use of Java. On Nov. 17 a federal district judge in California granted Sun's motion for a preliminary injunction and ordered Microsoft, at least pending the outcome of the case, to change the Java implementations in its products so they satisfy compatibility requirements of Sun.
And just last week Sun announced plans to help America Online Inc. develop the next generation of Netscape Communications Corp.'s Internet software using Java. AOL plans to buy Netscape in a stock-for-stock transaction worth US$4.2 billion.
In his written testimony, Gosling accuses Microsoft of making "an incompatible implementation of the Java technology that is not cross-platform, but instead is dependent on the Windows operating system platform and Microsoft's proprietary technology."
Among the things Microsoft has done to damage Java, according to Gosling, is to extend the programming language in ways supported only by Microsoft's implementation of Java.
"This is analogous to adding to the English language words and phrases that cannot be understood by anyone else," said Gosling.
Microsoft, he said, also omitted from its implementation a standard Application Programming Interface (API) called the Java Native Interface (JNI) that permits platform specific code, such as Windows, to interact with Java code. "If the developer uses JNI, the software will not run on Microsoft's JVM (Java Virtual Machine)," he said.
"In sum, the key parts of the Java technology -- the programming language, the class libraries and APIs, the compiler and the JVM -- have been altered in Microsoft's implementation in ways that impair the cross-platform promise of the Java technology," said Gosling.
"Microsoft employees have acknowledged to me that unilaterally extending the Java language destroys the cross-platform compatibility of Java technology," said Gosling.
Microsoft, in a written response to Gosling's testimony, argues that Sun's "write once, run anywhere," mantra for Java doesn't deliver as promised. To run on all platforms, Java is limited to a base set of features that impede its performance, functionality and integration, according to Microsoft.
"Developers are not confused and clearly recognise when they are using native code from Windows or any other platform to make their applications more desirable to consumers," said Microsoft in its statement. Microsoft claims that Java applications written in its implementation deliver better performance.
Microsoft said the "irony" of Gosling's testimony in the antitrust case, as well as in Sun's licensing lawsuit, "is that the issue isn't about cross-platform Java at all, but about how best to access native Windows
"Microsoft years ago offered developers better ways to take full advantage of native Windows code from Java," said Microsoft.
(Patrick Thibodeau is a senior writer at Computerworld.)