GNOME dependencies

Jani Monoses jani.monoses at gmail.com
Thu Aug 9 00:41:53 BST 2007


Because it came up in the other thread, and also because I have been thinking about it lately:


I started out with the 'no gnome dependencies' policy in addition to the no 'mono/java/kde' one
because most apps were covered by GTK only alternatives and we had to have some kind of
criteria.

It is no doubt that having additional dependencies affect performance so while not very quantifiable
it made sense to avoid those apps.

The disadvantages of having gnome deps (or any extra deps for that matter) are:
- size of packages on the CD (I have not looked at this lately, IIRC it was something along 20M or more,
I may be wrong though)
- installed size on disk (only a minor issue)
- startup time - GNOME deps mean an additional 25 or so shared objects linked to the app, all of whic are
processed at startup. The difference is noticable, especially slower CPUs.
- memory footprint - the same shared objects, even if possibly shared with other apps consume extra RAM,
IIRC between 500K and 2M per process using them.

In case of long running processes these affect the memory used by the desktop permanently. In case of explicitely
started apps the main drawback is the startup speed.

I have been thinking lately about using even more GNOME apps in Xubuntu. Until now in the past cycles we
picked evince, gnome-system-tools, gcalctool and some of the python tools specific to Ubuntu (update manager,
restricted manager). All of these have been previously - and in collaboration with upstream - been made 
buildable with GTK only dependencies. There are some other in the queue for Gutsy if upstream GNOME accepts
some patches.

There are two problems with having separate GTK apps (not GNOME ones built without GNOME libs)
 - duplication of effort. We would be better off if some apps were comaintained with Ubuntu.
 - the GTK apps are usually less featureful and less actively maintained (ex: xfburn, xarchiver)

So we would gain by starting to use some GNOME apps while keeping Xfce core obviously. But we'd give up
some space on the CD (maybe not that bad) some memory and startup times. These will not help in making 
Xubuntu lighter. That characterization has only been true when compared to GNOME or KDE though, with
python running in the base system (hplip daemon for HP printers ), firefox in the mix and the liveCD no longer
installing iwth 128M it is not really a light distro anymore.


So we have a choice of keeping it like now, only small GTK only apps and let the user add whatever else she needs
or start making a more complete and maintainable default at the cost of making it too heavy for some hw configurations.

And by this I do not mean CD size or startup time or even short term memory use, those will probably not make much of a difference
but long running processes. Do we want gnome-power-manager and network-manager? IS Xubuntu widely used on laptops and wifi setups?
Do we want update-notifier (I am sure we do). All these are continually running and each eats up somewhere around 3-4 megs of RAM.

The printing applet which is the default since feisty is also always running and is a python app, 4-5 megs probably.




More information about the xubuntu-devel mailing list