The Lower Desktop, Upper Desktops
- From: Maxim Udushlivy <maxim udushlivy gmail com>
- To: desktop-devel-list gnome org
- Subject: The Lower Desktop, Upper Desktops
- Date: Fri, 08 Sep 2006 19:19:20 +0400
*The Lower Desktop, Upper Desktops*
(a letter to the Gnome community, in a poor English)
It was about two years while I was more or less in touch with Gnome,
and I must say that no other large free software project delivers so
much confusion to an outsider. And since Gnome has always been my
favourive desktop, I feel obligatory to share with the Gnome community
my thoughts that were inspired by some recent posts on d-d-l.
Many users and developers agree that Free Desktops have some deep
yet obscure problems. Sometimes they call a freedom of desktop choice
with a depressed “pick up your poison” phrase. Although everybody agree
that troubles exist, a quick look at Gnome 3.0 plans reveals that there
is no clear formulation of those troubles, not to say about solutions to
I have no necessary experience neither authority to point Gnome new
directions, instead I want to continue a somewhat radical “rehash” of
certain Free Desktop traditions. This process is already going on with
the help of freedesktop.org, and the noble purpose of this message is an
attempt to fasten it.
The Ideal Vision
The ideal vision is a dream... We live in the ideal world that has
no troubles. We have an invincible free kernel and a number of sublime
desktops that can satisfy every user on the planet. Every such a desktop
represent some ideology: one – configurability, another – simplicity,
third – lighweightness. All desktops are built on top of a pool of
It's better to split desktop user-base into two categories:
developers and ordinary users. Let's call desktop technologies a “Lower
Desktop” and desktops for users – “Upper Desktops”. The Lower Desktop
has everything for developers to create an Upper Desktop of their
choice. The Lower Desktop is a technology, it has no ideology. An Upper
Desktop is an ideology, it has no technology. What parts do the Lower
Desktop and Upper Desktops consist of?
The Lower Desktop: windowing system, configuration database, MIME
database, virtual file-system, IPC, component technology, file formats,
language run-times, etc. Toolkits are also here. A toolkit is a Lower
Desktop abstraction that makes multi-platform (multi-desktop)
development possible. A toolkit provides not only desktop abstractions
(widgets and a browser window) but kernel abstractions also (threading,
fast low-level I/O). Toolkits use the same look-and-feel engine.
An Upper Desktop targets certain user audience by providing
user-visible applications that meat well-defined criterion. The range of
those applications is limited only by Upper Desktop's ideology: from
panels, applets and basic set of utilities to office suites, browsers
and advanced administrative tools. An Upper Desktop is also a
certification authority – an intermediary that guarantees the user that
an application from independent developers satisfies desktop's ideology.
Artifacts of the Past
Due to historical reasons Gnome (as well as KDE) is a mixture of
both Lower and Upper Desktop concepts. I dare to say that such complex
constructs if not reformed will only stagnate and collapse in the long
run. However not all is that bad, some smart people founded
freedesktop.org – something missing from Day One but now acting like an
anchor in unsettled desktop waters (a truthful panegyric).
Freedesktop.org is the Lower Desktop, a foundation for Upper Desktops.
Keeping in mind the ideal vision described in previous passages it is
now possible to deduce problems of Upper Desktops and suggest solutions.
I am not familiar with Gnome internals so I want to leave this task to
the Gnome community (if the community is not distracted by my “mental
experiments”), but some points I want to mention here myself.
As said, I am not familiar with Gnome internals, yet some things are
pretty obvious, even at unconsciousness level. You probably remember
“Mono Debate” - an epic tragicomedy of inclusion a C# runtime into
Gnome. I suppose it is now evident why that culmination of absurd did
not happen: a language run-time position is the lowest in the technology
stack. (I want to add that existence of Mono is very important to free
software, but this is a separate topic.)
And the last: the mixture of technology and ideology slowly
transforms Gnome from a software project into a political union of
several forces (ranging from FOSS powers to individuals) who play this
meritocracy game: make-contribution-gain-leverage. Instead of being a
community of friends pursuing shared goals, Gnome is turning into a Wild
West, a dangerous place where every contributor is being treated as an
aggressor despite of his intentions. This is being done unconsciously
because you have no leadership, beware!
Instead of a happy-end:
- GTK+ and its wrappers belong to Lower Desktop (freedesktop.org)
- GnomeVFS and GConf belong to Lower Desktop but have no future because
I suspect freedesktop.org will not accept them
- The true reasons behind Orbit and Bonobo death are pretty clear
P.S. Also I understand now that gnome-tech.org is a bad idea, as well as
a contribution of Gideon to Gnome.
] [Thread Prev