Time to stop kidding ourselves about Java?
Warning: rant mode

Reading some discussion on the latest move by Apache about the proposal for yet another open source jvm implementation I got a rude awakening to the fact that the idea that Java offers a credible option for GNOME is a joke. When it comes down to it the only reason Java has been put onto the table have been due to worries about Microsoft holding submarine patents on Mono. Java’s mindshare in the wider GNOME community is close to non-existant today and there aren’t really anything on the horizon that could plausibly alter that.

While Red Hat’s work on gcj and Eclipse is interesting its a far step from being something anyone is excited about. I mean considering that both Red Hat and Sun are failing to make even their own desktop developers excited about Java says a lot. There is a big difference between something fitting corporate vision and policy and something actually being attractive to developers.

The real question facing the GNOME community is not a choice between Java or Mono. If that is the choice then Mono have already won. The question is wether we should allow Mono into the platform or not. Personaly I have come to the conclusion that we should, and I have yet to see a convincing argument why we shouldn’t apart from some rather foggy arguments about Microsoft threats. The showdown between Microsoft and free software in the field of patents is coming no matter what; when that day comes we need to have the financial, legal and political clout to carry the day. I don’t see that Mono is a more likely candidate for being at the heart of that battle than a lot of other things.

GStreamer 0.9
Seems we have managed to kick of 0.9 GStreamer hacking now. Getting the build system cleaned up and Wim and I sending out mails with some information in addition to a little IRC pimping and kicked of some good effort. Ronald is working on porting playbin now, Zaheer is working on lame and the libshout2 plugins, Zeshan ported the libcaca color asci art plugin, Wingo implemented the new query system and gcc4 cleaned the modules, Tim cleaned up some of the core docs, David Schleef cleaned up the videotestsrc plugin and updated plugins-base to use latest version of liboil. Arwed have started looking into oss and nas plugins porting. And Stefan is continuing hos work on getting dparams improved for 0.10.x
All in all good stuff happening now, if we manage to keep up progress for the coming weeks I think 0.9.0 will be a very good preview.

More GStreamer 0.9 fixing and porting work done today. Now the three 0.9 modules (gstreamer head, gst-plugins head, gst-plugins-base) all build, install only stuff that is supposed to work and lets you build rpms. All steps also do not interfere with your 0.8 using stuff so anyone can try this out now without touching the 0.8 using parts of their desktop.

Ronald and Zaheer have joined in the 0.9 hacking fun already and hopefully even more will soon. Still lots of plugins to be ported before 0.9 is suitable as a replacement for most of our applications, but I am getting very postitive we can have some nice demo’s ready for GUADEC.

Also I recommend everyone read the blog entry from David Neary about GUADEC registration fees etc. Should clear up some misunderstandings which have popped up over the last weeks.

GStreamer 0.9 – Spent quite some time today making sure the 0.9 branch of GStreamer and gstreamer-plugins-base dists and builds correctly. Currently have 0.9 installed on my machine now as RPMS (in parallel with the 0.8 packages). Hope this cleanup will encourage other people to check out and build the 0.9 branch too as getting the basics up and running is much simpler now.

Germany sucks

Ok, so Andy, Wim, Thomas and myself pooled our resources to pay for Zeeshan flying in from Pakistan so he could attend GUADEC in Stuttgart. Zeeshan have never been outside Pakistan so we thought it would be a cool experience for him and a thank you from us for his contributions to GStreamer over the last few years. So far so good. So I ask him to check locally if there will be no visa problems, which he do and report back that he checked locally and it should be no problem. So we buy an airplane ticket for him and send a letter saying we will take care of his expenses while at GUADEC. Tim Ney sends a letter on behalf of GNOME Foundation saying he is asked to come on special invitation of GNOME. The local Stuttgart government which is co-hosting GUADEC also sends a letter stating that he is an invited guest to GUADEC.

Then the run-around treatment starts. As Zeeshan lives in Karachi he is in touch with the German consulate in Karachi.
After calling them and being told he can come in to file his application he arrives there only to be told that he have to come back some other time as you only get in if you come early in the morning and get a ticket for the day in question.

So he comes back a few days later early in the morning and is let in. Then they tell him that they can’t accept his papers as they need to have those letters faxed to them directly. It turns out their fax machine doesn’t work most of the time, so in the end I fedex the letter to them. The Stuttgart representive have more luck than me and faxes it down, and also calls them on the phone.

After this he once again goes to the consulate, this time he is told that they can’t accept his application as he is not a native of Karachi, so he have to go to the embassy in Islambad instead to file his application.

