According to Microsoft senior VP Robert Muglia, Sun and Microsoft had a cordial relationship regarding Java development until Sun destroyed the relationship with a couple of key surprises. Among them was the surprise announcements of JavaBeans, a competitor to Microsoft's ActiveX controls, and Sun's rejection of COM, Microsoft's component object model for software development. Since then, the companies have been at each others throats and Sun sued Microsoft in 1997 for violating its Java licensing agreement.
"\[The JavaBeans\] announcement hit me, my management, and our engineering teams like a ton of bricks," said Muglia, who was the key player for Microsoft in its Java licensing. "We had offered to license COM to Sun and work in good faith to incorporate it into Java. Companies like IBM, Netscape, and Borland were at the conference announcing support and explaining how they would use JavaBeans. It was obvious that they had been briefed about the technology by Sun, and that Microsoft had been deliberately excluded from these briefings. Sun never mentioned JavaBeans to Microsoft until Mr. Baratz \[president of JavaSoft\] called me late in the afternoon on the day before JavaBeans was announced."
Muglia also said that Sun's surprise development of the Java Native Interface (JNI) in the Java Developers Kit (JDK) version 1.1 caused tension between the companies.
"Because \[JNI\] is a native code C++ interface, it has no impact on developers writing programs in Java," Muglia said. "Microsoft knew that from a contractual perspective, we were not obligated to support Sun's definition and that only Microsoft had the right to define these interfaces in our \[own JVM (Java Virtual Machine)\]."
Muglia claims that Sun not only knew Microsoft was developing a JVM specifically for Windows but that Sun had openly agreed that Microsoft would be able to optimize its own JVM for Windows.
"This point was not negotiable," Muglia says