OpenJCK

Dalibor is always much more eloquent than I am. He made the core observation that explains my (and I know from discussions on irc a lot of other people) double feeling about the “open letter” that Geir send to Sun in a recent thread on the GNU Classpath mailinglist. In principle I am for an open dialog about these issues and being one of the original harmony founders I naturally care about these things, building bridges and compatibility were the main drivers for my involvement. But I am no longer involved with harmony and as Dalibor points out the time line of events is important as well:

We started the negotiation [with Sun for the 1.5 JCK] after the Boston runtime summit [end of 2004], after the release of Java 1.5, and spent some time clarifying the terms I was unfamiliar with. Eventually, the ASF wanted to get in on the game, so, since the ASF had experience with getting and managing TCKs, I switched gears and rather than certifying Kaffe/Classpath worked on turning Harmony into the unifying project for different VMs, making ASF embrace GNU Classpath, and all that idealistic & fun stuff that you’re read me talking about back in the day.

You really should read his whole email which explains a lot of our thinking around issues of compatibility, test suites, certification and working in an open, transparent and distributed environment.

Back when we started Harmony! one of the main reasons was to build a bridge towards the JCP & Sun confirming our compatibility story and to show that we were serious about libre Java. We truly believed Apache could help us with that. It sadly didn’t work out that way even though we worked for months to build up a great community, in the end we had to decide that some companies just had other plans then to work together on this.

And we have moved forward. The “open letter” makes it look like we are back at were we where 2 years ago. But things have changed. We are eagerly looking towards OpenJDK/Java7 being completely available under a Free Software license. That will change the TCK game since with OpenJDK Sun will have to play the same game as all of us, in the open, transparent and following the rules of the Free Software community. There are also a lot of discussions going on around how the JCP and the TCK process should evolve (see for example JSR 306: Towards a new version of the JCP). At Fosdem we had a lot of people from all the different projects, including OpenJDK, GNU Classpath, Kaffe, GCJ, Cacao, JamVM, IKVM, Fedora, Gentoo, Debian, etc. together and discussed these things. The JCK stands for many things, a test suite (and David Herron gave a nice overview of the quality team at Sun and how they deal with testing – read his blog for more), compatibility claims, certification processes, trademarks, branding rights & obligations, etc. Not all of these make sense for a true Free Software project of individuals and organisations working together on a commons.

An extra test suite and a way to claim compatibility based on that are always welcome. But certification processes normally evolve around specific binaries for specific architectures and platforms, something which makes much less sense (and is much more time and labor consuming) for projects that deal with just Free Software source code (not to mention how to pick which specific distro/architecture to do it for, while we have the freedom and choice between so many). And trademarks and branding rights & obligations are again a different issue (which I believe nobody has really fully solved yet with regard to Free Software). I was happy that Onno Kluyt from the JCP and Rich Sands from Sun were there and that we could go over the Mozilla Firefox/Iceweasel issue (sharing a beer to keep the conversation pleasant) and think about how to prevent something like that happening to Java ™. I was happy to learn that they already have some kind of “honor system” setup, but that is dealt with through specific contracts with specific companies, a solution that wouldn’t work in general for the GNU/Linux distributions. We certainly didn’t solve all these issues, and it is clear that all of these will be challenging and hard to solve right. But the conversations were open and honest.

Geir was also present for harmony but opted to not submit a talk proposal nor to discuss any of his plans in the group or privately over a beer with me when I offered to help with getting access to a TCK. But trying to negotiate a special deal for a select private group behind a NDA just doesn’t make sense for a open, distributed, collaborative group effort, especially not if you want to build bridges towards other communities and share efforts. Been there, done that, didn’t like the t-shirt.

