## On Ubuntu

So, one of the current boring, argumentative threads on -devel is Is Ubuntu a debian derivative or is it a fork?. Which is a bit of a weird question, since really every derivative’s a fork, and vice-versa. The real question, of course, is whether Ubuntu is a “good” derivative or a “bad” one — whether it’s going to keep working with Debian and improve Debian, or whether it’s going to compete with Debian, stealing Debian’s users, developers, sponsors and mindshare, to the point where Debian’s a dead project.

If you ask, you naturally get a clear and confident answer: of course Ubuntu’s about working with Debian and giving back to open source hackers and whatever else. But of course, even if it wasn’t, that’s what you’d get told anyway, because that’s what people want to hear. So, like a lot of other folks, I’ve been keeping my ears pricked to see just how Ubuntu does fit into the free software world, and work out what I think of it. Having spent a couple of days at their Ubuntu Down Under conference post LCA, and generally had a chance to follow what they’ve been doing for a little while now, I thought I might post my current thoughts.

Of course, as always, this is going to be long, so here’s the executive summary for people who don’t want to read past the fold. My take is that while Ubuntu’s based on Debian, it’s an independent project, and is currently planning on becoming more so. While Canonical produces an excellent free software distribution, it’s not a free software project, and is entirely happy to build a large proprietary system, viz LaunchPad, and rely on it. While Canonical strongly supports the free software community and backs up that thought with deeds throughout the company from highest level to lowest, they’re a somewhat cut-throat startup that’s happy to put “getting to where we’re going” above a Google-like policy of “don’t be evil”. More importantly though, they produce a great distribution, that’s bringing unencumbered free software to a huge number of people, and making them happier in the process. So a mixed bag, but either way, Ubuntu’s doing a chunk of good, and definitely here to stay for a fair while yet.

And now that fold.

Independence

So, one thing I keep not realising is that Ubuntu rebuilds all its debs; it’s not a “Debian + add-ons” like most derivatives are, it’s a rebuild from scratch derivative. It’s like that in more ways than just rebuilding everything and repackaging, replacing, or updating lots of things. For example, it’s also duplicating:

• dak/katie and buildd with LaunchPad/Soyuz
• dupdate with Hct (dependent on LaunchPad)
• queued with poppy
• new-maintainer/unstable with Masters Of The Universe (MOTU)

It’s also kind-of trying to take over sourceforge with the arch.ubuntu.com, which is merging into LaunchPad and Hct.

You can see the Ubuntu’s independence in a bunch of areas: from shipping Xorg rather than staying in sync with Debian’s XFree86 packages (apparently Progeny is doing the same thing — so both Debian’s primary X maintainers work for companies that have decided that Debian’s X is too out of date to ship; great), bumping to new revisions of Python and Gnome, pulling packages from apt-get.org and Fedora as well as Debian. They’re also duplicating specialisation projects, such as Edubuntu versus debian-edu. And that’s paying off; Debian’s been underperforming, and routing around the problem by setting up new ways of connecting and organising people is an entirely sensible approach.

Viability

I think Mark’s quite sincere in his statements that Ubuntu’s his way of giving back to the free software world, and that if it doesn’t turn out to be a viable business, he doesn’t mind if it just ends up as philanthropy. What I think’s underestimate, though, is that he really is serious about trying to make it a viable business. One thing that isn’t surprising in the free software world, but is worth noting from a corporate point-of-view is that Mark Shuttleworth’s very hands on as a manager — he sat in on a lot of meetings while I was there, and was pushing quite a few of them in technical directions, rather than relying on some sort of middle management or even a trusted second-in-command type to make technical judgements.

The contrast between Ubuntu Down Under and linux.conf.au 2005, which was on the week before was pretty marked. lca got together five hundred hackers, gave ’em couches, net access, some fun, entertaining and deep talks, and a schedule that variously included talks, tutorials, competitions, panels, fancy dinners, balloon rides, pubs, bike rides, and lovely, delicious, scrumptious morning and afternoon teas.

