And while, yes, one circuit so far has decided that API’s are copywritable the argument of fair use is still up in the air (unless the appellate court has finally finished that case, I haven’t bothered to check).
Also, Oracle and Sun before have continued to release OpenJDK under the GPLv2 (with classpath exception), giving an implicit license to the API with the worst case being an implementation needs to use the same license - it may not be able to call itself “Java” on the packaging but “compatible” probably.
Removing the word Java from all docs and sources isn't nearly as easy as removing the name RedHat and making CentOS. And even if you do that you won't be compatible because all the existing tools and programs expect you to be called java.
I'm not entirely sure if you're actually prohibited from publishing a new API under the name of com.oracle.* or java.* (IMHO you can, but I'm not sure), but even if you're prohibited to do so in the general case, you 100% can name a package com.oracle.java.everything without any permission if naming it so is actually needed for interoperability, that's a legitimate use of a trademark that its owner cannot restrict.
If this is true, then why did the Apache Harmony project have to close because it couldn't get a TCK license and so couldn't call itself Java or even Java-compatible?
Having a project branded "Magic Java Bean" with a class name com.mycompany.magicbean requires permission from Oracle, but having a project named "My alternative black magic drink SDK" with a classpath com.oracle.jdbc or java.something does not require any licence, if that particular name is required for interoperability.
TCK, despite "compatibility" in it's name, isn't required for compatibility in the legal sense (it's required to demonstrate compatibility, not as an unalienable part of any component that happens to be compatible) so it can be licenced (or not) however Sun/Oracle wishes.
Ultimately OpenJDK’s existence was what caused Harmony’s death, since the GPLv2 with Classpath Exception was a “good enough” license for the community (personal and commercial).
Yup, already happening. Implement a JVM and open source it and try to ask for a TCK. They don't allow non-openjdk-derivative open source JVM implementations to license the TCK. So one could argue the worst thing that they (and Sun) do is to disallow a competing open source version w/ the same test cases.
Is any project working to do this, ala Debian's IceWeasel?
To clarify for other thread participants: that was an April 1st joke by InfoWorld. Oracle didn't really sue Starbucks.
https://www.infoworld.com/article/2623819/misadventures/orac...
Just removing the word Java from the OpenJDK sources and documentation would be a huge endeavor. All the standard tools ("java", "javac" etc) would have to be renamed. It might also require completely breaking backward compatibility, because APIs are now copyrighted and the Java standard library packages are named java.* (and probably there are class and method names mentioning "java" too).
ETA: even ignoring copyrights on API, the trademark itself might stop you from publishing the not-Java standard library under the package java.*.
ETA #2: other commenters say it's allowed to use a trademarked word as long as it's necessary for compatibility. But it's not allowed to actually say you're compatible. Apparently. I don't claim to understand this, but law is not require to make sense, so this could be true.