In association with heise online

Code clean-up

ho: Seeing that GNOME 2.0 was released back in 2002 the project must have accumulated a lot of cruft along the way. The next major release should be a great opportunity to do away with ancient APIs and libraries. Do you have a plan in place for that?

VU: Yes, definitely: GNOME 3.0 is a good opportunity to streamline our platform and make it more consistent. It's been an effort that is going on since quite some time already: by moving some API to where it should belong (from libGNOMEui to GTK+), or by fixing important pieces of our stack (the GNOME-vfs rewrite that lead to gio and gvfs).

We will move the deprecated libraries out of the GNOME platform, and if they're not needed by GNOME anymore, we will simply stop releasing them as part of GNOME. They might still be worked on by people who need them, though, as with all free software projects: not being part of GNOME doesn't mean the end :-)

As for libraries which will stay in the platform: we will likely remove the deprecated API for GNOME 3.0, unless they're still in heavy usage.

To do all this, we've integrated a "getting rid of cruft" planning with progressive steps in our release schedule, with goals at each step. GNOME 2.28 already benefits of this work since nearly nothing in the GNOME desktop uses libGNOME, libGNOMEui, GNOME-vfs anymore. If you remove the panels and applets, bonobo is also nearly gone.

Of course, there are a huge number of GNOME applications outside of the GNOME desktop itself. Most of them will still just work fine: the libraries that we will have removed from our platform will still be available, and the libraries with removed APIs will be parallel-installable with previous versions that those applications use.

That being said, we encourage people to make sure their applications use the current platform with no deprecated APIs – we've done this work inside GNOME and it has always helped us improve our applications (less code, less bugs, easier to add new features, etc.). It really pays off in the end.

ho: Then there are also new APIs and technologies and even GTK+ 3.0 looming on the (distant) horizon. How are you going to deal with all that new stuff?

VU: Actually, a good part of the GNOME 3.0 planning was to decide what to do with our platform. As said above, the removal of old APIs is not a surprise and we're getting ready for this, but we've also prepared ourselves to the integration of new technologies (Clutter and gobject-introspection immediately come to my mind). All those changes have been going on for a few releases already, and our community has a good vision of the new technologies we'll use.

The hard part is therefore to make sure we finish porting applications away from what will not be in the GNOME 3.0 platform (we're closely tracking this) and to start making use of the new technologies. This last point is actually not that hard since people are excited about the cool new stuff :-)

Next: Future foundations

Print Version | Permalink: http://h-online.com/-780071
  • Twitter
  • Facebook
  • submit to slashdot
  • StumbleUpon
  • submit to reddit
 


  • July's Community Calendar





The H Open

The H Security

The H Developer

The H Internet Toolkit