Another message storm has blown in across the Java Lobby on if/when/how Sun should Open Source (empahsis mine) Java.

This is not the first or last time this will come up. But, as always, it boils down to a tension between the differing priorities for Java (compatibility) and Open Source (freedom). Having spent a great deal of time in the technology licensing group at Sun, I fully understand this tension and remain confident that both freedom and compatibility can be achieved if both sides would stop talking at each other and start talking to each other.

Here's one of the fundamental quandaries that I think needs to be addressed:

Both sides tend to agree that the Java logo and trademark is Sun's property and Sun's alone. And that Sun can and should use that trademark as a way to "rubber stamp" compatible implementations. And both sides tend to agree that no implementation of Java should be allowed to have that trademark if they have not passed an appropriate set of compatibility tests (although both sides do not necessarily agree on what is "appropriate" or how such tests should be made available).

But if it is clear that the Java logo can and should mean compatibility and that no incompatible implementation should be allowed to have the logo, isn't it also logical that no compatible implementation should be allowed to not have the logo? If the logo is truely going to mean compatibility, shouldn't it be required to be on compatible implementations? And once made compatible, shouldn't a given implementation remain compatible? After all, compatibility is a moving target - are you 1.1 compatible, 1.2 compatible or 1.5 compatible?

These (along with many other) are the reasons Sun has been reluctant to move down the open source path. Compatibility means certain responsiblities, not complete and unencumbered freedom. Without understanding and addressing these core tensions, the debate will rage on.
Comments:

It seems to me an open source license could be created which requires compatability. If there can be licenses requiring viral propagation, certainly they can be licenses which require compatability.

Posted by 24.214.94.176 on February 25, 2005 at 09:40 PM PST #

If the fork/implementation is compatable with the specification and JCP rules then it can be called Java... else it can't. What's the problem? Perl is open source and don't have compatibility problems.

Posted by sergio on February 26, 2005 at 07:17 AM PST #

But if it is clear that the Java logo can and should mean compatibility and that no incompatible implementation should be allowed to have the logo, isn't it also logical that no compatible implementation should be allowed to not have the logo?

Of course not... that's ridiculous, a total non sequitur -- and frankly, if that's the best Sun can do to justify its closed approach to Java, then I'm not surprised that open source Java advocates get so annoyed.

Posted by me on February 26, 2005 at 08:52 AM PST #

I think it would work perfectly if Sun released something called something vague like "FreeVM" which is simply the JDK, under a BSD license, but not called Java in any way. Then, if you want to release a version of it, you have to submit it to Sun for testing to be able to call it Java. Otherwise it's called FreeVM or whatever the developers want to name it.

Posted by Keith Lea on February 26, 2005 at 07:42 PM PST #

In response to my question about whether we should allow compatible version of Java to ship without the Java brand, "me" wrote:

"Of course not... that's ridiculous, a total non sequitur "

Is it really ridiculous that Sun is concerned about the propogation of the brand on compatible implementations? Doesn't the brand's value come from a consistent application of it? (i.e. if brand equals compatibility, doesn't compatiblity equal brand?) And why does a concern for compatibility mean a "closed" approach - doesn't compatibility itself make the technology open?

And yes, I agree that these fundamental differences are part of why Sun and the open source advocates are sometimes far apart on their positions.

Posted by Dan Baigent on March 02, 2005 at 11:33 AM PST #

Dan, I believe it was your leap in logic that was somewhat funny to 'me'.

You are confusing compatiblity and the Java logo. They have nothing fundamental to do with each other.

One is something that's achieved by hard work on passing the test suites, and the other is something Sun and their business partners use to market and sell their VMs, or operating systems (like the Java Desktop System). Whatever deals Sun makes with their business partners like Microsoft to carry or not to carry Sun's logos is entirely Sun's decision and problem. The Java logo has no magical way of making Microsoft's or Apple's VM comply to the (still largely unreleased) 1.5 specifications unless the engineers in those companies put some hard work behind it, so it obviously is not a well-suited way for determining compliance to any specification from the JCP.

cheers, dalibor topic

Posted by Dalibor Topic on March 02, 2005 at 04:30 PM PST #

Dan, I believe it was your leap in logic that was somewhat funny to 'me'.

You are confusing compatiblity and the Java logo. They have nothing fundamental to do with each other.


On the contrary, the Java Compatible Logo is only granted to implementations that have passed the Java TCK.

Posted by Dan Baigent on March 17, 2005 at 04:47 PM PST #

Which TCK version have they passed? How? Where are the test results? Where are the logs? Who has independently verified it?

Can I independently verify Sun's (or anyone else's) compatiblity claims, or do I have to trust Sun's marketing to make the right decisions with whom to market their product together?

What the 'open source advocates' want, is to turn compatiblity claims into something verifiable and repeatable. A non-transparent logo-based marketing program is useless for determining compatiblity. A logo that says 'hey, I tested it and it kind of works for me' is not good enough for that.

cheers, dalibor topic

Posted by Dalibor Topic on April 02, 2005 at 08:01 AM PST #

Post a Comment:
  • HTML Syntax: NOT allowed

This blog copyright 2009 by dbaigent