Archive for September, 2006

Ubuntu road warrior tips

Thursday, September 14th, 2006

Don Marti from LinuxWorld asked me to write a bit about using Ubuntu on the road. The article appeared here, but I thought it would make a good blog post too. I’d love to hear from folks about tools you use with Ubuntu to make it rock harder on the road!

The original article is here.

I do use Ubuntu on my laptop, and travel a lot. My laptop is both my primary working environment and my primary development environment. I also have a desktop machine, which runs Kubuntu, and which I use for development at home over the weekends.

NetworkManager is (mostly) my friend. When it works on your hardware it’s a blessing, though every now and then it can get itself into a horrible jam. The primary missing feature for me, now, is the ability for it to recognise “locations” and configure printers accordingly.

I’m a Thunderbird fan and use that rather than Evolution. The best tip I can give anyone is to try the Quickfile extension for Thunderbird. It was developed in response to a bounty I put out some time ago, and has made my life much, much better in dealing with several thousand mail folders. In simple terms, it lets me file a mail to a folder by typing a hotkey and then a few letters from the folder name. This lets me drive Thunderbird almost entirely from the keyboard. Combined with the offline email function of Thunderbird I can be extremely productive with email in planes, trains and automobiles, which is where I get a lot of time these days.

One glitch in that routine is when people send me email with a URL in it. I am often offline when I get to the email, so it can be frustrating because I can’t then see the document they are pointing at. To work around this I use a combination of Firefox bookmarks and T-bird labels. I have a “Needs web access” label, which I use to flag emails that have this issue. And I have a “To read” folder on my firefox bookmarks toolbar. By right clicking on the URL in the email I can copy the URL, then I right click on the “To read” folder and create a new bookmark to that URL with a note about the context. Then, when I’m online, I can trivially get T-bird to show me all the mails that need online attention, and open all the relevant pages in tabs in a new Firefox window. The result is that I can immediately deal with everything that NEEDS me to be online. This is a huge win if, like me, you are traveling constantly and can only grab net access in short windows while parked outside a Starbucks or in an airport lounge.

Jono Bacon has announced the next Ubuntu Developer Summit: November 5-10 in Mountain View, CA. There’s been a steady growth in the number of upstream and outside developers coming to past summits, and given the density of free software developers in the Bay Area I hope we’ll have an even more awesome group this time around.

The summits are pretty intense – deep, detailed discussion of the top 100 things we want to see in the next release – but if you’d like to meet the Ubuntu core team, or motivate for a feature, or help to plan a feature you want to contribute to Ubuntu, this is the place to be.

Bling-bling Buntu!

Sunday, September 10th, 2006

I was very pleased to see John Vivirito announcing a desktop-effects team for Ubuntu, that will focus on the integration of 3D technology into the desktop like Xgl, Compiz and AIGLX. Folks who are interested in that stuff and want to help make Ubuntu rock in that department please join the team! We’re particularly interested in people who have strong OpenGL experience.

Conflicting goals create tension in communities

Saturday, September 9th, 2006

Matthew Garrett expressed frustration with Debian recently, in a blog post that’s become rather famous.

I’m of the opinion that Ubuntu could not exist without Debian. So it’s absolutely my intention to see that Ubuntu is a constructive part of the broader Debian landscape. It’s vital that Ubuntu help to sustain and grow Debian, because it’s the breadth and strength of Debian which make up the “shoulders of greatness” on which we in the Ubuntu community stand when we reach for the stars. That doesn’t mean I’m naive enough to think this relationship will ever be an easy one, but I would hope that the discussion doesn’t turn into one of “Ubuntu versus Debian”. Because it isn’t the case that one of them will succeed and the other fail. You could only perceive that as an outcome if you assumed that the two have exactly the same goals.

And that’s where I think a lot of tension is created: it’s hard to know what Debian’s goals are. Those goals are technically articulated in some founding documents but I don’t believe the specific, detailed nature of those goals is actually matched by the personal goals of many members of the community, or users. Debian, in many senses, is at that dangerous stage where it’s a victim of its own success. Its infrastructure and developer recruitment model are for many people what define Debian, and they have been so successful that a community has been created of people who, drawn together by the same things, nonetheless have subtly different personal agendas and goals.

Those differences are a cause of tremendous stress.

When a flamewar erupts, the notional topic of the flameage is often less relevant than the underlying tension between people’s true goals. It’s hard to come to agreement on how to address a specific issue, if there’s no agreement on the very high-level goals that everyone is working towards. Arguments go on forever because one person REALLY wants to see Debian get even more stable on the server, and another person wants to see it get even more cutting edge on the desktop. One person wants more translation of stable versions of applications, another wants newer versions which are by definition not as well translated. One person wants fewer architectures, another wants the full power of Debian on a small embedded architecture.

And all of them have every right to BE RIGHT. All of them, ARE right.

