Under the settlement, Microsoft will pay Sun $20 million and is permanently prohibited from using "Java compatible" trademarks on its products, according to Sun. Sun also gets to terminate the licensing agreement it signed with Microsoft.
For its part, Microsoft is permitted to use a version of Java in Microsoft products that already contain it, or that already are in the testing phase, for the next seven years, according to the company.
Java is a software technology that allows a program to run on a multitude of computers without having to be rewritten for each one. Sun sued Microsoft for $35 million in 1997, saying Microsoft breached its contract by trying to extend Java so it would work differently, and presumably better, on Windows computers. Consequently, one of Sun's main arguments in the case was that Microsoft wrongfully advertised that its products were Java-compatible because, in Sun's eyes, they were not. Those changes broke the universality of Java, Sun argued.
"It's pretty simple: This is a victory for our licensees and consumers," Sun CEO Scott McNealy said in a statement. "The community wants one Java technology: one brand, one process and one great platform. We've accomplished that, and this agreement further protects the authenticity and value of Sun's Java technology."
Microsoft was equally upbeat.
What the Java ruling means for developers
Mary Jo Foley, editor at large, CNET News.com
Shares in both companies were up in after-hours trading on the Island electronic communications network, with Sun rising from $31.56 to $32.37 and Microsoft going from $60.56 to $61.94.
Java emerged in the mid-1990s and was immediately hailed as a technology that could greatly affect Microsoft's future, as it allowed developers to create desktop applications that could run on any operating system. As a result, developers ideally would not have to dedicate themselves to writing Windows programs to survive.
Although hype outpaced actual Java implementation, the technology has steadily caught on.
The germ of the suit began when Microsoft took out a Java license in 1996. Sun contended that Microsoft quickly began to run afoul of the licensing terms and filed the initial lawsuit in October 1997.
"Microsoft has proven time and again that it is unwilling to abide by the common rules of the Internet," Patricia Sueltz, Sun's executive vice president for the software systems group, said in a statement. "Its behavior with regard to the Java technology was just one instance. And when presented with the choice of compatibility or termination, Microsoft chose termination."
In a news conference, Sun executives said they were able to use Microsoft as a distribution tool to get Java into the hands of users when the software was in its infancy. Then Sun's lawsuit froze Microsoft's plans to modify Java for its own benefit, and Java became established in the meantime.
"I don't think we gave away anything. They're writing a check for $20 million. They're continuing to distribute an outdated version of the technology, but they can't use it for .Net," Sueltz said. "All in all, it's a very good day for Sun."
Microsoft.Net is the company's software plan in which programs run on a multitude of servers instead of a central machine or a desktop computer. Microsoft is advocating its own Java-like language, C# (pronounced "C-sharp"), for the task.
Analysts say C# offers many features similar to Java. With C#, Microsoft aims to make it easier and faster for software developers to build Web-based software and services, as envisioned in the Microsoft.Net strategy.
Analysts say C# gives programmers using Microsoft's C++ and Visual Basic languages an alternative to Java. Microsoft's new language includes a universal engine that will allow software developers to use many types of programming languages to write Windows applications, analysts said.
Though Microsoft may clone Java, it won't be allowed to say its products are Java-compatible.
Allowing Microsoft to ship the older version is just a crutch until the widespread distribution for the latest version is a reality. Having version 1.1.4 shipping on new Windows computers "allows (the transition) to proceed gracefully," Green said.
Meanwhile, Sun and IBM will continue to release the newest versions of Java for Microsoft operating systems, Sun executives said. Moving Java features to the servers instead of Web browsers has allowed Sun to advance Java despite the problems with Microsoft, they said.
Ironically, the Java battleground has shifted away from the desktop, where Sun and Microsoft are most fiercely pitted against each other. In the years since the lawsuit was filed, Sun has succeeded in spreading Java to servers and has begun adding it to gadgets such as Palm handheld computers and cell phones.
A Microsoft representative said the dispute lingered for too long. "We don't think anyone wins, but considering the lawsuit has been ongoing for three years, this is a good conclusion to this controversy," said Microsoft spokesman Jim Cullinan.
With the deal struck, Cullinan said Microsoft will be allowed to continue to offer its existing Java products, including its popular J++ development tool, for the next seven years. Microsoft product manager Tony Goodhew said the company will include J++ as a separate CD with the next version of Visual Studio.
Cullinan, however, blamed Sun for the lawsuit and maintained Microsoft's stance that Sun was trying to stop Microsoft's innovative work with Java.
"They have harmed consumers and developers by trying to reduce choice and the availability of technology," he said. "They decided to go to court and try to compete on the issue."
"There isn't really a clear winner or loser in this settlement," said Gartner Group analyst David Smith, "but when one company pays the other money, the payee has more of a legitimate claim to victory."
Smith noted that in the long term, developers will be the ultimate winner. "This is a cease-fire, but not peace," he said. "Microsoft has been feeling increasingly strong pain for not having a Java plan."
Smith said he believes it is unlikely that Microsoft will strike a new agreement with Sun for the latest version of Java, called J2EE. But Gartner believes that Microsoft will come around to support some of the new technologies that are part of J2EE, such as JSP (Java Server Pages) servlets, said Smith. Staff writer Mary Jo Foley contributed to this report.