J++ had extensions that were not portable -- in clear violation of the binding license agreement that Microsoft would not add anything to the java.* or javax.* namespaces.
Hence the lawsuit.
Microsoft could have added any Microsoft or Windows goodies they wanted -- as long as they didn't try to make it appear that these extensions were part of the Java platform and would run anywhere. There's nothing wrong with Java code that only works on some systems. But not if you're making a version of Java and building those extensions in, especially in a way that tricks developers into using them because they appear to be part of the Java base. Then later the developer discovers their program only runs on Windows.
I have to disagree. Sun sued Microsoft because Sun's entire motivation in Java was to keep Java portable. So much so that it was in the contract. It was a private contract dispute between two companies. A civil matter. Not a state criminal matter.
Hence the lawsuit.
Microsoft could have added any Microsoft or Windows goodies they wanted -- as long as they didn't try to make it appear that these extensions were part of the Java platform and would run anywhere. There's nothing wrong with Java code that only works on some systems. But not if you're making a version of Java and building those extensions in, especially in a way that tricks developers into using them because they appear to be part of the Java base. Then later the developer discovers their program only runs on Windows.