In what should come as a relief to some customers, Microsoft said it would continue to provide support for its Java virtual machine software until the end of September 2004, 10 months longer than it had originally planned, under a new licensing agreement with Sun Microsystems.
Microsoft's Java license had been due to expire on January 2, in accordance with a legal settlement reached two years ago over its alleged misuse of Sun's technology. The companies have agreed to a new Java "maintenance" license for Microsoft that is valid until September 30, 2004, and allows Microsoft to issue important updates such as security patches for its Java virtual machine (JVM).
The companies agreed to the new terms in order to give customers more time to migrate away from Microsoft's JVM before it stops supporting the product, group manager at Sun for Java distribution programs, Jean Elliott, said.
JVMs allow Java programs to run on any computer regardless of the operating system or hardware and are available from several vendors including Sun. Microsoft has set up a Web site at http://www.microsoft.com/java where it is offering advice for customers about their options, which include moving to a different JVM or to Microsoft's .Net platform.
Both vendors have been told by customers that they needed more time to make the transition, including enterprises, developers and independent software vendors, a Microsoft senior product manager for Windows, Matt Pilla, said.
Microsoft obtained its Java license from Sun in 1996 and the companies were at loggerheads soon after. Sun filed a breach of contract lawsuit against Microsoft the following year, accusing it of distributing an incompatible version of Java. In 1998 it added unfair competition and copyright infringement to its suit.
Sun argued that Java's ability to run on any operating system made it a significant threat to Windows, and that Microsoft tried to "derail" Java by creating its own version of it that tied developers to Windows.
Microsoft acknowledged adding extensions to its Java products that took advantage of Windows-specific features, but denied any wrongdoing.
The companies settled the case in 2001, with Microsoft agreeing to pay Sun $US20 million and to stop using the Java logo on its products. It was permitted to keep using the version of Java it was distributing at the time for a further seven years, but its license to use Sun's source code and compatibility test suites to support its JVM were due to expire on January 2, Elliott said.
Sun continues to pursue a separate, private antitrust case against Microsoft over its alleged misuse of Java, which was filed after its initial lawsuit was settled.
An analyst with Forrester Research, John Rymer, said the companies had to come up with a plan to help customers transition away from Microsoft's JVM.
"All this does is provide those customers with an additional 10 months for the transition process," he said.
The companies wouldn't disclose financial terms of the new license.
It did not allow Microsoft to upgrade its JVM with a more recent version of Java, only to provide maintenance fixes for its JVM, Elliott said.
Despite the years of animosity between them, Elliot said she was "very impressed" at how Sun and Microsoft were able to reach agreement over the new license.
Microsoft was "very civilised," she said.
Elliot said some companies had found it relatively easy to transition to a new JVM, but for companies that took advantage of Microsoft's Java extensions the process had been more difficult. Aside from actual development work, the transition had required lengthy planning and testing for some companies, she said.
The industry-wide replacement of Microsoft's JVM could be a significant undertaking, vice-president of Sun's Developer Platforms Group, Rich Green, said.
The agreement gives customers who need it more time to make the transition, with assurance that Microsoft will be able to deal with any "critical concerns" in its JVM while the transition is underway.
Microsoft and Sun have both been advising companies to make the move. Microsoft is urging customers to switch to its .Net platform and C# programming language and Sun is urging customers onto newer versions of Java.
Meanwhile, Microsoft has been phasing its JVM out of its products, including Windows and its Internet Explorer Web browser. At the same time, Sun has been signing deals with PC makers and other vendors to distribute JVMs, in order to ensure that Java applications can continue to run.
(Robert McMillan in San Francisco contributed to this report.)