UbuntuForDebianDevelopers

Revision 22 as of 2006-01-17 15:33:37

Clear message

This article aims at solving some common mistunderstandings about Ubuntu found amongst Debian developers and users.

Why should I care about Ubuntu ?

  • Ubuntu is [http://www.ubuntulinux.org/ubuntu/relationship Debian-based and advertises this fact].

  • Ubuntu wants to contribute back to Debian (even if it's not done perfectly currently - see below)
  • Ubuntu has a large userbase, is a quality GNU/Linux distribution, enabling new users to come tu GNU/Linux.
  • Ubuntu has a big community of developers and advocates. Debian can benefit from it.
  • Ubuntu brought much to the Free Software world, in areas where Debian hasn't totally succeeded yet (like desktop system for end users, or hardware support)

DFSG Free

non-free

Supported Core

main (150)

restricted (2)

Everything Else

universe (15,000)

multiverse (1,000)

What is Universe ? And MOTU ?

Debian has 3 sections : main, contrib, and non-free. Ubuntu, on the other hand, has four of them : main, restricted, universe and multiverse. While main packages (and their non-free counterparts restricted packages) are maintained and fully supported by the Ubuntu team, Universe is a section of the Ubuntu archive which isn't officially supported. Universe aims at providing as many packages as possible, from different sources (Debian, of course, but also [http://www.apt-get.org/ apt-get.org], [http://revu.tauware.de/ REVU] and other sources).

The MOTUs (Master of the Universe) are a bunch of volunteers taking care of Universe : they sync (import without modification) and merge (import and modify) packages in Ubuntu, deal with bugs, etc.

Read [http://ubuntulinux.org/ubuntu/components ubuntu/components] for more info about Ubuntu's components, and ["MOTU"] for more info about MOTUs.

What kind of divergence is introduced inside Ubuntu ? Why does Ubuntu need to change my packages ? Are those changes important ?

Ubuntu sometimes needs to modify Universe packages so that they will build and work on an Ubuntu system. This is usually due to a library transition that Ubuntu has undergone first, change of the default Python version (Ubuntu uses Python 2.4 by default), dependancies changed because of a different X.org packaging, etc. In other cases, it is because an Ubuntu user has found a bug (in either the program or the packaging) before someone filed one in the Debian BTS. 99% of the changes to packages in Universe are small and unobtrusive, but there are of course exceptions.

Packages in the main section of Ubuntu, are often more heavily modified to suit Ubuntu's needs. Backporting Ubuntu changes to Debian is therefore a difficult process for them.

How does Ubuntu give back to Debian ?

Probably not well enough, and we are aware of that. For many packages in main, we have good working relationships with the Debian maintainers and are ourselves involved in the Debian development. Also, Canonical employs 20 DDs (more than any other organisation) to help changes go directly back to Debian. There are also more and more volunteers active in both Debian and Ubuntu development.

For universe and some main packages, it's a quite different story. Apart from [http://people.ubuntu.com/~scott/patches/ publishing patches on an ongoing basis] (patches which might not be very usable from the DD point of view), Ubuntu doesn't provide much valuable feedback. There are several reasons for this :

  • Lack of manpower : There are 8400 source packages in universe, and only [https://launchpad.net/people/motu about official 35 MOTUs] (some of them inactive) and a few outsiders.

  • Lack of tools : We currently lack most of the tools to take care of the packages in a global way.

  • Lack of consensus about the way Debian want our patches

  • Lack of response from some Debian maintainers : when Ubuntu changes are integrated by Debian, it makes the life of MOTUs much easier. However, some bugs have been opened months ago in the BTS, but are ignored from the Debian maintainer.

There are plans to change that by improving processes and writing tools, but this takes time.

Short crash course in Ubuntu development


For more information about Debian collaboration in Ubuntu, see DebianCollaboration.