I don’t really agree with David, I don’t think Apache Harmony is dead, Free Software never dies (that is the whole nature of Free Software and why we actually care so deeply about libre Java in the first place). And I also don’t think they have to regret that open letter since it will be a learning experience for the people involved and the core idea is good, there should be a more transparent way to have the community involved with the core platform TCKs. And to be honest this kind of games around JavaOne seem kind of tradition (anyone remember my favorite from 1999 – MS Kaffe), so calling it extortion, as some have done, is also a bit over the top.

This will actually be the first JavaOne I attend and I am really looking forward toward both the technical discussions and the community oriented tracks (I will be on the Java Technology Libre Panel). Lets make this the year that we as Free Software community and Java community as a whole finally come together in earnest, have real discussions about these hard topics. And most important of all share the code and move Java and the Free Software community forward. Happy Hacking!

GNOME Mobile & Embedded Initiative

GNOME Mobile And Embedded

GNOME Mobile & Embedded Initiative

  • Ensure that Software Freedom is a reality beyond the desktop, and available in the hands of users around the world.

Technologies Under Consideration

Nice and interesting to see where this is going.

Nice tools

Summer of Code – Integration is our game

GNU Classpath wasn’t directly participating in Summer of Code. But since we are in the integration business between various projects and communities it still resulted in some interesting projects for us that I am excited to see happen.

There is the proposal from Mario Torre for Gnome/GStreamer Desktop sound integration for Java for the GNU project. Which is particular nice seeing that GStreamer didn’t get accepted as a project this year and that GNU Classpath has had pretty nice Gnome integration already (there was also a proposal for better KDE/Qt integration that sadly didn’t make it).

Then there is the proposal from Dalibor Topic for Integrating OpenJDK’s javac bytecode compiler into gcj for the GCC project. Which is hopefully the first step into combining some great GNU and OpenJDK technologies and making the migration path between the projects for our mutual users (the GNU/Linux distros) smoother.

Andrew Hughes will be integrating the java.lang.management JMX Implementation into JikesRVM and Eslam Almorshdy will be Adding JDWP and JVMTI support (exciting seeing that Keith and Kyle made considerable progress on making sure the GNU Classpath JDWP layer talks nicely to Eclipse). JikesRVM has some more interesting student projects this year.

Congrats to all students!

Goodness

Debian GNU/Linux 4.0 released – happily upgrading some boxes now.

Jeremy Allison talks about Working for The Man 

 Proprietary environments are a trap

What will get very interesting in the future is the effect a fully open Java platform will have on the software environment in the next ten years. After initially ignoring Java due to its proprietary restrictions, I now believe Java and it’s associated libraries have the potential to be the next POSIX.

GCJ JBoss Ahoy!

Andrew Haley posted a nice sneak preview:

Fedora GCJ JBoss

Go! Go! Go! Team

Fedora 7 Test 3

Fedora

Fedora 7 Test 3 got released and includes the new gcj with 1.5 support. Really nice to see all this goodness work out of the box now.

Eclipse on Fedora using GCJ 1.5 language support

GNU Classpath/JamVM/Tomcat on the N800

Dalibor pointed out a nice story about GNU Classpath and JamVM being used to run Tomcat on the N800, and it all just works. Very impressive.

Planet Frysk

Phil Muldoon setup Planet Frysk. Cool!

A piece of rebel code…

Simon Phipps and Mark Reinhold made a video: Java Opens Up.Mark Reinhold
Simon Phipps

It was recorded before the Fosdem GNU Classpath/OpenJDK DevJam (check out some of the slides posted there for some more in depth info), so you probably won’t learn much more if you have been in Brussels. But they do a very good job of describing the process of going GPL (“The Gold Standard”), what is already there, when what will be available and the help they are looking for from the community. And it is worth watching so you can hear Simon call GNU Classpath “A piece of rebel code” :) There is an Ogg/Theora version of the video.

P.S. If you want to publish Ogg/Theora videos but only have something in a less open or encumbered format, then check out ffmpeg2theora. Providing video in a fully free open format will get you more viewers, especially if your target audience is the free software community.