UbuntuForDebianDevelopers

Revision 25 as of 2006-01-17 19:47:05

Clear message

This article was written by some people with feet in both the Debian and Ubuntu camps who want to share how they try to marry their work in the two organisations; to highlight some of the concerns they have had and discuss some of the queries that other Debian and/or Ubuntu developers also have.

Ubuntu and Debian have an interesting and interwinned relationship. In the middle of the 1990's some bloke called Mark Shuttleworth was running his company on Debian, Apache and Free software and decided the best way ensure Apache was always available was to put it into Debian. The idea that the best place to keep software is in Debian and that the best way to get it there is by becoming a Debian Developer is there firmly in alot of people's minds.

One of the things that can be a pain with Ubuntu, is that there is another version out every 26 weeks. There is a constant adrenaline rush, you can quite easily spend 6-10weeks of your year camped up in a hotel somewhere with no access to natural light during high-energy sprints and conferences where you don't even get to breathe between finishing sentances.

Debian prefers to take things at more relaxed speed, people only have to drop everything and knuckle down for release freeze every 2-3years, plus you only need to think about Debconf once a year and lots of Debian developers just catch it when it comes to their own continent.

What are the best features for one person can also be the worst for a different person. Two versions of Ubuntu coming out before Kathy's next birthday is like getting double-presents at Christmas. Whereas her mother Angela gets annoyed at not having the dependancies for Frobber v0.17 on her Debian cluster at work.

Why should Kathy care about Debian ?

  • debian/rules

  • Debian is the best archive of software on the planet, all in one place, checked and known to be buildable.
  • Debian knows that unstable means what it says on the tin and that stable should mean something different.
  • Debian gives builds .debs so you don't have to spend 3 days compiling to get a bash prompt.

  • Debian is distributed, if a bloke called Eric starts snipping people you know that Debian will carry on.
  • Debian has a security team who've been doing their job for years.
  • Debian runs on that cool Nokia ARM toy, my aunty's microwave with an m68k processor and the freebie Sparc box you got.

  • Debian-legal is More Free(tm) than Richard Stallman and the GFDL.
  • Debian has a cuddly FTP master.

Why should Angela care about Ubuntu

  • Ubuntu/debian/rules
  • Ubuntu asked for a WEP key, popped up your USB pendrive and hibernated when you pressed Fn-F12.
  • Ubuntu has the team that has been doing Debian security for years.
  • Ubuntu Foundation gets to ask Canonical to ask Mark if he can bring the jet.
  • ...
  • Ubuntu has a cuddly FTP master.

The reason that Ubuntu managed to do 0-60 in 6months is that Ubuntu hired a pre-existing team, a bit like walking into Microsoft and asking to hire their top 20 OS developers. The difference with Debian is that everyone has a normal worktime day-job and is then dedicated enough to be running Debian in their own free time. When you want to hire the best clue you can find and get the people who know out how to build an Operating System in a distributed way, and done it for for 10 years... you call in the D-team and hire them.

At the moment there's less Ubuntu developers than Debian ones, and at least half those have a Debian background, in fact, there always will be. It is not possible to match the scale of Debian. Debian is like the 500lb (that's "heavy" to Europeans) IBM watching HP, Novell, SCO, , Dell, Sun and Microsoft push chess pieces around without being worried. What Ubuntu does do is televise the Chess-match, supply commantry for that makes the game understandable for muggles and brings in ad-revenue from people who would have channel-hopped.

If you missed it live, the sponsor called Canonical will also mail out a copy (free of charge) to make sure you get a chance to watch the adverts. Those advertising breaks are precious, they get the words "Free Software", "Patents Bad", "Firefox", "Debian", "Openoffice", "Freedom" into user's minds.

If the user doesn't like it, they can always install Openoffice and Firefox on their pre-existing operating system. Maybe we'll get them using a Free OS next time Wink ;-)

How the cogs go round ======================

  • Ubuntu doesn't touch Debian packages that it doesn't have to. In fact, Ubuntu people hate patching Debian packages because they have to maintain that patch for ages.

DFSG Free

non-free

Supported Core

main (150)

restricted (2)

Ubuntu Foundation specifically pay developers

Everything Else

universe (15,000)

multiverse (1,000)

You and I (the "MOTU") look after these.

The reason that 90% of the software in Ubuntu is maintained by You and I is that it's synchronised from Debian on a continual basis. If it builds, great, in it goes. If it doesn't build, hopefully somebody will notice, mail a patch to Debian then it will get synchronised and built by the next time.

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 has regular and predictable releases.
  • 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)

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

  • Most of the documentation about Ubuntu and Ubuntu development can be found on [:FrontPage: this wiki (first page)]

  • Ubuntu's Bug Tracking System is [https://launchpad.net/distros/ubuntu/+bugs-advanced Malone]

  • All packages are team-maintained. If you need to discuss a specific change, try poking the last person who changed the package (see the changelog).


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