Demystification: Keeping one foot on both sides
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.
I'm new around here.
Two sides of the same coin
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 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, on my aunty's microwave with an m68k processor and the freebie Sparc box you rescued.
- 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 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 gets people hooked on crack, faster.
- Ubuntu has a cuddly FTP master.
If you can find them...
The reason that Ubuntu managed to do zero-to-sixty 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 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. Everyone knows each other, each other skills and the job they do.
At the moment there's less Ubuntu developers than Debian ones, 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) guerilla called "IBM" watching HP, Novell, SCO, Dell, Sun and Microsoft shuffle chess pieces around without being worried or even bothering to look.
What Ubuntu does do take a boring Chess-match, put it on television, supply commantry for muggles to make the game-play understandable and brings in ad-revenue from people who would have channel-hopped.
If you missed it live, one of Ubuntu's sponsors 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 unsuspecting user's minds.
Even if the Ubuntu LiveCD only gets the user to install OpenOffice and Firefox on Windows, they might get hooked and come back for a Free OS in 12months time; planting the idea of Freedom in people's heads is important, Canonical organises Software Freedom Day.
Lessons from Debian
- 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.
- Those who do not understand Unix are comdemned to revent it, badly. The same applies with Debian.
Prioritising what makes the cut
Debian recently switched to prioritise some architectures above others and make sure they don't hold back the possibility of a release. Ubuntu prioritises both architectures and packages, taking the core requirement that everything builds across the board for amd64, i386, and powerpc; Ubuntu then extends this to the applications and packages themselves creating a first and second tier:
Ubuntu Foundation specifically pay developers
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.
== Mastering the universe ==
In Ubuntu, the people that focus on getting stuff building and pulling in packages from other non-Debian sources are called the Masters of the Universe (MOTU). They are responsible from separating out the good stuff(tm) with nice licenses (these go into Universe) and the crack with irriating licenses (eg. Java, these go into Multiverse).
Although the intention with Universe is to keep it identical to Debian (because the MOTUs are lazy!), a few packages in Ubuntu's universe do get patched. Ubuntu has ended up being the guinea pig (lab rat) for quite a few major changes Debian has had to go through; examples being transitions to C++ ABI, Python2.4, modular Xorg, lsb-scripts, FreeDesktop .desktop files.
Luckily most of these patches disappear when Debian are happy and take the stablisation work, generally less than 6 months. In Ubuntu, modified take the suffix -0ubuntuN on the end of the Debian package version. This means that those changes will get superceded by the next time a package in Debian gets rev'ed, a real insentive to makes sure the number Debian update includes the changes!
The other case, is if an Ubuntu user has found a bug (in either the program or the packaging) before someone has filed the same bug in the Debian BTS. Ninety-nine percent of the changes to packages in Universe are small and unobtrusive.