Microsoft will continue to provide support for its Java virtual machine software until the end of September 2004, 10 months longer than originally planned, under a licensing agreement with Sun Microsystems.
Microsoft's Java license had been due to expire in January in accordance with a legal settlement reached two years ago over its alleged misuse of Sun's technology.
The companies have agreed to the new Java "maintenance" licence for Microsoft, allows the company to issue important updates such as security patches for its Java virtual machine (JVM).
Both agreed to the latest terms to give customers more time to migrate away from Microsoft's JVM before it stops supporting the product.
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 website 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.
Customers have told both companies that they needed more time to make the transition, including enterprises, developers and independent software suppliers, said Matt Pilla, a Microsoft senior product manager for Windows.
Microsoft obtained its Java licence 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, which 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 $20m 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 licence to use Sun's source code and compatibility test suites to support its JVM were due to expire in January.
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.
John Rymer, an analyst with Forrester Research, said the companies had to come up with a plan to help customers make the move from Microsoft's JVM. "All this does is provide those customers with an additional 10 months for the transition process," he said.
The companies did not disclose financial terms. The licence does not allow Microsoft to upgrade its JVM with a more recent version of Java, only to provide maintenance fixes for its JVM, said Sun group manager for Java distribution programs Jean Elliott.
Microsoft and Sun have both been advising companies to make the move, with Microsoft urging customers to switch to its .Net platform and C# programming language and Sun urging customers onto newer versions of Java.
Meanwhile, Microsoft has been phasing its JVM out of its products, including Windows and Internet Explorer. At the same time, Sun has been signing deals with PC makers and other suppliers to distribute JVMs to ensure that Java applications can continue to run.
James Niccolai writes for IDG News Service