The prelimary injunction by U.S. District Judge Ronald Whyte did not fully reinstate the original order as Sun had requested. Nevertheless, Sun general counsel Michael Morris praised the move as a significant step in the right direction.
"As we have said from the start of this case, Microsoft's misconduct with respect to Sun's Java technology has harmed competition, as well as those who use and rely on the Java technology," Morris said.
The decision comes as Microsoft is battling legal challenges on another front. The Justice Department and 19 states are expected to file a rebuttal brief to proposed "conclusions of law" Microsoft delivered to the court last week in its antitrust case against the government.
Microsoft licensed Java from Sun in 1995 and has since built its own runtime environment, or virtual machine, for use in its Windows operating systems and its Internet Explorer Web browser. Microsoft also sells Visual J++, a Java development tool.
Sun says not only that the Microsoft Virtual Machine is incompatible with Sun's reference implementation of Java, but also that it causes developers to build Java programs that only operate on Microsoft's Windows, defeating Sun's "write once, run anywhere" goal and violating the letter of Sun's Java licensing agreement.
Java, touted for its portability, lets software developers create programs that will run on virtually any operating system, such as Windows or Unix. Conformity is a big issue, Sun argues, if Java is to be ubiquitous.
Sun sued Microsoft in October 1997, alleging the maker of Windows violated its contract with Sun for developing and deploying products using the Java programming language and also Sun's Java copyright.
Whyte in November 1998 issued a preliminary injunction barring Microsoft from using Java in its products. He largely based his 31-page ruling on the argument that Microsoft violated Sun's copyright for Java.
But in a stunning turnaround in the battle, an appeals court later overturned the preliminary injunction, chiding Whyte for accepting Sun's copyright claim.
In reinstating the injunction, Whyte accepted Sun's claims on grounds of the California Business and Professions Code and not, as Sun requested, based on federal copyright law.
"Judge Whyte agreed with the appeals court that this case is a contract dispute and rejected Sun's novel argument that the focus should be on copyright and the contract should be ignored," said Microsoft spokesperson Jim Cullinan. "This strikes fundamentally at the heart of Sun's position in this case and supports Microsoft's oft-stated position that this is a contract dispute between two large and sophisticated companies."
Whyte took action, in part, to protect Sun's JNI (Java native interface), citing unfair business practices on the part of Microsoft.
The injunction bars Microsoft from turning on Microsoft programming language extensions by default in its products that use Java, and referring to its Java virtual machines as the "Reference Implementation" or implying Sun has approved Microsoft extensions. Microsoft must also warn developers that using its development toolkit could produce applications that are not compatible with Sun's Java license.
Cullinan said the injunction changes little as far as Microsoft is concerned. "This reflects the status quo and Microsoft is already in compliance with the order," he said.
The preliminary injunction also bars Microsoft from distributing operating systems, browsers and development tools that fail to pass Sun's Java compatibility tests.
"The judge was quite clear that nothing in this order requires Microsoft to recall any product and this order does not prevent any purchaser of Microsoft's products from continuing to use them," Cullinan said.
Microsoft could not immediately say whether it would appeal Whyte's ruling.