 |
Distributing Sun's Java to Debian, Ubuntu, Gentoo, Open Solaris, ..and, "it's a matter of 'how'"
Posted by robogeek on May 16, 2006 at 12:00 PM | Comments (9)
I'm at Java ONE. I've been up to my eyeballs in work on a project which Jonathan announced this morning. The project had a brief enough mention that I want to explain it to y'all.
If you watched the keynote you saw Mark Shuttleworth come up for a brief chitchat about stuff, and what it's like to be in space. That's interesting enough, but there were a couple pieces of big news in that chitchat.
For the last few months a team of us have been working on a change in the licensing of Sun's Java implementation that makes it easy for a Linux or Open Solaris distributor to redistribute Sun's Java.
Okay, that's a mouthful. Let's break this down into small pieces.
First, the effect is to make this possible (on Debian):
# apt-get install sun-java5-jre
That's how easy it is, now, on the latest "testing" versions of Debian and Ubuntu, to install Sun's Java. The packaging for Gentoo should be released soon, if it hasn't already, and is similarly easy.
We have a new license, the Operating System Distributor License for Java v1.1 (hereinafter known as DLJ). The license is the big deal here.
We have a project, jdk-distros.dev.java.net, to act as a home for every Linux or Open Solaris distributor who wants to redistribute Sun's Java. The project is meant to house tips, tricks, bundling scripts, and be a collaboration point around getting this to work correctly.
This project is not limited to Ubuntu, Debian and Gentoo. This project is open to every distributor of Linux or Open Solaris. The DLJ allows operating system distributors to retrieve Sun's Java implementation, and repackage it for the packaging system on their operating system. In the case of Debian and Ubuntu, the Debian folk have worked with us closely to create .deb packaging that sits in their non-free repository. The same can be done for other operating systems.
Now... Compatibility matters, right?
If you look at the jdk-distros project you see the operating system distributors are not required, under the DLJ, to run the JCK. There's several factors to this which retain compatibility. First, these are the same bits that we, Sun, have tested. What's different here is we tested those bits on a different platform than the ones we tested.
In the DLJ certain obligations are placed on the OS distributors. First, the OS distributors are responsible for any compatibility problems. Well, most of them. Another requirement is to distribute the whole ballowax, no subsetting, and no mingling of Sun's bits with bits from other Java implementations. All the details are posted on the jdk-distros project, and if you have any question feel free to ask.
On the jdk-distros project we intend to have that be a place to work through any compatibility issues that arise. Sometimes the issue will be in the way a specific OS is configured, other times it will be a problem in Sun's implementation of Java. We expect to work through the issues, and distribute requests for change appropriately.
So, I think I've said enough about this for now.
I just want to say a little about "it's a matter of 'how'" ...
Well, I found that very surprising given what our management has been saying all along. I had no idea any statement of that sort would be made. But about a month or two ago it occurred to me ... if/when we were to open source our Java implementation, we would have to go through several years of exercises in opening up the processes. We have 11+ years of closed processes to rethink, and it's not something you can do overnight.
Fortunately we've had this project, internally named Peabody, which has been working to open up transparency around the Java processes. Clearly that can be seen as a first step to moving to open source.
It's going to be interesting...
Bookmark blog post: del.icio.us Digg DZone Furl Reddit
Comments
Comments are listed in date ascending order (oldest first) | Post Comment
-
Welcome to the 'good side', David, and thanks for helping fix things.
I've got a small plea: Could you try to get the 'Read Only' license for the JCK turned into something more useful for independent developers, please?
Compatiblity matters, as we both agree, and making it easy to verify our mutual compatiblity should be one of the first steps of the "how". We've done the first step by putting the 45.000+ Mauve compatiblity tests under the GPL, and making it available to everyone, including Sun, at no charge, and without obligations. It'd be great if you could help spearhead the change at Sun to return the favour to the community.
cheers,
dalibor topic
Posted by: robilad on May 17, 2006 at 12:02 AM
-
Hi Dalibor, It seems I will be in a role of steering the quality end of the Java team into the open source world. We'll see what will come from this ... Please believe me when I say this announcement has come as a complete surprise. Literally, the moment Jonathan and Rich did their chitchat on stage about open sourcing Java, I had this vision of President Kennedy announcing to the country we would send a man to the moon, and the scientists at NASA saying "we're going to do 'what'?". Presidents can do things like that ...
I myself am very much in favor of this, and am tickled to be in a position to help this happen. But the compatibility matters issue has been the biggest reason to not open source the thing, because the typical open source license allows for fragmentation that we don't want to see. So it will be very interesting how these two points get resolved.
- David
Posted by: robogeek on May 17, 2006 at 08:04 AM
-
I think what Dalibor is saying is that letting people run compatibility tests would help compatibility. Seems reasonable.
Posted by: tjpalmer on May 17, 2006 at 08:51 AM
-
No worries, I believe you, David. :)
and of course, what tjpalmer said. I'd like to see our test suites get merged eventually, but getting the JCK "read only" license modified to be able to run both would be a good start.
cheers,
dalibor topic
Posted by: robilad on May 17, 2006 at 10:03 AM
-
How does this effect micro distributions? Can I build a custom Knoppix disk/iso with java and my programs and just give to all my friends? Am I correct in assuming that there were licensing problems preventing me from doing this before?
Posted by: aberrant on May 17, 2006 at 10:03 AM
-
Micro distributions -- What you're describing would fall under the DLJ, and we have someone who wants to do something similar using Gentoo as the base. The prior licensing issue was the BCL only allowed someone to redistribute Java bundled buried inside an application not an operating system. I'm sure there were more poisins in the old license than that, but that's the point I'm remembering right now.
dalibor - of course I can't make any commitment at this point. I agree with what you're saying, and have proposed several times we do some collaboration with the public on test suites. I might have a different reception today than last fall. I believe that if everybody's Java implementation is great, then that's good for the Java community overall. And having some common test suites would go a long way to making everybody's Java implementation be great. But the practical thing is it's going to be an interesting journey to get to that point, if we can manage to get there at all.
Posted by: robogeek on May 17, 2006 at 11:20 AM
-
As a clarification, '...on the latest "testing" versions of Debian...' is not entirely accurate. At the time of this post, the sun-java5 source package had only just been accepted into unstable the previous day, and 10 days are required to propagate to testing. Further, it was accepted for distribution in non-free, and there's a heated debate on the debian-devel mailing list presently (well, all debates on d-d are "heated") as to whether Debian can actually continue distributing it at all under the current license. See http://lists.debian.org/debian-devel/2006/05/msg00752.html for the start of the thread.
Posted by: fungi on May 18, 2006 at 04:26 PM
-
Yeah, open up gradually. it is good way to do it and not mess thinks up.
Posted by: imjames on May 20, 2006 at 03:25 AM
-
Thank you for the clarification. Tom Marble has been more intimately involved with the Debian community than I, and he's the one who knows their terminology. There's not just debate on debian-devel, but also debian-legal. If you look at the debate today, we are engaged with them and we are very interested in working out the issues to everybody's satisfaction. Our intention is in alignment with what they're interested in, so we just have to find wording that gets us there.
Posted by: robogeek on May 20, 2006 at 10:00 AM
|