UDU was much more structured — rather than a conference or a tradeshow, it was much more a series of internal company meetings that happened to be open to the public. The meetings started at 9am, and finished, with dinner, at 8:15pm. The meetings were in a handful of conference rooms at the hotel where most of the attendees were staying, and lunch was also at the hotel, at least if you were staying on Canonical’s budget or willing to fork over $24 or so for a buffet lunch. (The salt and pepper calimari next door was nicer, and even with a beer, still cheaper) So, in essence, you’re locked in the hotel from breakfast ’til 9pm, working the entire day, every day from Monday ’til Saturday. Monday happened to be ANZAC day, so it was working over a public holiday too. Network access was limited and awkward, every time you’d try doing anything (almost) you’d be blocked by having to look at some web page that informs you you’ll be billed at$0.01 per kilobyte or so.

Once you get over the contrast between a week of conferencey fun, and a week of meetings, though UDU does seem to have been reasonably effective. Certainly a lot more effective than what you might imagine if you heard the words “six days of twelve hour meetings”. And indeed, we tried stealing a bit of the structure for the linux.conf.au 2006 planning weekend a couple of weeks ago, and it seemed to pay off.

Both Martin Pool and Mary Gardiner wrote some reflections on the meeting which seemed pretty accurate to me.

Effective as it was, though, it’s a pretty big ask of your employees. If you don’t believe me, ask a labour union about working 60 hours in a week, giving up a public holiday and a day of your weekend to do so, not to mention the travel time to and from Sydney for the internationals. While you’re there, ask what they think about your employer expecting you to take some of your vacation time if you wanted to attend the professional conference immediately beforehand, too.

UDU held a whole bunch of sessions in parallel, and I was catching a plane back home on the evening of the second day — so I barely saw a third of the conference. Anyway, the sessions I sat in on was one of the community council meetings (which I’ll get to later), some of the baz/baz-ng stuff (which I won’t get to at all), and some of the archive infrastructure ones (which I’m getting to right now).

This infrastructure stuff is “LaunchPad”. It’s not so much a name as a collective noun — as above, it includes the project to replace debbugs (Malone), to replace dak/katie (Soyuz), to do translations and localisation (Rosetta), to replace buildds, to control security updates, and, as I understand it, to act as a huge meta-repository for upstream sourcecode and packaging metadata.

The hope seems to be that LaunchPad will be the “basis” of Canonical/Ubuntu — that is, first make Ubuntu the #1 disto, then have Canonical provide professional resources for creating and maintaining specialised derivatives, and use LaunchPad to do that. As such, LaunchPad’s non-free and proprietary — otherwise any johnny-come-lately kid or millionaire could rock on up and undercut Canonical’s prices, hire out its employees, and that’d be that.

There’s a reflection of this in the section entitled “Canonical: What is its business model?” from Guadalinex’s justification of using Ubuntu on the Ubuntu website:

Canonical believes that in the near future, GNU/Linux users that are currently spread among a plethora of distributions will be concentrated around 2 or 3 main distributions. They declare that their purpose is to make Ubuntu one of them and, if possible, the best one. Their main source of financial revenues are support and services; they want to be the Ubuntu reference company, but they don’t aim to provide all Ubuntu services worldwide. They don’t have and don’t aim to have branchs or franchises; they seek agreements with local companies (particularly outside the spoken English world) that provide services for Ubuntu with Canonical as a backup.

Which isn’t unreasonable — and after all, Ubuntu is still entirely free software — but it’s a long way from the debates within Debian about using software like qmail (source available and modifiable, but doesn’t meet all the DFSG requirements) behind the scenes on Debian servers.

And that’s pretty much the point where Canonical’s not a free software company, but a vendor providing proprietary services for the free software community. I’m thus not at all sure how much its free software development is a core activity, or if Canonical will end up relying on its user community to do Ubuntu development for gratis once it moves from “start up” to “sustainable” mode.

Of course, LaunchPad seems like a pretty risky project. It aims to do everything, it aims to completely reimplement complicated existing systems, and it’s being developed from spec rather than trial and error. To my mind, that spells disaster in the making; but on the plus side, it’s got money and management behind it. From the meetings I sat in on, LaunchPad sounded like Canonical’s #1 priority for their 5.10 release, so it’ll be interesting to see what comes of that. If nothing does, it’ll be very interesting to see how Canonical reacts to that as an organisation.

