Sun began testing last week, as soon as Microsoft posted the final version of IE 4.0. The results will be announced at 10:30 a.m. tomorrow during a conference call.
At stake is Microsoft's (MSFT) Java license, which Sun could perhaps revoke if the software giant doesn't fully implement Java in IE. The latest version of the browser became publicly available Tuesday evening.
Sun had to wait in line like everyone else to download the software and is currently running it through its full set of Java compatibility tests. "[Microsoft] has to pass the full set of Java compatibility tests for JDK [Java Development Kit] 1.1 in order to ship their product," said Sun spokeswoman Lisa Poulson. "That's in the terms of all our licenses."
In an interview Tuesday, Microsoft CEO Bill Gates said beta versions of IE 4.0 passed Sun's compatibility tests.
"We agreed when we did the beta there were a certain set of test cases, and we passed all those test cases," the executive said. "Now, the added test cases have nothing to do with running Java applications subsequently. They're raising some stuff that doesn't really have anything to do with compatibility with Java applications."
Java licensees usually test their own products and send the results to Sun or make final code available before it goes public. Microsoft did neither, according to Poulson.
The spokeswoman refused to say which incompatibilities could specifically be at issue, but Microsoft has stated in the past that it would not ship the Java Native Interface (JNI)--pieces of code that let a developer tie a Java program to the resources of the native operating system. Use of the JNI makes a Java program "impure," according to Sun.
Anticipating the results of the test, Microsoft's Charles Fitzgerald launched a preemptive email strike today, calling into question Sun's testing methodology and defending the Java implementation in IE 4.0.
"IE 4 supports JDK 1.1 except for JNI and RMI [Remote Method Invocation]," Fitzgerald wrote. "Microsoft has no obligation to ship either with IE 4. The Microsoft Virtual Machine is the reference implementation of Java for Windows, which gives Microsoft the right to define all VM-level interfaces, such as the native code interface. While Sun may regret this, it is part of the deal it signed."
Sun representatives declined to comment until the test results are ready. The company said Tuesday night that it hoped to complete testing in several days.
Poulson would not say if exclusion of the JNI would cause IE 4.0 to fail the tests, but she acknowledged that the technology, which JavaSoft provides in the JDK 1.1, is meant to shore up the present limitations of Java.
"If you are developing an application for which there is no Java API, then you would use the JNI," she added. "As the platform grows larger, there are fewer times you'll need to use the JNI."
One Java programmer said that the debate over JNIs was "not the most important issue."
"You can do a lot of things in Java without the JNI," said Stephen Gower, president of the Java and Web development company Javaquarium. "The foundation classes are a bigger issue."
Microsoft has said it would not ship Sun's Java class libraries, dubbed JFCs, which Netscape says it will support. Instead, Microsoft is opting to use its own libraries, called AFCs. The differing libraries, which let a developer create more complex graphical user interfaces, will force developers to choose one set over the other when building browser-based Java apps.
"If a Netscape user tries to view an AFC-built applet, he can still view it but must download a lot of classes on the fly," said Gower. "That's potentially a long download."
The same would apply to an IE 4.0 user viewing a JFC-built applet.
The AFC-JFC debate is a heated one, but the classes are not part of the JDK 1.1 and so have nothing to do with the compatibility tests Sun is currently running.