Sunday Morning

Sunday morning I gave a talk on Fedora and Java, in the Fedora room. I met Chitlesh Goorah there, he was organizing the Fedora stuff at FOSDEM and did a great job. Also Paul Nasrat was there (and I saw him again later in Cambridge). My talk was sparsely attended, but as Andrew pointed out, 9am on a Sunday is not exactly a great time slot. I once again had a problem with the projector; sometimes my laptop works and sometimes it doesn’t. I know there is some obscure fix, but I never remember what; this problem is driving me toward a more minimal style, and this time I only had three slides.

Mark Reinhold started things off in the Classpath room. Mark is the chief engineer of the Java 2 platform — Sun sent a bunch of heavy hitters to this conference. Mark’s slides are available, so I won’t go too deeply into that. I liked how open Mark was about their processes and about wanting feedback. He mentioned the “spring” deadline as well, and walked us through which binary blobs will be required in the initial releases. (I noticed a couple nice things about Sun’s presentations overall: they all had little Creative Commons stickers on the title page — cute touch — and they used remote controls to change slides.)

He said Sun has about 200 engineers working on Java (geez) and another 200 on quality for the JDK. Sun has a very detailed, complicated, well-thought-out process flow for making changes to Java. They have various internal web tools for patch review and other things, and much of this seems to interact with their internal VC system. They’ve been doing distributed VC internally for 10 years, which is one reason they are picking Mercurial for their public version control. Why Mercurial and not one of the others? They did an evaluation, as did OpenSolaris. The OpenSolaris results are available on the web. I thought this long history of distributed VC use was interesting, since in much of the free software world this technology is still pretty new.

Next up was Igor Nekrestyanov, who works on the Java 2D team. He went over the various bits that will need to be replaced (I mentioned them and their potential replacements in an earlier entry).

I’ve been hoping all along that we could donate code from Classpath to help out here, but I don’t think the FSF can do this directly. So, we’d have to get permission from all the authors… and that is a pain. It looks like reimplementation is the only way to go 🙁

Peter Kessler talked about the VM and the GC. He’s worked on Java since before it was called Java; he added exceptions to the language. I didn’t seem to take many notes during his presentation, sorry Peter.

Then came Peter von der Ahé, who works on javac. Again I didn’t take many notes, but I do remember that he talked about having compiler APIs available in the future. He also mentioned access to the AST for Netbeans (good… this is one of the areas where Eclipse, IMNSHO, really has an edge). At the bar later he mentioned the “kitchen sink project”, the idea being to have a repository where people can try out their wacky language ideas by hacking the compiler.

Finally came David Herron, the Quality lead. The one thing I noted particularly is that they do “large application testing” at various points, this involves big applications, multiple machines, and a week’s worth of elapsed time. Sun’s efforts in this area make our efforts on gcj seem very small indeed…

4 Comments

  • > I’ve been hoping all along that we could donate code from Classpath to help out [Java2d]

    Can you spell out why that is? Is the Classpath license incompatible with GPLv2? Is it even more than just `mere aggregation’ to put the Sun and Classpath code together?

  • Frank: I was also a little surprised by that sentence. GNU Classpath and OpenJDK use the same license (GPL+exception) so of course we can help the OpenJDK project and the community by combining the two. The only problem is that Sun requires an assignment of copyright that allows them to turn the combination into a proprietary work for their ClosedJDK (and without any guarantee that the result will even ever see a free release – I am working with Sun on getting this changed though). But for any free OpenJDK derivative this isn’t a problem since the licenses are the same and people can happily combine them (this is even the intention behind the license choice: http://www.sun.com/software/opensource/java/faq.jsp#g7).There might be technical reasons though that make a combination harder since as you say it isn’t just a mere aggregation, but requires a tight integration of the different graphics pipelines. Some more info can be found at http://article.gmane.org/gmane.comp.java.openjdk.general/156

  • BTW. All the presentations (including the people you mention – Mark Reinhold, Igor Nekrestyanov, Peter Kessler, Peter von der Ahe and David Herron) are linked from http://wiki.debian.org/Java/DevJam/2007/Fosdem

  • Yeah, the issue is that donating code to Sun would probaby violate the FSF’s charter. Or perhaps just their principles.

    Mark is right to be surprised. I’m being over-eager here.

    As far as Fedora or RHEL or whatever goes, yes, I think we could mix and match code without any problems at all. And I’d imagine we will do so, at least for some components. For instance our AWT peers could easily live on as a separate project.

Join the Discussion

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

This site uses Akismet to reduce spam. Learn how your comment data is processed.