Community

What’s really quite fascinating is the community strategy Ubuntu’s adopting. From Matthew Thomas’s First 48 hours blog post, to being able to walk in off the street and sit in on technical meetings setting out the company’s strategic direction for the next six months, well, that’s something. In fact, it’s probably more than some free software projects can manage.

In particular, it was fascinating to be able to just go in as an outsider and sit in and watch Mark, Mako and Jdub, have a fairly serious argument about the community consequences of the last minute Nautilus changes, with Jane (Canonical’s business manager, more or less) watching on and chipping in.

Basically, Mark told the desktop team early on that Nautilus should work one way, which everyone else in the world apparently thinks is stupid, it got implemented but not turned on by default, Mark didn’t notice and got no feedback until a week or two before release, and pointed out that the boss’s directions aren’t optional, it got done, Mark was happy, and a whole bunch of Ubuntu users weren’t. Solutions to the problem ranged from “the desktop team knows what it’s doing, trust us”, “follow Mark’s directions early, so that if they turn out to be stupid they can be changed later”, and the issue fluctuated from “there’s fallout, how do we deal with that?” to “this is horrible, how do we ever avoid fallout like this ever again?” I’m paraphrasing a fair bit, it was a far more consequential discussion than I’m probably making it sound.

On the other hand, I’m not paraphrasing that much — it didn’t develop into a shouting match, and people’s jobs were explicitly not threatened. I wonder how much the chance of some random person overhearing and blogging (heh) helps prevent tempers fraying too much and things being said without due consideration. That’s a pretty novel business policy, and it must require a fair amount of stamina to stick to it.

But in any case, while there was an argument over how to go about getting the right process for this sort of thing, what was interesting was none of the people at the table thought there was any question about whether the opinions of random people whinging on the forums was something worth taking seriously, or that their concerns shouldn’t be taken seriously by, essentially, the company board of directors.

While Debian developers might want to worry about being considered irrelevant by the Ubuntu powers that be, I get the impression Ubuntu users needn’t lose a wink of sleep over it.

Popularity

All of that’s interesting, of course, but what really matters, in my opinion, is the technology: Canonical’s processes might be a good or a bad way of creating a distro, the way you work that out isn’t by entering a trance and meditating on them, it’s by looking at whether the end product actually makes people’s lives easier and happier than the alternatives

And, from what I’ve seen, it does — Ubuntu really seems to be bringing both Debian and Linux to a broader audience, and seems to be giving existing Linux and Debian users an environment many of them prefer. Whether you look at the distrowatch numbers, ask speakers at lca which distro they use, or just go through your daily life and hear Ubuntu mentioned where you’d never have expected it.

Some of that’s obviously just PR and not technical stuff: having lots of money to throw at things goes a long way, as does having a CEO who’s interestingly unique, and giving (literally) millions of CDs away for free isn’t nothing either. On the other hand, I think a lot of it’s just the “Debian done right” aspect too — Debian’s built up a lot of good will over the years by being a generous and solid community member. Debian might not be entirely effective, but we’ve got a reputation of being good and doing the right thing, and adding in some effectiveness: being able to keep your release promises, shipping software that’s recent enough to actually be usable on current hardware, providing features from this millennium like a LiveCD; and you’ve got something that’s pretty likeable.

I think it’s pretty amazing how far Ubuntu’s gone with what I’d call a fairly small commitment of development and PR resources, along with Debian’s technologies and reputation.

The real question is whether Debian’s able to make the relationship a symiotic one, and adapt enough that Ubuntu doesn’t benefit from routing around most of the project. I can’t think of a downstream project with which Debian’s managed to sustain a successful symbiotic relationship before, but perhaps comparing the dead-end attempts at integrating the Stormix installer or Progeny’s PGI with Ubuntu’s work on improving debian-installer warrants some hope.

UPDATE 2005/06/08:

I’ve since been informed that the theory is LaunchPad (or parts thereof?) is expected to be freed one day. I don’t really see how that’ll work, in any way (either in a business sense, or in a useful code for anyone else sense), but hey. Maybe it’s in a “Canonical goes bust, why not free it?” sense. :)