Going to Islambad costs Zeeshan quite some money considering his local salary, but he takes a day of work and goes there on a Sunday so he can go to the embassy when it opens on Monday. Everyone involved also re-fax our letters to the German embassy for this. So on Monday after having called ahead and booked a timeslot he goes to the embassy. There they tell him that he can’t apply for the visitors visa, instead he needs to register for a business visa. The documentation needs for that is different from the visitors visa so his current documentation doesn’t allow him to apply.

So now he is back in Karachi, with limited resources in terms of being able to travel back to Islamabad again. Due to limit time they didn’t have time to explain what he needed, only to give an URL to a website with information.
This website turns out to be inaccessibile from outside Pakistan.

All hope is not out, but now we need to figure out how to sort out the new needed paperwork, how I can transfer him some money to help with a new trip to Islambad and hopefully manage to get that all done before GUADEC happens at the end of the month.

Considering we started on this process in March I am quite frustrated atm. Feels like we are chasing moving target with the consulate and now embassy coming up with new demands for every step of the way.

Just for the Fun of it

As far as being fun I think GNOME have managed to keep things fun better than most. If you look at the list of people involved in GNOME that have been here since the early days I see few other projects who can compare.

Things change however and from being part of an marginal effort set up to take on the establishment we are becoming
a central piece of the establishment. We have today a large host of companies and private persons depending on GNOME to make a living and get their job done. This do have some cultural implications on how development is done. New ‘cool’ stuff tends to not get top priority in competition with polish.

I guess GNOME in the 0.x and 1.x days where a lot more fun for me than GNOME is today. On the other side GNOME 2.x is a much better work tool than GNOME 1.x ever was. Every new release add’s more consistency, better speed and new essential functionality to core applications. GNOME is not a toy anymore, which of course makes it less fun, but much more useful.

For example I had a lot of fun with Sawfish themes that could make my window borders look like a cow or have one theme per window. Metacity is much more boring, but it gets the job done in a more stable and effective way. A dialog to kill your application when the close button doesn’t work is a much better approach than a ‘kill’ choice in the menu IMHO.

Have fun in the where fun can be had

That said I still enjoy GNOME. My suggestion to people feeling a little worn out is that maybe you shouldn’t be hacking on ‘the core’. People writing music players with GStreamer have fun, the Inkscape people have fun, the Abiword and Gnumeric developers are enjoying themselves.
Maybe taking a step back and getting involved with one of the many sub/side projects is the way to bring the fun back.
Working in a smaller target project lets you cut away a lot of the politics and considerations that working at the heart of the system brings. I mean if you are hacking on Inkscape you don’t have to worry about if your change is ABI stable with what was done 5 years ago or wether change xy makes the GNOME panel crash for people running GNOME on their Irix systems.

What to do going forward

That said I can understand that the Java vs Mono debate which ebbed out into nothing have made many developers feel that the future is a bit foggy atm. The problem is that the debate set up the idea that we had to adopt something in order to go forward, while it provided no final decree on what that something is supposed to be. So we know have a situation where ‘everyone’ feels that we have to do something, while no-one knows how the decision to do ‘something’ should happen.

I think it is somewhat of a false premise. No matter what decision eventually might be made for most situations it will matter little. The choice of Java vs Mono will have no or little implication for the development of GStreamer, GTK+, glib, ATK, libxml, gnome-panel, HAL and many of the other core parts of GNOME. Its not like Daniel will one morning wake up and think ‘well since GNOME have now decided on going with Mono I will have to rewrite libxml in C#’

So while the decision is not as important or critical as
one would think, I still think it needs to made in some fashion. Or rather I think its being made for us, lets not fool ourselves into thinking we have full control on whats happening. People are working on applications in Mono, Java, Python, Ruby and more and through that making the decision for us. There are currently really nice tools being developed with both Java and C# for instance and I think that when it comes down to it they will both be allowed into the desktop. And as soon as applications which are official part of the desktop are using a certain technology, then I think new library developers etc., will follow.

I think Beagle for instance will end up opening the door for Mono and C# in GNOME and I think Red Hat’s Java based admin tool will open the door for Java as two examples.

If people don’t think that is enough I will not oppose a GNOME board vote to resolve it. I think however that it is more in the tradition of free software that the community makes it choices based on their efforts than for it to be chosen by an entity like the board. For everyone hour you put into working on a GNOME application in Mono, Python, C++, C, Ruby, Java and so on you are making the decision.