Sun Microsystems Inc and Microsoft Corp have at least agreed on one thing about Java – to put their previously confidential Java licensing contract up on their web sites for all to see. Meanwhile, Sun filed an amended complaint on Tuesday, alleging that not only did Microsoft imply that its products are totally Java compatible and cross-platform when they were not, but that Microsoft also freely distributed parts of Sun’s source code as part of the beta version of Microsoft ‘s Software Developer’s Kit for Java (SDKJ). For that misdemeanor Sun is seeking damages of $35.0m, which is stated in the original contract. The contract revealed that Microsoft pays Sun $3.5m plus $250,000 support costs per year for Java under a five year deal starting March 1996. That is not the standard Java licensing fee – it differs from company to company. There are actually two contracts, a technology licensing and distribution agreement and a trademark license agreement, which covers the use of the Java name and logo. Microsoft had six months from the February 1997 release of version 1.1 of the Java Developer’s Kit (JDK) to deliver to Sun its source code complying to the Java Compatibility Kit (JCK) 1.1 test suites, which Sun also provided in February. Microsoft posted its SDKJ on its web site shortly after declaring that it was Java compatible and would run on any platform, which Sun says is plain false. As previously reported, Sun alleges that Microsoft has omitted the Java Native Method Interface (JNI) and Java Remote Method Invocation (RMI) mechanisms from its JDK 1.1 implementation. JNI is a virtual machine interface that enables native program code to be invoked. RMI enables Java programs to connect between different computers. In their place Microsoft ships AFC Application Foundation Classes and J/Direct which ties Java applications using them to the Windows platform. Sun says Microsoft has modified as many 40 other JDK 1.1 reference APIs. For instance, says Sun, in Internet Explorer 4.0, Microsoft has modified the java. methods and java. fields of the java. packages and java. classes of IE 4.0 in a way that prevents programs that reference such modified fields of running on any other browser or platform other than that which conforms to Microsoft’s tweaked java. class libraries. It means that programs written using SDKJ and viewed using a browser other than IE wouldn’t be able to use all the Java classes but Microsoft still maintained its Java compatibility claims. Microsoft appears to be stuck in the middle, because if it drops the Java compatibility claims and logo it would violate the terms of the trademark license. Sun says it notified Microsoft in April this year that its SDKJ was not complaint and should not be distributed. Microsoft allegedly also advertised its SDKJ on its web site as the official reference implementation for Ewin32- based systems, platforms browsers. Not so, says Sun. Microsoft’s is not the official representation for Win32 or any other platform, it says. Anyone trying to read the contract using Netscape navigator 3.0 would be disappointed as it requires 4.x, but IE 3.0 worked fine. Microsoft said that was something to do with caching.