Freedom could lead to forking
Were the Java language to be made free, it would fork immediately.
I happen to know this is true; because unless someone beat me to it, I certainly would! :-)
For example, one new version I can readily think of, would certainly support operator overloading, as well as multiple inheritance. I think everyone could even guess the correct syntax already.
So is forking the language a bad thing? No!
The Java team has made their position on this perfectly clear already: they will not provide certain oft-requested features; under any circumstances.
They are certain they know what's in our best interests. So for non-free Java, there are currently no options; other than to pick a different language.
But some of us really think Java is the best language yet! So we're caught in a dilemma.
Now with free Java; consider for example: What if a lot of developers really liked some new Java++ extensions, and began prefering it to "standard" Java? The Java team would have to reconsider their position. Naturally they would be free to add the code to their own compiler as well; and thereby eliminate the need for the fork. The core language would be free to gain all of the most demonstrably popular features!
If most developers didn't use some new features, then it would remain a non-issue for the Java Team. But at least those who really wanted them would be allowed to use them.
This is the essence of freedom! Let developers decide what features are useful or not, after all, they are the ones who have to use them. It would allow the Java language, and its user base, to grow in exciting new directions. Java would become a truly living language. Dead languages, on the other hand, are typically used only in Cathedrals. ;-)
Reasonably, I think Sun should require conformance to the TCK, (at no charge), to ensure that any new versions of the Java language would have no compatibility issues with the rest of the runtime environment.