The Java Debate at OSCon
My Notes on what was said (your mileage may vary and apologies for no links and potential misspellings). -Danese
Tim asked how many Java developers at JavaONE were working in Open Source (because he believes that all the interesting stuff in Java is happening in Open Source, like Struts for instance) and he got not many hands. Of course here at OSCon all the developers who are interested in Java are also interesting in Open Source. Wants this panel to explore questions of whether the status quo way Java has been handled is NOT working...
Eric Raymond (ESR) threw down the fundamental idea of Open Source in the Cathedral and the Bazaar. Bruno Souza is an open source developer, but also the leader of the largest Java User Group in the world (in Brazil). Simon Phipps used to push Java at IBM and then went to work for Sun.
ESR says Open Source developers don't trust tools that someone else has an exclusive lock on. This is the result of bitter past experience. Eric says the right to fork is like the right to sue, the right to strike or the right to bear arms. You many not want to exercise them, but once someone tries to take one of them away from you.
(Tim): So Simon...is Java open enough?
Simon Phipps agrees that the problem is trusting the tools. In 1995 Sun was trying to solve that same problem by creating Java. Java (and its emphasis on compatibility) is one attempt at solving the need for "freedom" from vendor lock-in by forcing all vendors to follow an agreed-upon standard. Open Source is another attempt at solving the vendor lock-in problem (via the "freedom" of code availability). So this debate boils down to a need to bridge between two large and successful communities of software freedom. Just as the word "Free" is not enough to describe both "gratis" and "libre", the word "Java" isn't enough. There are many parts of Java and some of them are already "Free" in the Libre sense. Java isn't open enough in the sense that although it is now possible for a compatible open Java to exist, there isn't one yet.
(Tim): So, Bruno...is Java open enough?
Well, in Brazil participation on the JCP lets Java developers specify what Sun and others implement. This is working for for now, but Bruno believes there needs to be an Open Source implementation eventually and that JCP 2.5 allows for this. He says his friends in Brazil would be willing to participate on an open source implementation.
(Tim): Audience...is Java open enough?
Brian Behlendorf...explaining the Apache position says that the JSPA version associated wtih JCP 2.5 (which Apache signed) allows for open source Java compatible re-implementations. The Apache movement sees incompatibility as a bug to be fixed but not necessarily regulated by legal means. Brian says Sun promised (circa JCP 2.5) that Apache would not be required to pass on compatibility requirements downstream. Recently Apache has noticed that the TCK license has a clause in it that doesn't work with the Open Source Definition...that code created in open source at Apache can't be reused without compatibility (required passdown of compatibility). He says that Sun and Apache are negotiating on this issue now and hopefully it will be resolved.
(Tim): Simon, do you want to comment?
This is an artifact of the fact that Sun is dealing with TWO paradigms of creating software...ONE that is bounded by competitors who want to destroy the value proposition by advantaging their implementation against all others, and SECOND from developers who want Sun to "give up control".
(Brian): Microsoft already created a fork...its called C#.
(Tim): Was surprised by number of developers at JavaONE who were cheering for Sun's stewardship of compatibility.
(Brian): Maybe we the F/OSS community need to get the word out how F/OSS supports compatibility.
(Eric): In the F/OSS world, we have languages that don't fork because its in nobody's interest to fork. Why doesn't that convinced Sun that the same can happen for Java?
(Simon): Because the F/OSS community isn't the problem...its the substantial marketshare of big companies who ARE incented to fork.
(Bruno): Notice that IBM sells WebSphere, not Java Application Servers. It is true that we've seen them provide SWT outside of the JCP system. When you hear IBM telling customers that they can ship a JVM without SWING which will be faster, that's a problem for WORA.
(Simon): Because programmers need WORA to work...they need everything there so they know what they can depend on it.
More Audience Questions...
(Russ Nelson): Why isn't there a good Java interpretor in OSS?
(Eric): There is! The problem is the libraries.
(Russ Nelson): Then we should dig in and write them!
(Bruno): Agrees...Its all possible for us to do now. We as a community need to go off and do that now.
(Brian): What we learned at Apache is that to implement the spec, you need to read the spec. To read the spec you need to sign up to the copyright notice (which is bounded by the JSPA). Those restrictions keep companies from committing resources to Open Java implementations and THAT is something the F/OSS community would need to hope to do a compatible re-implementation. Apache is working to try to fix this one problem licensing problem, which they hope will open the floodgates.
(Simon): Predicts that there will BE open source Java (possibly based on Cafe, GNU Classpath) real soon now.
(Tim): Has never understood why Sun gets hung up on theorhetical worries and loses all credit for the much good work they have really done.
(Audience member Scott Dietzen) : Would like to propose a middle ground based on control of the Java Namespace and Brand. (Scott works for BEA and this is their current proposal) to the JCP
(Brian): Apache have also proposed this to Sun. Nothing would give you the right to use Sun's trademarks without their approval in this proposal.
(ESR): That would be compatible for OSD.
(Simon): This is worth pursuing (in his opinion, but he isn't going to speak for Sun on this).
(Bruno): Feels this type of debate is important because there are two communities here who are seemingly at odds...There ARE Java developers who are worried that Java isn't open source yet. Sun needs to hear this.
(Tim): But maybe also the F/OSS community needs to hear that there IS evidently support in the Java community for Sun's point of view among their key constituents. So there needs to be more dialog...How can we get this discussion to happen more constructively?
(Audience Question): How can we help?
(Bruno): Download the F/OSS version of Java and use it...then contribute to enhance it!
(Simon): Programmers join libraries together these days, so VMs are sort of irrelevant. There is still time to work out how to get Java open.
(Audience Question): Is Mono having any implications for F/OSS server-side in the future?
(Tim): Seems to be Java all the way on the server.
(Bruno): There is a BOF tonight at 8:00 about this...come and lets see if we can go anything more ;-)