Think of a number between 1 and 10....

by Robert Cooper

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?

16 Comments

Dalibor Topic
2006-11-15 12:23:23
Neither Classpath, nor gcj, nor Kaffe (etc.) claim to be Java(TM), or come branded with the logo. Fedora does not claim to ship Java(TM), either, or come branded with the logo. Quoting from the Fedora release notes:


"Fedora Core Does Not Include Java"


If you abuse Sun's trademarks, they'll come after you, and that's the way it should be.

cooper
2006-11-15 12:52:32
You missed my point... Fedora comes with a "java" command. Tim is saying if typing "java" at a command line runs anything except Java(tm) then you are gonna get sued. That is ridiculous.
Matthew Sporleder
2006-11-15 13:07:57
I don't think he's saying that at all. He's saying that if you claim your product is Java(tm), it must pass the TCK.


It's like UNIX vs unix.

Dalibor Topic
2006-11-15 13:27:45
I think Tim is concerned with commercial distributors trying to pass off something that's not Java(TM) as Java(TM), and that's a valid concern, in particular given Sun's experience with Microsoft.


However, Fedora makes it clear in the documentation that the gcj-based stack is not Java(TM), so that Fedora users don't accidentally make false assumptions.


While Fedora can not ship the current Java(TM) 1.5 implementation from Sun, since per its policy it only ships open source software, it provides a convenient mechanism to 'switch' from gcj to Java(TM) using the 'java*' symlinks that you mention, afaik.


If someone forked Fedora, and slapped the Java(TM) logo on it, without including a Java(TM) certified environment on it, then Sun would have every right to make that person stop abusing their trademarks.

Dalibor Topic
2006-11-15 13:45:56
As far as contributor agreements go: FSF has one, Apache has one, Eclipse has one, Mozilla has one, and ... Sun has had one for a while. They are standard practice for the sort of long running open source projects.


While the Kaffe project itself has no contributor agreement since there is no foundation or company behind the project that would be able to deal with the amount of paper work all of that would require, I encourage developers working on Kaffe to work with our upstream projects according to their rules for contributions, and sign contributor agreements, if they are necessary, for example.


So it should come as no surprise that the Kaffe developers that work on the class libraries, which come from GNU Classpath, all have their contributor agreements with the FSF.


If one takes something on terms one likes, why should one not give back to the other party on the terms that party likes?

cooper
2006-11-15 13:53:33
Matthew, again I point you to the emphasised quote:
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.
cooper
2006-11-15 14:41:20
If one takes something on terms one likes, why should one not give back to the other party on the terms that party likes?


I think I should give it back on the same terms I took, frankly. That would seem to be the spirit of the GPL if nothing else.

Dalibor Topic
2006-11-15 16:44:04
In that case FSF's standard practice of requiring copyright assignment on most of their projects would be against the spirit of the GPL. ;)
cooper
2006-11-15 17:25:00
Yes, but none of these organisations -- Mozilla, ASF, or FSF are ever going to distribute my contributed code under a license other than the one under which I got code from them. There is a very important distinction there.
Dalibor Topic
2006-11-15 18:42:49
Actually, the FSF will, with GPLv3, and they did so with LGPL 2.1, and GPLv2, I think. You can not have received code from them under those terms, but nevertheless they did relicense your contributions.


Mozilla did the same, for example, during the tri-licensing. No one had received the Mozilla code under the GPL/LGPL before that.


The ASF did the same with the migration from Apache License 1.0 to 1.1, and then to 2.0.

cooper
2006-11-15 18:48:00
Well, the FSF -- while not a specific requirement of the GPL -- specifically attaches a rider about future version of the GPL applying to any of their code, so no, they didn't redistributed it under conditions different from how I might have gotten it.


While the only example that really stands out as valid out of your list is the MPL to Tri-License. However, that is moving from a less restrictive to a more restrictive license in terms of code reuse. That is not really the same as taking someone contribution to Java and taking free reign to distribute it under whatever closed terms they want is still a vastly different situation.

Danese Cooper
2006-11-15 18:55:30
Dalibor,


One nit (and I do get the gist of what you're saying). Mozilla's specific Contributor Agreement doesn't ask for copyrights. It only asks the developer to certify that they have the right to submit patches. This lack of aggregation of copyrights was a problem for Mozilla when they wanted to add the GPL and become "tri-licensed". They had to go back to a majority of the copyright holders and gain agreement in writing before they could make the change, and that took many many months and a lot of resource time following up on requests, etc. This case actually shows why copyright assignment is so popular (with everyone from the FSF to Sun), because it gives the project leadership flexibility. IMHO Mozilla would still have had to appeal to its community before making a licensing change, but gaining consensus would have been less paper-intensive and time-consuming. Moral to that story is..."Get the paper on the front end or you'll have to get it on the back end".


My friends at Sun would probably appreciate me pointing out that their Contributor Agreement only asks for a copy of the rights, not a unilateral assignment (which isn't even possible in the EU because of "moral rights" which can't be surrendered).


Danese

mitra4u
2006-11-16 02:10:57
test
Simon Hibbs
2006-11-16 03:29:45
>That is not really the same as taking someone contribution to
>Java and taking free reign to distribute it under whatever
>closed terms they want is still a vastly different situation.


Yes Sun can redistribute your code under whatever license they like BUT they must also release it under the GPL, so your code doesn't disappear into the commercial ether never to be seen again. It's still out there under the GPL as well.


All in all, I think it's reasonable, and in line with the practices of a number of other dual-licensed open source projects such as MySQL.

Michael
2006-11-16 10:07:31
Yes, but none of these organisations -- Mozilla, ASF, or FSF are ever going to distribute my contributed code under a license other than the one under which I got code from them. There is a very important distinction there.


Maybe not ASF themselves, but the Apache license does make your contributions available to anyone else who wants to distribute your code under another license.

cooper
2006-11-16 10:36:23
Maybe not ASF themselves, but the Apache license does make your contributions available to anyone else who wants to distribute your code under another license.


Well, not really. The ASL is just really leanient in terms of requirements. Again, though, they aren't getting "my code" to use under terms different from how I got "theirs".


I know for all IBM's hemming and hawing they are more irritated that Java isn't ASL because that means they can't just take what they want from it themselves. In that way, the GPL is a very good move for Sun, however, and lets be clear about this, Sun is getting it both ways: what's is theirs is theirs and what is yours is theirs and they will do whatever else they want with it as well. That is significantly different from any of the other GPL projects out there.