Re: Ubuntu Bugs

(Context: Michal ÄŒihaÅ™ complains about bugs filed in Ubuntu not being looked at nor forwarded to Debian or upstream)

Michal, I think that your complaint is caused by a misunderstanding of how package maintenance happens in Ubuntu. I’ll try to clarify it, based on what I understand (if you know better than me, don’t hesitate to comment).

The part of Canonical maintaining the distribution is organized into teams (full list here), like Kernel, Foundations, Desktop, Mobile, Server, etc. Most of those teams have mirror-teams in the community, like the Ubuntu Desktop team. Those teams take care of subsets of packages in Ubuntu, of relevance to the respective teams. (This is orthogonal to package upload rights, which are managed with the Ubuntu Core Development Team, and the Ubuntu Development Team ; there’s a proposal to change that so that package upload rights are based on the first set of teams).

However, there are some packages (probably more than 70% of the packages in Ubuntu, including main+universe) that are of no interest to any particular team. Those packages are maintained on a best-effort basis by all the Ubuntu developers (inside the loosely defined MOTU team), and focus is usually on not diverging from Debian, to make their work as easy as possible. It’s very similar to what we do in Debian with orphaned packages: sometimes, important bugs get fixed, because someone complained loudly enough or a developer ran into the bug and did a QA upload ; but usually, we don’t really do any bug triaging. Of course, there are some packages in Ubuntu that are not maintained by any “core” team, but still have someone that cares about them. They are more the exception than the rule.

So, yes, obviously, you will run into packages with lots of untriaged bugs, sometimes even with patches. And those bugs and patches are rarely being forwarded manually to Debian, simply because nobody cares about those packages in Ubuntu. In an ideal world, with infinite resources, this would not happen, of course. But realistically, this is not going to change anytime soon.

There’s a link on the PTS to the bugs of your packages in Ubuntu. The idea is to allow an easy access to the bugs reported in Ubuntu, which are likely to be also relevant to the Debian package. You should probably feel welcomed to triage the bugs against your package in ubuntu, if it makes it easier for you to monitor them.

There’s some noise in the Ubuntu bugs, of course, but more and more often, by looking at the Ubuntu bugs, I find important bugs in my Debian packages that are not even reported in Debian yet.

UDS Lucid

I’m back from Dallas, where I was invited at the Ubuntu Developer Summit for Lucid. I spent a great week there ; the event was extremely well organized (by organizing them every 6 months, you are probably able to gather a lot of experience!). Of course, after all I had heard about people hugging each other all the time in the Ubuntu community, I was a bit worried, especially with the flu spreading! But there are lots of fantastic people around Ubuntu, and it was a very nice opportunity to be able to meet them all.

Since it was my first UDS (I was at FOSSCAMP in Prague a few years ago, but didn’t stay for UDS back then), I was not really sure of what to expect. I was very pleasantly surprised.

UDS vs Debconf

UDS is very different from Debconf. In Debconf, we do three different kind of things:

  • we hack, mostly on our own, in the hacklabs
  • during talks, we report on what we have done recently
  • during some talks or BOFs, we discuss future (possible) changes

In UDS, the main focus is on the third point: most of the sessions are about discussing what will be implemented for the next release. All of the relevant developers are in the same room to discuss possible problems, and the outcome of each session is usually a detailed plan, with a list of action items. It’s a very nice way to ensure that changes are well thought, and allows making large-scale changes in Ubuntu very easily (you don’t spend weeks arguing about them on mailing lists). Of course, it’s probably also helped by the fact that there’s a company behind Ubuntu, with a set of large teams (kernel, foundations, desktop, etc), which helps transfering trust (not everybody feel like they have to participate in each discussion, even when they affect the whole distribution: the team in charge is trusted by the rest of the project).

On the other hand (yeah, let’s be negative for a while) it doesn’t really help spreading information between Ubuntu developers: it’s often a bit difficult to get the global view of what is happening inside Ubuntu, especially since lots of things are discussed on IRC.

Collaboration between Debian and Ubuntu

During the week, I mainly was interested on collaboration between Debian and Ubuntu. There’s a strong focus on doing the right thing wrt Debian (and also other upstreams). Then, of course, Ubuntu also has an agenda, which sometimes requires moving very fast on some things, or making compromises between technical purity and pragmatism. But the willingness to have common foundations between Debian Squeeze and Ubuntu Lucid will surely benefit both distros.

Quality Assurance

On the QA front, I am planning to do archive rebuilds for Ubuntu as well (fixing FTBFS is an easy way to start contributing to Ubuntu or Debian, and having those bugs fixed in Lucid would benefit Debian as well, by having patches already prepared). I also had a session with the QA team, where I gave an overview of what we are doing in the Debian QA group, to discuss opportunities for collaboration. The Ubuntu QA team focuses more on testing (with automated or manual testing) and bug triaging than archive quality — that part is left to the MOTUs and the release managers. (About MOTUs, I liked how what they do was described as long-tail maintenance, landscape gardening or terraforming. That gives a good idea of what it’s about).

Ultimate Debian Database

On the Ultimate Debian Database front, I did a plenary talk to try to demonstrate how UDD could be useful to Ubuntu as well, and, with Jorge Castro, we examined some metrics of Ubuntu’s giving back to Debian. I also talked with the Launchpad team to try to resolve my long standing “pretty please provide an export of Ubuntu bugs, so I can easily import them in UDD!” issue.

Ubuntu and ARM

ARM netbooks and smartbooks (mix between netbooks and smartphones) are coming, and Ubuntu is clearly very well positioned to play an important role on that market. There was a whole track about ARM support, with lots of changes that will be done for Lucid. Let’s all hope that Ubuntu-powered ARM netbooks win that market, so we don’t reproduce the failures of the non-ARM netbooks.

Distributed Development

James Westby has been working on a set of tools to be able to work on Ubuntu packaging using bzr. The point is not to store the canonical source for Ubuntu packages in bzr (well, at least it’s not the plan yet), but to provide a set of branches to make it easier to merge or cherry-pick from Debian. The resulting workflow looks extremely nice, with lots of syntaxic sugar. And even better, he assured me that his code is portable to Git ;)
Using his work, merging Ubuntu-specific changes in a new version of a Debian package basically means pulling from lp:ubuntu/foopkg, merging from lp:debian/sid/foopkg, and you are done!
As a bonus, we (Debian) would get bzr branches with the history of packages (kind of bzr-powered snapshots.debian.org).
James’ project is not completely ready yet, but should be very soon. It’s already basically usable, apparently.

Conclusion

Ubuntu has clearly gone a very long way since 2004. Everything looks very well organized and polished, and gives the impression of a big machine that nothing can stop. With Cloud Computing and now ARM netbooks, Ubuntu has proven to be able to adapt to the current trends and attract a lot of visibility. It is great news for Free Software, but also proposes an interesting challenge to Debian: of course, it’s nice that a Debian-based distro is in that position, but will Debian manage to stay relevant, or are we just going to be the technically-pure distro without many users that serves as a package supermarket for Ubuntu?