The gnome-libs HEAD

gnome-libs HEAD has been hacked in about four waves by different people at different times after the GNOME 1.0 release.

The work in gnome-libs HEAD so far has included the following tasks:

  • Imlib Cleanup: Initially the work from the RHAT team focused in removing the Imlib dependency and using GdkPixbuf instead.

  • New functionality: New widgets, new functions that were not previously present in gnome-libs.

  • Improved existing functionality: Various existing pieces of code have been improved. Zvt, Dentries, Argument handling, help system, library initialization.

  • Gtk 2.0 support: Recently, work to get gnome-libs to compile and used Gtk+ 1.3 has been done.

  • GConf usage: We now use GConf.

There are various problems with gnome-libs HEAD:

  • No peer review of the code: Changes have been made during more than a year with little or no discussion, with little or no maintainer review of the code, and optimizations have been applied that make it very hard to track down the actual changes.

  • Featuritis: Part of the discussion for gnome-libs is centered about doing the right thing for gnome-libs and reducing the code that we actually maintain to only include high quality code. We have tried to deprecate some of the bad or crufty APIs, just to see more of those emerge in HEAD.

  • A code base that has not been tested: Few people have tested gnome-libs HEAD and various pieces qof its new code base. A full code review would be needed.

  • Missing of bug fixes and features from gnome-libs 1.2: Not too many, but we would still need to do a full audit.

Based on our suggestion for creating two new modules (gnome-libs-2 and gnome-libs-2ui), we have a chance to start from the gnome-libs-1.4 code base and audit, verify and back port every improvement that was made in HEAD and put it in the new libraries.

Given the integration work of Bonobo into the core of the system, we can now use Bonobo directly, instead of reinventing pieces in gnome-libs.

Backporting code from gnome-libs HEAD into the split modules

We have identified the following portions that need to be backported:
  • Zvt: The maintainer of Zvt (Michael Zucchi) has kept this in a good working condition and new features have been added to this branch.

  • Widgetry: The following components have been mostly improved in HEAD and would go without much review into the new code base.

  • Features: We want to backport Imlib to GdkPixbuf migration.