U.S. District Court Judge Ronald Whyte has approved Sun Microsystems’ request for a preliminary injunction against Microsoft’s Java implementations for Windows, giving Microsoft 90 days to bring Java-related products into compliance with its licensing agreement with Sun. Essentially, this means Microsoft’s Java products must support Sun’s Java Native Interface (JNI) to the Java runtime environment, pass Sun’s Java compatibility tests, and disable by default non-standard compiler directives and keywords in Java development tools. Microsoft must also notify its customers it has been preliminarily found in violation of Sun’s license agreement, and warn developers when they attempt to compile code that will not be compatible with Sun’s Java technology. Microsoft says it will comply with the ruling, and although the court found that Sun is likely to prevail in the actual trial, it nonetheless required Sun to post a $15 million bond in the event the final ruling is in Microsoft’s favor.
Sun’s lawsuit, filed more than a year ago, alleges Microsoft has tried to corrupt the cross-platform capabilities of Sun’s Java technology by encouraging Windows-based Java programmers to develop projects that will run only on Microsoft’s Java virtual machine and Windows platforms, rather than on any Java virtual machine that passes Sun’s compatibility tests. Sun alleges Microsoft further misled Java developers by claiming its Java technologies were "official reference" implementations. Microsoft contends that its license never required it to support JNI, that it is allowed to extend Java’s capabilities, and that Sun’s strategy suppresses innovation and competition, and also seeks to prevent developers from producing highly integrated Java solutions for Windows.