Sun Virtual Reality briefing on Java forks, compatibility, Microsoft, Linux
The user experience for this virtual press conference was unique to say the least. A one click direct url teleported me to the Sun pavilion. As I approached the briefing area (which resembled an outdoor concert venue) and saw Tim Bray asleep at a table. I sat next to him and shouted 'wake up', and then hung out for a while. I later moved to the conference area (depicted on the left, click for larger image) and grabbed a seat next to Geir Magnusson (Apache Harmony PMC Chair) to watch the briefing. Other than a break dance that happened at the end (see bottom image), only other gamish aspect was Tim Bray flying up and down during his talk, and a small penguin that occasionally flopped around in front of the stage.
Early in the call the speakers responded to one of my questions about what a derivative work means in the context of Java application developers. Do app developers need to worry about the GPL?
"We are copying the licensing style that the GNU classpath project is using. There have never been any issues with apps running on top of the JVM being affected if it was GPL only in it's licensing...so we're using GPL with the classpath exception and that guarantees that the apps that you run on top of the jdk are not at any risk of needing to use the GPL as their license."
Someone in the audience asked about governance policies and how OpenJDK will work with other open source Java initiatives, namely Harmony.
"It's Sun's intention that the open community at OpenJDK has a transparent governance process. With regards to harmony and the other open source java's, we're all friends." Simon Phipps gestured to Geir Magnusson in the audience and continued "we're alreayd seeing those communities talking together and working together. We really are looking for creative ideas about how the community can operate together. One thing to note about free and open source sotware is that the community is driven by the people actually doing the work."
Continuing on the Harmony path, someone asked if it's possible for Sun to mix and match code with the Apache Harmony project. The response interestingly did not address the impossibility of Harmony using OpenJDK code (which IBM has been grumbling about), instead focusing on the other direction:
"For political reasons there are plenty of folks around who believe that the GPL license and the Apache license result in codebases that cannot be mixed with each other. We see no reasons that Apache code can't be incorporated into GPL code but we'll have to seee how the community works it out amongsts themselves. Any new work made from Sun's code would need to be licensed GPL. I myself don't see any barrier to the inclusion of Apache code into the GPLl'd code in either classpath or OpenJDK.
Forking and how code makes it back into the JDK was key theme discussed, with a first question appearing to ask about what community support Sun might provide forks, to which Simon Phipps replied:
"I believe that forks are a good thing if they result in compatible Java going to places where current Java couldn't be taken. I see us welcoming those uses of Java code. Incompatible forks we won't give a great deal of support towards. We're having some discussions at the moment about exactly which enhancements will be welcome into OpenJDK. I am expecting that there is going to be a real open source community doing real work and Sun will be assemble the JDK that Sun then runs through the test compatibility kit (TCK) and releases."
Tim Bray continued: Infact I would expect their to be forks of the form where some computer science dept grabs the code and builds something cool on top of it. They can't call it Java but that's ok. With any luck some of that innovation can find itself in the next version of Java.
The conversation on forking turnd towards how Sun will prevent incompatible Java's, Mark Shuttleworth "there is a strong trademark framework in place to let people who are looking for a 'will run any standard java' to know whether or not the thing they are using is standard java." Then someone asked the inevitable question about a Microsoft fork, to which Tim Bray responded:
"MS did that and we sued. The settlement we arrived at was quite satisfactory. Anybody can go and build Java and ship an incompatible piece of software. What they cannot do is call it Java. And make no mistake about it, we will agressively defend the Java brand. If anybody ships something that they call Java and isn't compatible, they will find themselves in court pretty darn quick".
Simon Phipps then had some fun with the notion of Microsoft forking Java: "We would welcome whatever one wants to do with the code under the terms of the GPL. I gather that they are reporting exceptionally low temperatures in hell the last few weeks, and Fedex has a new flying pig delivery service. So it's just possible that Microsoft is going to decide to embrace the GPL and start development under that, and if they want to do a clone of Java using the GPL I shall be very very shocked but it's fine to do that because the whole point of the GPL is that you can use the code to build whatever you want. Just remember that you can't call it Java if it doesn't pass the TCK."
I asked what are some examples of places Java can go that it couldn't go before. As well as two other platforms, the speakers spent a bit of time talking about Linux. Simon Phipps mentioned Ubuntu, Debian, and Fedora as having expressed excitment about including Java in the core distributions. "The whole point of the gpl was to produce a step function in terms of new places java can go to, and i'm sure that is going to be the case."
Tim Bray lamented about the pain Linux desktop developers go through coding to C++ and saying that now Java can be treated as a first class citizen. Simon Phipps said he had already spoken to GNOME folks and that Sun intends to do more work on the Java bindings for GNOME. "I anticipate that the steps we're taking today will result in Java being a very popular GNOME programming enviroinment.
An audience asked why did it take so long to open Java for open source. Simon Phipps responded looking back at the history of Java, first explaining how he was able to introduce Java into IBM while he worked there in 1995.
the reason we were able to do this is because Java came with full source code and it was possible for us to pick that up and port it AIX and OS/2 without asking anyones permission. We could take the code and do stuff with it. In many ways the Java platform and Mozilla after it were the inspiration for the commercial habilitation of the FSF idea. So Java was in many ways a pioneer of what was to come. One of the problems with being a pioneer is that you're right out in front looking at the new land and not looking over your shoulder at what's going on around you. If we had looked over our shoulder we probably would have realized that updating the wickedly modern license we used in 1995 to those used in 1999 for open source projects would have been a good idea... There are many ways in which this is a great time to be making the Java platform open source. We could not have done this in 1999 becuase Java was not well established enough and certain hostile monopolist with evil intent had already proved tht they were well willing to embrace and extend the platform in a way tha that led to a $2B settlement. So I tend to think that the earliest we could have done this was around 2004, and the time betweeen 2004 and 2006, the people who were the stewards of the Java platform had been in incredibly deep conversations about how to fufill the very serious responsibilities they had to the community.After the session ended the speakers and the audience gathered on the pavilion floor to hang out, after which someone started break dancing while Tim, Simon, and the rest of the audience watched in amazement:
For more on Sun's Open Source Java Announcement, see: Sun open sources Java SE, ME, and Glassfish under GPLv2