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?