The problem comes if anybody believes that one institution, one product, one single leadership team can synthesise all of that into something which is optimal for EVERYBODY. It’s just not possible to deliver one thing which is optimal for two sets of conflicting requirements, let alone those of a thousand or so of the smartest, most passionate, and lets face it most eclectic of the world’s free software developers. Debian has almost unlimited capacity for some things, by virtue of its openness and democratic governance. That is a wonderful thing. At a time when we all must play to our strengths, many organisations out there would love to have a strength as potent as that. But openness and democracy come at a price if you have narrow goals. No one person or institution can bend that democratic forum to its own specific goals, whether they be desktop, server, embedded, global, local or whatever. Debian, like any institution or product, cannot be all things to all people. It can also not be perfect for one group at the expense of another.

To me, this is the real joy of Debian – it can provide a forum for almost every part of the free software world to come together to hammer out differences and find common ground to the extent that common ground exists. It’s a level playing field – independent of company agendas or technical historical baggage. Debian is the Tibetan Plateau of the free software landscape – elevated through the grinding efforts of conflicting passions to the point of forcing those who visit to get along in a somewhat rarified atmosphere. It can be difficult to breathe up there, sometimes :-). It’s a bit like the Linux kernel itself: show up, with code, and take your place at the table. And the results are spectacular – Debian as a community creates what I believe is one of the great digital artistic works of the era, and frankly comes as close as I can think possible to actually delivering something that does meet all those conflicting agendas and goals.

Consider Sid. Yes, it breaks your toys now and then, but by and large it represents an extraordinary achievement – pretty much the latest releases of the upstream communities, packaged and categorised. Nothing else, from Ubuntu or Red Hat or Novell (or Microsoft) comes anywhere close. Debian Developers are at their happiest running and working on Sid – a recent survey found that something like 76% of Debian users run Sid, while only something like 6% of Ubuntu users run the equivalent beta code. And remember, Ubuntu only has an Edgy or an Edgy+1 because of Sid. When I look at the ebb and flow of discussions on the Debian mailing lists, I see that Sid is in fact where the very best of Debian comes forth. It’s forward looking, it’s focused on the next generation, it requires exceptional skill and up to date technical knowledge to participate, and it’s not subject to the same political tradeoffs that are inevitable when dealing with releases, architectures, dates, deliverables, translation, documentation and so on. There are very few flamewars about Sid.

If Debian were a business, now would be the time for a careful review of strengths and weaknesses, and perhaps for a plan to focus the resources of the organisation on the things it does best. There’s nothing wrong with cutting goals. Jane, the COO at Canonical, keeps me on the straight and narrow with a fairly regular pruning of Canonical’s focus points too :-). Every conflicting goal sucks resources from the overall cohesiveness and strength of the group. If there is no consensus in the community, and the leadership don’t think they can get consensus, then it might be better to cut out those conflicting goals altogether. To my mind, the two things that Debian developers absolutely agree on are first, the uncompromising emphasis on free software, and second, the joy of Sid. If I was to try to resolve the bickering and frustration that I see evident in the community, that’s where I would direct the focus of my efforts. Of course, that’s a tough approach, and leaves many other goals for other people and other communities. But it’s where I think Debian, and DD’s, would be most productive and ultimately happiest. There are many things that Debian does brilliantly – celebrate that, focus on it, and trust that others will fill in the gaps.

By contrast with Debian’s Plateau, Ubuntu is a cluster of peaks. By narrowing the focus and allowing the KDE, Gnome and server communities to leverage the base of Debian without treading on one another’s toes, we can create a K2, and a Kangchenjunga and a Lhotse. Ubuntu’s peaks depend on the plateau for their initial start, and their strong base. Ubuntu needs to be humble about its achievements, because much of its elevation comes from Debian. At the same time, Ubuntu can be proud of the way it has lifted beyond the plateau, drawing together people with specific goals to raise the bar and deliver specific releases that meet ambitious, but narrow, goals.

Many people have asked why I decided to build Ubuntu alongside, or on top of, Debian, rather than trying to get Debian to turn into a peak in its own right. The reason is simple – I believe that Debian’s breadth is too precious to compromise just because one person with resources cares a lot about a few specific use cases. We should not narrow the scope of Debian. The breadth of Debian, its diversity of packages and architectures, together with the social equality of all DD’s, is its greatest asset.

So, what’s to be done about the current furore?

A little introspection is healthy, and Debian will benefit from the discussion. Matt is to be credited for his open commentary – a lesser person would simply have disengaged, quietly. I hope that Matt will in fact stay involved in Debian, either directly or through Ubuntu, because his talent and humour are both of enormous benefit to the project. I also hope that Debian developers will make better use of the work we do in Ubuntu, integrating relevant bits of it back into Debian so as to help uplift some of those other peaks – Xandros, Linspire, Maemo, Skolelinux and of course Etch. And most of all, I hope that Debian will start to appreciate its strengths even more, and to play to them, rather than dividing itself along the lines of its weaknesses. Debian/rules, remember?