I have been asked how Ubuntu relates to Debian, and how packages flow from one to the other. So here’s my attempt at clarifying the whole picture.
Where do the packages come from?
Most packages are created by Debian contributors and they are uploaded in Debian unstable (or Debian experimental). New packages are reviewed by the Debian ftpmasters before being accepted in the official archive. The packages are held in the NEW queue until the review is over, and the time spent there varies between a few hours and a few months (usually they are processed within one week or two).
Ubuntu imports all the official Debian packages, but they also add some packages of their own. About 7% of the Ubuntu packages are third-party software that have been packaged for Ubuntu but not for Debian.
What are the changes made by Ubuntu?
From all the source packages coming from Debian, 17% have additional changes made by Ubuntu. Many of them are part of the “main” repository, which is actively maintained by Canonical and Ubuntu core developers. The “universe” repository is usually closer to the official Debian packages.
Many of the changes made by Ubuntu are the results of the decisions taken during the Ubuntu Developer Summit in order to reach specific goals: provide a better user interface, offer faster boot times, become a better platform for third-party software developers, offer a good integration with their online services (Launchpad, Ubuntu One), etc. Other changes are simply the result of fixing bugs reported by Ubuntu users.
Note that even non-modified source packages will result in different binary packages for Ubuntu. That’s because Ubuntu has made changes to the build environment. They only support Intel-based computers with a 686-class (or newer) CPU, they enable some compiler options that Debian doesn’t, etc. And all binary packages are modified by a program called pkgbinarymangler.
Ubuntu’s release cycle and the relation with Debian
Ubuntu releases every 6 months (that’s what time based releases is about). Debian has a very different schedule. How does Ubuntu manage to reuse Debian’s work?
Ubuntu imports packages from Debian unstable (even experimental sometimes) to get the newest packages. If the Ubuntu package already has Ubuntu-specific changes, they merge their changes in the updated Debian package. Otherwise the Debian package is simply grabbed and rebuilt in Ubuntu. This works well because Debian unstable is much more usable than the name suggests. And this process only goes on during the first 2 months of the cycle (until the Debian Import Freeze), so there’s plenty of time afterward to fix the biggest problems.
In the third and fourth month, it’s still possible to pick updated packages from Debian but it must be requested by a developer, it won’t be done automatically. At the end of the fourth month, the feature freeze is put in place.
The 2 months left are dedicated to bug fixing and polishing the distribution. There are various sub-freezes that happen in this period, you can check the Natty release schedule as an example. Picking updated packages from Debian is now the exception, it will only be allowed if the update on the Debian side is a bug-fix only release.
Credits: some figures taken from a talk of Lucas Nussbaum, they were collected based on the packages available in the Lucid Lynx release of Ubuntu.
Click here to subscribe to my newsletter and get my monthly update on what’s going on in Debian and Ubuntu.
Tshepang Lekhonkhobe says
Good work, thanks. I like especially the numbers you give (7% & 17%). How do you calculate that?
Raphaël Hertzog says
Those numbers were calculated by Lucas Nussbaum (see the link in the “Credits” at the end). The 17% is easy to find out, take common packages between Debian and Ubuntu and count those which have a version ending in ubuntuX. The 7% corresponds to source packages available in ubuntu but not in Debian.
You can ask him more details if you want. He probably used multidistrotools for some of those tasks. https://launchpad.net/multidistrotools
alex says
“Ubuntu imports packages from Debian unstable…” this is for non-LTS releases. LTS releases uses testing repository which is less-buggy.
Raphaël Hertzog says
Alex, I hesitated to mention it, it happened only once IIRC for Lucid, it was a sort of experiment and the results were mixed. So I’m not sure it counts as a rule already…
Jonathan Carter says
“They only support Intel-based computers with a 686-class (or newer) CPU”
Ubuntu supports ARM as well.
Raphaël Hertzog says
Hi Jonathan, true. But I was pointing out that for Ubuntu “i386 = 686 and newer” and for Debian “i386 = 486 and newer”. I was not comparing the set of architectures supported but rather a different choice for a common architecture.
TheGZeus says
The part that I find odd about Ubuntu’s decision is no qualitative difference has been shown between compiling for 686 vs 486.
Some programs perform _worse_.
So all it seems to do is edge-out corner-cases.
For instance:
Someone with an old computer they’d like to make into a router, and use the same base as their desktop (Ubuntu in this case). They have to use debian, and there are enough differences that I’d just recommend buying a router or learning a BSD.
There are still some ruggedised fanless embedded systems that run 486. Granted, there are Atom systems that will give better performance-per-watt, and better performance in general, but they’ve had less time to be vetted as reliable enough for some situations (factory floor stuff, generally).
Meh. I guess that _does_ cut out hard-to-support systems/situations. Also cuts out a potential support customer base.
intuited says
It seems like in cases where reliability is a major concern, and using recent feature updates is not, people will want to run Debian anyway, no?
TheGZeus says
“Many of the changes made by Ubuntu are the results of the decisions taken during the Ubuntu Developer Summit in order to reach specific goals: provide a better user interface, offer faster boot times, become a better platform for third-party software developers, offer a good integration with their online services (Launchpad, Ubuntu One), etc. Other changes are simply the result of fixing bugs reported by Ubuntu users.”
You’ve worked in management before, haven’t you?
I’m not saying this isn’t true, I’m saying it’s over-flowery and some of the statements are weasel-wordy.
“platform” …You mean like an operating system?
“third-party” How does one determine first/second/third-party when it comes to FOSS?
“offer a good integration” could have been written “integrate well”, but it’s good corporate-speak for everything to ‘offer’ something…
I’m not saying you’re being misleading, I’m saying you probably picked up a habit from working where they have cubicles.
I’ve always had a bad reaction to buzzwords (like, they cause my physical pain in my gut)
Raphaël Hertzog says
TheGZeus, no I have not worked in management. In fact, I only had a boss for 2 years right after my studies. Ever since I only have customers since I’m an independent and I work at home and not in cubicles. 🙂
That said I’m not a native speaker and there’s probably room to improve my formulations.
TheGZeus says
Whoa.
I take it back, sorry. If you’re not a native speaker, then you’re doing _great_ with this friggin’ language. (it’s my first, and my least favourite of those I’ve studied, ((of English, German, Japanese, Mandarin, Spanish and Irish)not that I’m any _good_ at Mandarin or Irish… had few chances to use them(sorry for the lisp-level parenthetical)).
My guess is you talk to people who have corporate-speak managers, and they instinctively use corporate-speak as polite speech. It was meant to be somewhat tongue-in-cheek, as well. Realise that’s not clear, now.
Jesper Poulsen says
I see Third Party as someone from outside the community, like Google and Mozilla Foundation. They “mass produce” software solutions for a wide range of hard- and software platforms. They are not Ubuntu-only or Debian-only.
Marcelo Lotif says
Thank you buddy, I’m using Ubuntu (and Linux at all) since 8.04 and I have ever heard about Ubuntu being based on Debian, but never had such tangible explanation as yours.
Dorero says
“provide a better user interface, offer faster boot times, become a better platform for third-party software developers, offer a good integration with their online services (Launchpad, Ubuntu One), etc. Other changes are simply the result of fixing bugs reported by Ubuntu users.”
I think it’s easy to say that without telling it offers a lot of bugs and instabilities too.
If Ubuntu is so unstable, it’s only because of those changes.
Anyway, the article is not bad at all, clear and easy to understand even for newbies. I just have a little problem with the very partial way you wrote it. But, as every linux users, you can’t be impartial 😀
ps : sorry for my English
Martin says
Hi! After the fresh install of Debian Lenny my monitor screen displays “frequency out of range”. I found that many people have the same problem with Xorg settings. It`s strange beacouse that works fine on my computer. Is there any solution to fix it? I need X serwer on my machine to set up my internet connection = ADSL neostrada tp.
Philips 107T4 CRT, AMD Athlon 64 X2 4600+, nVIDIA GeForce GTS 250, 2 GB RAM, 60 GB HD.
Raphaël Hertzog says
Martin, I’m afraid you won’t get good support on my blog. Try the debian-user@lists.debian.org mailing list. And try manual configuration of your screen with
dpkg-reconfigure xserver-xorg
(if you know the frequencies supported).marcin says
“Other changes are simply the result of fixing bugs reported by Ubuntu users.”
Does Ubuntu give bug fixes back to Debian? Is it a noticeable contribution?
Raphaël Hertzog says
I wrote a LWN article that answers your question: http://lwn.net/Articles/416667/ (subscriber only until thursday)
It will be republished in this blog the next week. The answer is “it depends” but yes there are fixes coming back.