Herostratus’ legacy

words from a lazy coder


Thanks to my employer, Igalia, this GUADEC was my third attendance to the conference in a row. You can see my previous impressions about the first one in Istanbul and the next in Canarias. This year the conference took place in Den Haag, Netherlands.About the GUADEC, I must state this: in my perception, Gnome is going through a crisis. A middle age crisis if you want. In 2008 Gnome was on a peak, attracting the attention of everyone, especially from the mobile industry. Everybody seemed to be a happy Gnome hacker. But then came 2009 and Nokia said farewell to GTK placing all its chips on Qt. The community seemed disenchanted and disappointed. In the air was floating a sense of disbandment.

And now that the project had lost much of the media’s attention, the community is questioning to herself where to go, which is… great! It means that the community has retaken the direction of the project, and the responsibility of its success, away from the huge corporations and the PR propaganda.

And that was the spirit of this GUADEC: hard work, serious proposals, and freedom. Yes, that sense of new freedom which can also be perceived and exposed as fear, uncertainty and doubts ;) And those feelings were more remarked because of the absence of several of the old and renown hackers of the Gnome scene, such as Miguel, Federico or Behdad.

The main trend shown almost in each talk was the importance of the World Wide Web integrated to the Gnome user experience. That was what Luis Villa talked on his keynote, and was repeated in many other presentations. Xan López and Gustavo Noronha echoed this idea making emphasis on the usage of WebKitGTK+ to achieve it. WebKitGTK+ is a reusable library, with a stable API, in difference with Mozilla, for example, which only focus on Firefox.

On the other hand, and complementary to the idea of a Web Desktop, the use of Javascript was stressed by John Palmieri: Coding for the Desktop must be just as coding for the Web. And the Gnome Shell project is the flag ship of this concept, and it continues steadily as the window manager for Gnome 3.0

Here we can observe a shift of perspective since Istanbul: in those days people were trying to bring the Web information into the Desktop (do you remember the Online Desktop?); nowadays the objective is to turn the Desktop development into the same mind frame as Web development, thus the information integration would be more seamless.

An essential ingredient for this coupling is the introspection. And good achievements were seen along this past year. Must of the Gnome core libraries are making an effort to annotate their APIs, and Python, Vala and the GJS implementation are merging their introspection work.

But what everybody is asking “What’s going on with GTK+?”. Its development seems to be at a very slow pace, with no real innovation to show. In 2008 Mark Shuttleworth suggested to integrate Qt into Gnome, replacing GTK+, and this year another voice repeated the same suggestion at the General Meeting.

In a more technical issue, Benjamin Otte exploded against the so called “Walled Gardens”. Benjamin have been trying to bring video rendering in GStreamer with Cairo, but that effort means modify many different projects, bottom-up almost along all the stack. As a result, he has found many features overlapped among the different projects and also hit against the resistance from the coders of the different projects to collaborate each other, phenomenon that he called the “Walled Gardens”.

And maybe, just maybe, this is what is happening with GTK+, is a fortified garden, where selfless programmers are patiently sealing the castle for a future exposition in the wild. I don’t know, maybe GTK+ should break its X Windows ties. I don’t know. But GTK+ is not gaining any momentum for now among the user interface programmers.

Another voices raised the question about “What is Gnome from the developer perspective?”. Andrew Savory regretted the lack of a SDK for Gnome; meanwhile Alberto Ruiz praised its absence and pushed in favor of better developer documentation and tutorials. I think that Gnome, as a developing framework, is a loose set of (almost) homogeneous libraries, utilities and guide lines, where the idea of an IDE/SDK implies a centralization of all the projects which is practically impossible. And, because of this, more and more projects are integrated into the FreeDesktop community.

Also Dave Neary and German Poo showed their results from their own analysis in the Gnome repositories. Dave tried to answer the question “Who makes GNOME?”, so he extracted gross numbers from all the current data to get the actual great iron committer; meanwhile German tried to be more lean and took in count historical aspects as the different milestones of the project, sadly German only got a lighting talk to show all his results.

Finally, other projects are still floating around, the most important is Clutter, now integrating accessibility thanks to Alejandro Piñeiro. Zeitgeist seems to me a more and more marginal project in Gnome. Telepathy, which is the de facto IM communication library for Gnome applications, and many others.

In conclusion, my over all impression of the GUADEC 2010, is that the Gnome project is in a deep insight of what is it and where is it going. I reckon that during this period of introspection (wink) we will see few innovation, but rather the new foundations of the project are putting down the required roots for the future innovation.