Desktop Collaboration

From: Sean E. Fao (sean_at_neptune.kpl.com)
Date: 08/26/04


Date: Thu, 26 Aug 2004 10:36:45 -0500

This morning, I was considering the idea of collaborating all projects
related to desktop development into a single project, somewhat like the
Linux kernel. Now before everybody gets all bent out of shape thinking that
I'm considering that all groups merge into a single entity, allow me to
explain myself.

As I'm sure many of you already know, the Linux kernel is developed by
many individuals from around the world and many projects go into making
the kernel what it is today. For instance, there are projects that deal
with file systems, memory management, device drivers, etc. Many
projects, such as file systems, are very much designed to accomplish the
same [basic] task as an alternative project. When configuring a kernel,
individuals have the ability to select the portions they need/desire
to work with their particular needs. Nobody is forcing me to use ext3
when I'd rather be using reiserfs, for instance.

I know far less about the development of the desktop projects, than
I do with kernel development. However, like the kernel, I see many
projects that are very much related to each other and that maybe could be
included in the source tree of an X Windows system, such as x.org or
freedesktop.org. Perhaps the ability to build ones own desktop would be
appealing to some. For instance, the ability to select to include KDE
and Gnome (as well as select all sub-components of those projects,
separately) by selecting those options in a configuration utility, would
build modules for those two packages that included all the necessary
binaries, libraries, etc. to make those packages run, in addition to the
possible "goodies" end users selected in the configuration.

Desktop system developers, such as developers for KDE and Gnome, would
submit their work to be included in the release of the "mother package".
This package would be hosted on a site somewhat similar to the Linux
kernel and developers of distributions and/or hobbyist could download and
build the package for use on their systems.

One issue I see possibly stemming as a result of this type of system is
that releases for individual projects may slow, as it takes time to
merge work-in-progress into the source tree. I can also see an issue
between the people that dictate what goes in/out of the "mother package"
and the developers that work on the individual projects because of a
lack of agreement. Another argument one might ask is, "Why collaborate
in the first place? We already have the ability to download each
individual package separately and compile it on our own. What would we
gain from having everything in a single repository?" For that, I really
have no definite answer. All I have to offer is my belief that it could
be easier for end users to customize their desktops if they had all the
source located in a single tree. I also believe it has the potential to
bring developers of the sub-projects closer together, as they would be
working closer together.

It's quite probable that this idea has already been discussed (in which
case, it was probably decided that the idea was bad since I certainly
know of no collaborative projects to bring all desktop related projects
into a single repository), or that it hasn't been discussed and my idea
still sucks ;-). At any rate, I made sure to wear my flame-proof
clothing this morning and I'm prepared to hear some objective points of
view on the subject.

What do you think?

-- 
Sean


Relevant Pages

  • [PATCH, RFC] A development process document
    ... This is an extended document intended to help interested developers, ... and their employers work with the kernel development process. ...
    (Linux-Kernel)
  • [PATCH] A development process document, V2
    ... Add a document describing the kernel development process. ... +With the growth of Linux has come an increase in the number of developers ...
    (Linux-Kernel)
  • Re: [PATCH, RFC] A development process document
    ... developers and their employers; it's supposed to be a gentle introduction to ... the kernel development process. ... +urgently in need of coding style fixes. ... +abstraction layers in the name of flexibility and information hiding. ...
    (Linux-Kernel)
  • Re: [PATCH, RFC] A development process document
    ... to the kernel development process. ... I suspect the "2000 active developers" is a bit hypey. ... THE IMPORTANCE OF GETTING CODE INTO THE MAINLINE ... +- Kernel code is subjected to review, both before and after merging into ...
    (Linux-Kernel)
  • Re: [PATCH] A development process document, V2 (diff from V1)
    ... [PATCH] Various improvements in response to reviewer comments. ... discussion which does not require a deep knowledge of kernel programming to ... involve over 1000 developers working for more than 100 different companies ... Working with reviewers can be, ...
    (Linux-Kernel)