is it…. GPL?

Bray gives an interview with Artima and there are at least a couple of WTF moments in there.

Frank Sommers: Why is the GPL a better choice for Java than Apache, Mozilla or some other open-source license?

Tim Bray: You are never going to get a consensus on that. There was a huge amount of argument on that [issue]. I see IBM issued a statement today, wishing that we had done Apache. You can name many reasons for choosing Apache.

I personally think that the GPL is a better choice, simply because Java has been given away for free for so long by us that the world owes Java something back. When people make improvements [to] Java these days, they should very well turn around and give that back to the community. So I’m really comfortable with GPL.

He’s the thing, Tim. That is all well and good, except you maintain the dual licensing model. Unless *Sun* wants to fork Java — an all internal version, and an all GPL version — that is just not going to happen. All those improvements that might float around on the internet can’t just be culled by Sun. The author has to hack through the red tape of your contributor agreement, feel comfortable with Sun selling her code to binary only distributors completely out her control — something which I suspect is going to go over like a fart in church with the exact people you are trying to woo with this — and THEN Sun will put it “in Java.”

Frank Sommers: The new project on java.net is called OpenJDK. It’s not called Java. How does the licensing change impact the use of the Java name?

Tim Bray: That’s a very good question. The source code is open-sourced under the GPL. Anybody can take the code, anybody can change the code, anybody can compile their changed version and ship it, or sell it even.

What they can’t do is call it Java. You can’t call it Java unless it passes the TCK and goes through all the usual TCK and copyright processes you have to go through to call something Java.

That’s how we’re keeping the compatibility promise to the world. We’re not doing it through engineering means, we’re doing it through business and legal means. If something is called Java, and has the Coffee Cup logo on it, that means that it has passed the TCK and it is, in fact, fully compatible Java.

In the past, there have been incidents of people trying to skate around that, to call something Java that really isn’t. In the past, when that happened, we have taken them to court. Let’s be totally clear on that: If somebody’s trying to do that, they’ll find themselves in court right away. We will be very aggressive about that.

For the business user who doesn’t want to be fooling around with experimental open-source, all they need to do is look for the Java name and the brand [image], and they’ll have real Java. Whether it’s called Java in the administration panel, or the command line you type to run it, or however you normally access it, if it appears under the name Java, then it had better be Java, or that distribution is going to end up in court. [ed: emphasis mine]

Seriously, that is (a) not or only marginally enforced right now, and (b) pretty stupid. If Sun wants to get its panties in a wad every time the word “java” is used then the courts should already be awash in suits. Fedora today ships with a “java” command that isn’t Java™. Does GWT need to get sued because they hava a java.lang.String class that isn’t TCK compliant? Why aren’t you suing Classpath from the get go, since they don’t pass the TCK?

I understand having Java™ certification, but this statement implies a level of legal wankery on Sun’s part that is well past what we have been accustomed to and beyond that proverbial pale. Out side of that, is it good for Sun OR Java to have the Iceweasel issue here?