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.