The Job of the Linux Distribution

by Ostatic Staff - Jul. 09, 2010

If you are using a Linux operating system as you read this, lean back and take a look at the desktop. Chances are you've got a few things running: a browser, an instant messaging client, and maybe even a twitter client. You might be listening to music in any number of apps, and chances are you are running all of them in either the Gnome or KDE desktop environment, with Compiz providing a layer of 3D window management on top of it. Supporting the window manager is X, the graphics engine that has been powering graphics on Unix systems for the past thirty years. If you dig further down, you'll find a shell running, and under that, way down deep, you'll find the kernel. This kernel is Linux, and it gives access to the hardware to all of the software built on top of it.

To take an operating system like Red Hat Enterprise Linux (RHEL) or Ubuntu and say that it's "Linux", is only half the truth. Linux now refers to the kernel and the class of operating systems that share the Linux kernel and many of the same applications. A Linux operating system, or distribution, is piece-mealed together, taking parts from the different groups that create them. Linux distributions like Ubuntu do not actually develop most of the applications that they ship with, what the distributions do is curate open source software. What the Linux developer ecosystem has created is a type of gentleman's agreement to work loosely together, producing software that also works loosely within the operating system.

Gnome is an excellent example. The Gnome project creates the desktop environment used in Ubuntu, Red Hat, and many other operating systems. Each distribution tweaks Gnome a bit by adding or removing applications, but most of it is the same between the different systems. For all practical purposes, to the non-techie, non-geek, Gnome is the operating system, because it's what they see and interact with. In Ubuntu, the default Gnome browser, Epiphany is removed and replaced with Firefox. The Gnome office suite is not used, favoring the more popular suite instead. Each distribution picks what it feels are the best parts available from the open source community.

The job of the distributions is to ensure that the software available in their repositories works together without conflict. Since each piece of a complete Linux operating system is developed independently, they are all on different development road maps with different milestones along the way. The latest version of RHEL may not have the same version of MySQL available in its repositories that Ubuntu has in theirs. This is to provide a complete system without running into dependency hell.

I find it somewhat amazing that the Linux desktop works as well together as it does. Development of standards and popularization of distributions will continue to push the desktop to a more cohesive, integrated feel.