Jeff Waugh - interview
From LXF Wiki
Jeff Waugh has left the comfort of Canonical to answer a calling from the GNU desktop. And he's doing it, he tells us, for his mum... and the other billion software users who need FOSS.
Jeff Waugh is famed for his many contributions to the Gnome desktop and his role in the meteoric success of Canonical, where he worked on Ubuntu business and community development until resigning in July. He's also a great character, and there aren't many free and open source software events where Jeff hasn't spoken. But he's also never been caught in front of a camera lens with a straight face. Graham Morrison and our intrepid photographer Jason even tried sneaking up on him recently at OSCon. But Jeff was just too quick. However, Team LXF did manage to drag him into a local burger bar to ask him about his passion for Gnome development, life after Canonical and just how Mark Shuttleworth recruited his crack team of dedicated employees.
LXF: There is lots of cool stuff in Gnome. Things like Tomboy and F-Spot...
JW: Yeah, we just haven't been making a big deal about it. We talk a lot about the enterprise use cases, making Gnome easy to use and stuff like that, but there's so many really, really cool, geeky kind of rad [radical] features and things you can use.
LXF: What would you pick out as a really geeky part of Gnome?
JW: There are two or three things that I think are really interesting. You know Metacity, the window manager, right? In the README file from Metacity, Havoc describes it as the Cheerios of window managers, which is a culturally oblique reference for me but I assume that Cheerios is a boring cereal! It talks about how other window managers are like Froot Loops and stuff...
LXF: I can guess what Froot Loops are. [Linux Format's American photographer Jason explains to the English GM and Australian JW that Froot Loops are a "technicolour, sugary, disgusting" cereal.]
JW: So Metacity is just about, "Manage my windows and get out of my way don't care about the existence of this thing called the window manager; just do it" Which is exactly what Gnome has been focusing on. It should just work, it's not important. However, there's this really cool thing called Devil's Pie, which is an extra little thing you run. It just plugs in and you can completely script the way Metacity works, using Lisp.
LXF: That does sound good.
JW: There's this other cool thing called Brightside, which makes the corners and the sides of your desktop reactive to various things. So if you're dragging a window and you drag it to the edge of the screen, it will pop over to the next [virtual] desktop and you'll navigate like that.
LXF: Do you think Xgl and Compiz will be built into the window manager?
JW: Compiz is an interesting design. After playing with compositing managers for a while, everyone realised that actually the whole compositing problem is so wed to window management issues that really you have to put it in your window manager. You can do it separately but then you have to communicate backwards and forwards between them.
LXF: It's amazing that it works.
JW: Yeah. But it's really beautiful. The one thing with Compiz is that... So, Metacity has a compositing manager as well; they've built it into an existing window manager and added the compositing functions. But for Compiz they have created this great pluggable compositing manager and one of the plugins is a window thing. So it doesn't handle window management stuff as well as Metacity, which has had years and years of bugfixing. They've added a whole bunch of crazy window manager features to Compiz just because it's this crazy... LXF: Everyone started using it overnight.
JW: Yes, so they haven't really thought about it in terms of, "Let's make a window manager that works and does the right thing" they've just sort of thought, "Hey, crazy Xgl stuff, we may as well start adding all sorts of other crazy stuff." But Compiz is awesome as a technology primer: thinking of it as a demonstration. Wobbly windows, right: people get ill when their windows wobble, that's how bad it is, but it demonstrates what the technology is capable of.
LXF: Have far can the Compiz technology be taken?
JW: Mirco M ller has been working on sexy graphics stuff with Cairo, compositing and Xgl. He came to Guadec [Gnome User and Developer European Conference] this year for the first time, and he was meeting up with people like David Reveman, Keith Packard, Carl Worth... all these people who had created the technology that he's using to make these beautiful things. They would just start talking, and they'd be sitting there going, "Oh, we should do this! And this!" planning all these cool things. He would get back to the bungalow at the end of the day and say [adopts awed voice], "Wow. Man, this is incredible! I talked to Carl about doing this, and so and so about doing this..." He would hack in the evenings and make these totally beautiful things, like 3D spinning cubes with animated Cairo stuff on the sides that are transparent so that on your desktop you can see these Cairo things spinning around on a transparent cube. It's GL-rendered but also transparent because of your compositing manager and using Cairo to do all the rendering. It's all fully anti- aliased, vector graphics and fast really fast. You put these people together and they do the most amazing stuff.
It's really funny: one night we started talking about some work he's doing to clone the Mac OS X dock. Mirco's done all this mip-mapping stuff for the icons so they look always really sharp at various zoom levels.
LXF: Do the icons use SVG?
JW: That's the crux of the story, really. The icons themselves are SVG but because we don't have a direct path between the SVG and GL he renders them to bitmaps, and as they scale up he renders them to different sizes.
LXF: Which is where the mip-mapping shows?
JW: Yes. I said, "So, can you render an SVG as GL?" because the maths is almost the same. So we were talking about what it would be like to take an SVG, turn it into a GL object and be able to render that and play with that on the screen, rather than do any mip-mapping. Mirco started umm-ing and aah-ing and thinking about the cool things we could do with it. Then we talked about this to Keith and Carl, and Keith began explaining why that was exactly the right thing to do with X. Before Xgl, because Xgl is an X server that is a GL client and renders everything as GL, X has had support for this thing called Glx stupidly confusing!
LXF: You get used to it.
JW: Well, yeah. [Laughs] Glx is the extension that lets you send GL commands over X. So if you have a thin client and a machine over there, you can run a program over here that does GL and it will be hardware-accelerated. It turns out this is exactly the right way of doing really sexy GL stuff. What you do is, over here you transform the SVG into GL. Even better than that, Keith started saying, you turn it into a GL macro over there and you send the object and everything as a macro over to the server, whether it's local or over the network. Then when you've got a GL macro that's processed in hardware, you can tweak that. We can actually improve network rendering using GL. Imagine a tiny little thin client with beautiful Intel graphics chip etc and doing full hardware-accelerated stuff over the network, using less bandwidth than you did before.
LXF: Gnome seems to have come a long way since 1.0.
JW: Yeah, 2.0 [released in June 2002] was a real turning point in terms of our philosophy of what we were trying to do. The way that I've been talking about it in presentations about Gnome is that as a group we matured and realised that there's a really, really deep philosophical reason for what we've done and that is that free software is not just for geeks.
It's fundamentally important that the amount of value that we get from free software and the fact that our `big' freedoms freedom of association, freedom of speech are being protected by our using free software as a tool. But my mum doesn't get that. She doesn't see the threat that technology can pose or the freedoms that we can defend with free software. So it's fundamentally important that we change people's understanding of software and their expectations of software. And the Gnome Project took this on as a basic philosophical tenet.
LXF: So, why did you leave Canonical?
JW: [Laughs] Basically, in three or four years there may be some babies on the scene (I've just had my first wedding anniversary). I want to take a risk and do something a bit dangerous, and if I don't do it now I'm not going to have the time to do it. I sat down for a deep and meaningful with my wife, and said, "I've got these ideas for things that I want to do so that I can work on Gnome a little bit more than I have done." I had a period a few years back when I'd been doing a lot of consulting freelance and earning quite a bit of money so I had some savings, so I did some irregular work while working on Gnome pretty much full time for about nine months.
LXF: Couldn't you have done something like that and stayed at Canonical?
JW: It's kind of funny. People say of a lot of the free software hackers that are employed by companies, "Oh hey, but you're paid full time to work on `blah'" but it doesn't really turn out that way. It wouldn't be financially sensible for Canonical to fund me full-time to work on Gnome. One of the things to remember about Canonical is that they're a small startup; they're not making money not a profit anyway. They spend a lot of money on ShipIt [where Canonical will send a disc to anyone that requests it] and those sorts of things. It's a small tight team and they don't have an outrageous burn rate or anything like that, so it just wouldn't make sense for Canonical to do that [fund me to work on Gnome]. I've got to figure out how to do it myself!
LXF: You're not going to be financed by the Gnome Foundation?
JW: No. The Gnome Foundation is doing OK at the moment and making quite a bit of money; but it's going to take a while to build up funds and have the financial model to be able to hire people. So I'm not really expecting to work for the Foundation. Maybe sometime in the future would be cool.
LXF: How did you get involved in Canonical in the first place?
JW: Mark [Shuttleworth] gave a friend of mine, Robert Collins, a call at LCA 2004 [linux.conf.au], which was in Adelaide. Rob at the time was working on the Arch revision control system at TLA [the original Arch repository], and one of the things Mark knew he wanted to do, part of his vision, was distributed revision control and how that is the next step for collaboration in the open source world. And he looked at Arch and felt that Arch and the ideas behind it were the right way of looking at things. So he called Rob Collins at LCA, chatted to him for a while and told him about what he wanted to do.
At the time Rob was director of a company that was doing consulting and development and he was quite happy with what he was doing, but Mark offered this crazy idea that sounded really compelling. I kind of forgot about it but I now remember Rob coming up to me at LCA and saying, "Oh my God, I just got the most amazing phone call! I can't tell you anything about it, but I will at some stage..."
LXF: He's been to space!
JW: [Laughs] Stuff like that happens all the time in the IT industry, so I just thought, "Some way-out wacky thing has happened we'll figure it out later." Anyway, Mark was actually on his way to Antarctica
LXF: As you do...
JW: [Laughs] on an ice-breaker, and he took six months of Debian mailing list archives with him.
LXF: What a brilliant idea!
JW: Yes, because he knew that his downtime on this ice-breaker would be pretty boring, so he could do some reading. His goal with that was to find out who were the great Debian contributors that he wanted to employ. That's one of the best things about hiring in the open source world: everyone's work is out there. On his way back he met up with Rob in Sydney, and Rob was really keen [on working full time on Arch at Canonical]. Rob knew that what I was working on would fit into Mark's vision. At the time I was working for an ISP that was going down the gurgler, and I had just taken my staff out to lunch to tell them that we had 90 days left. It was horrible, it was so depressing. Well, Rob called me and said, "Dude, you've got to come down and meet this guy," and I said, "It's a really inappropriate time... let's do it another day." But Rob told me I had to come straight away because this guy was only going to be here for a day, and we had this conversation, back and forth, then he said, "OK, fine. Have you ever met anyone who's been in space?" I said, "No." "Do you want to?" "Yes." "Come down and see him now. There might be a job in it." Ding! "OK, in that case..."
Well, we sat down and Mark laid out his vision. The first thing he said was, "I want to create a Linux distribution." I was pretty much ready to stand up and walk out, because at that time it sounded like the stupidest thing ever. But then he started explaining his vision behind it, the model and what it all meant. Even back then he was absolutely clear on things like six-monthly releases, Gnome desktop, single CD, making it absolutely free to redistribute, building support networks on top, distributed revision control and building up the operational effectiveness of the developers working on the distribution, going for a completely different model from what the other Linux distributions had and this is one of the crucial points building it on top of Debian.
So everything he said, I thought, "Wow, you really understand how the model is working and what's going on in the industry." Also I wasn't going to have a job in 90 days! But Rob was really happy where he was and the idea of going to a start-up for him was pretty crazy. It is risky, and all of the people who started working for Canonical had experience with dotcom companies. Mark said a lot of things that made us trust that he wasn't going to do silly dotcom things: he was going for a low burn rate, he was going to concentrate on the core ideas of what we were doing, and the commercial side of it he wasn't just some sugar daddy, he was very, very involved.
He got the cream of the Debian crop. The last four releases and the growth that Ubuntu has had in the past two years is based on 20 employed people's work and their ability to build a community.
LXF: Put it like that it does sound impressive.
JW: And in terms of commercial interest, it's grown... our business models were already on year two, even though we were only one year in. So many people looked at the model, what it was like even the very first preview release we did, people just said, "That's it, that's what I've been looking for." LXF