An Evening with Jeff Waugh
Jeff Waugh is an employee of Canonical Limited, the
firm behind Ubuntu Linux. In his spare time he
works on the GNOME window manager program. Jeff
formerly was the release manager for GNOME.
On November
7, 2005, Jeff Waugh was far away from his native and
current home in Australia. He was at the University of
Toronto in Ontario, Canada, as part of his
BadgerBadgerBadger tour. Jeff offered his insights
into GNOME and Ubuntu in a talk titled "Running with
Scissors". His talk was made possible by
the organizing efforts of the University of Toronto graduate
student
Behdad Esfahbod.
Before the talk started, some free stuff was
offered to everyone, including Ubuntu CDs, Ubuntu flyers, Ubuntu
stickers, a "Why Gnome" flyer and a flyer promoting
PyCon,
a Python programming language conference.
At the start of the talk, Jeff noted that the name for
the tour came from the name for the third release of
Ubuntu--Badger. He also noted that the talk would have
some problems because his laptop PC had gone missing two
days previously, and he had lost some of the more
recent changes. The laptop that he did use for the
talk had the only real virtue of being the cheapest
laptop in the store.
Regarding the GNOME desktop program, it is released
every six months at a predictable and reliable pace so
developers know deadlines a year in advance. Schedule
templates can be cut and pasted with minor
changes to keep release dates away from, for example,
Christmas, and it has become easy. It is such a pace
that Jeff noted he feels he has grown five years
in the last two. Every time a release is done, Jeff
notes, "you think back six months and think man, I'm not
going to use the last version of GNOME because it is
crap." You have four months where you can do crazy cool
new stuff and then only two months where you become
disciplined and fix bugs. Then, things open up again.
For users, unlike with Windows where everything is in
big steps, such as from NT to XP, with GNOME everything
progresses in smooth steps every six months.
About nine months before shipping GNOME 2.0, there was a
realization that "Freedom is not just for geeks". This is
the idea that over the next 50 to 100 years, technology
will be an even larger part of our lives. The rules
defined by software will rule and change our lives.
Jeff explained that Apple iPod owners already have encountered an example
of how software in a device can limit their options.
Free software is important to help defend the other
freedoms we currently take for granted. Furthermore, it
isn't only an issue for the technologists among us--which were
most of the people in the audience; rather, everyone needs
to enjoy that freedom. 99% or even 99.9% of the
population don't care about computers. This isn't a
matter of intelligence; your local doctor may be
perfectly bright but when it comes to computers, he or she simply
wants a glorified typewriter to write some letters or
whatever. This
realization comes with the understanding that people
who hang out on places such as slashdot.org or the free
software mailing lists are not a typical representation of the average
person on the street. So, the GNOME people have started to
focus on questions such as universal access, so if you
have motor difficulties or other disabilities, software still
should be usable. Likewise, it shouldn't matter what language you use
or character set you need, software should be usable. When it
comes to software, Jeff said, "it shouldn't punch you in the
face".
To illustrate this point, Jeff put up two screenshots
of dialog boxes, one from a Microsoft Windows program and
the other from a current GNOME program. The Windows
dialog box had three densely written paragraphs of
computer terms and finished with two boxes, one labeled
"Yes" and the other labeled "No". With GNOME, the developers put
verbs on the boxes, such as "Save" and "Cancel". In
other words, the user should have a pretty good idea
about what is happening simply from looking at the dialog boxes.
From here Jeff turned his attention to actual
applications under GNOME, starting with an event that
occurred at the 2004 Guadec conference in Norway. At
Guadec,
the Beagle project
was announced. The Beagle project is
a searching/indexing tool that is better than but in
some ways similar to the Apple Searchlight program.
Beagle was announced the same day as Searchlight, but
due to the time difference between Norway and the
US, Beagle hit US news outlets some six hours ahead of Searchlight. The knowledge that
Searchlight would get all the press was depressing for
all the conference people Jeff spoke to but one, who
thought it great that Beagle was six hours ahead. Do
keep spreading the idea that free software is six
hours ahead.
Beagle is implemented with Mono, a .NET type stack.
Mono has connections to GNOME and lets you develop
software in a high-level language without having to
worry about things such as buffer overflows, "and other
things that make programmers cry."
So, all sorts of cool things have been turning up in
Mono, including
Tomboy. Jeff loves to
refer to Tomboy as "your sticky wiki friend", a
definition that the program's author Alex Graveley
hates. Tomboy combines the ideas of sticky notes and
wikis in a way that lets you write short notes and then
link them together, like a wiki, and then lets you
search, spell check and share what you have done.
The program has game integration, so if you want to
know if someone is on-line playing a game, you can find that out. You
also can drag e-mails into the system.
F-Spot is a
photo management program sort of similar to iPhoto but much
cooler. F-Spot was written by Larry Ewing, the man who
drew Tux the penguin. Larry works for Nat Friedman and
Miguel de Icaza at Novell, who have money to throw
around at things like high-end digital cameras.
Jeff then noted that Nat and Miguel like to take
thousands of images at conferences. So, Larry was
given the task of writing a program that could take
that sort of abuse. A neat feature of F-Spot for Jeff is
the way the program can track when your pictures were
taken and show that on a graph. So if you are the sort
that only takes pictures at conferences, it becomes
easy to locate images. Also, the program offers things
such as image cropping and red-eye removal, and it keeps
track of changes so you can undo them.
Returning to Beagle, sort of, Jeff asked the audience
how many people had seen Dashboard. The idea behind
Dashboard is to provide contextual information as you
do things. So, if a friend sends you an instant
message about a ski trip, Dashboard pops up a
window linking to ski trip related e-mails and other
ski trip related information. It later was discovered, however, that a
solid indexing system was needed to
make Dashboard work well, which is where Beagle
comes in. So for now Dashboard is sitting off on the
side as Beagle is being developed. Beagle indexes absolutely
everything on your system--e-mails, contacts, instant
message conversations, Tomboy, everything.
Next, Jeff turned his attention to the
Galago and
Telepathy
projects. Galago is a presence infrastructure program
that lets you see, in your e-mail program for
example, if your boss is on-line. Then, rather than e-mailing him/her,
you could say instant message them. Telepathy's goal is to provide the backend
infrastructure for Galago, allowing things such as SIP and
other real-time connections.
Part of Galago and Telepathy comes from getting
beyond questions of windows, menus, icons and
pointers and focusing on the things people really care
about. In Jeff's view, these things are people, events,
documents and sex. When questions of when GNOME 3.0
will be released arose, people have suggested it was a
stupid idea. So Jeff came up with TOPAZ, taking the
first letters from Three Point Zero and inserting some
vowels. TOPAZ is not planned for release at this time.
One of the people involved in VMware, Alex Graveley, also is
involved in Galago. He also wrote Tomboy. This
explains why, strangely enough, VMware looks exactly
like the rest of the desktop. The user interface for
VMware is written in gtkmm, as is GNOME, and the developers
tried as much as possible to comply with the GNOME
human interface guidelines. So, even though VMware is
proprietary software, it integrates beautifully with
GNOME.
Another point that GNOME is focusing on to be relevant in
the enterprise is to make life easier for system
administrators. Sabayon
allows you to set up one desktop on which Sabayon records the changes
sysadmins make to their own desktop, OpenOffice.org, Firefox
installations. Then, they literally can ship it out to the other users'
desktops--a system administrators dream.
When it comes to GNOME, Jeff noted that "the basic
desktop is done". Yes, there is a lot of tweaking to
do and applications still need to be written, but the basics
are all there. What still needs to be done is top-to-bottom
integration. For example, work needs to be completed on the
GNOME volume manager, which reacts to things being plugged into
your system and lets you change how your system reacts. If you
plug in a USB memory key, for example, the system pops up a
window with the contents of your USB key. Or, if you
plug in a digital camera, the system pops up a program
to download pictures, as that is normally what you want
to do when you plug in a camera. In other words, the system
automatically does what you were about to do anyway.
Likewise, the network manager will adapt based on the
local network. So, if you're connected to a wired
network, it knows one collection of settings. If you then
unplug from the wired network and go wireless, a second
set of settings take effect. If you then take your laptop down
to the local pub, another set of wireless settings
automatically takes over.
Now picture some righteous hardware, a machine small
enough to fit in your pocket, with a beautiful 800x480
screen, Wi-Fi, Bluetooth, a music player and heaps of
storage so you can store a lot of music. Now imagine
the machine being totally open, so you can write
software for it. Such a machine exists, the
Nokia
770.
Applications that have been ported to the Nokia 770
include Opera, Doom, Abiword and Gnumeric--"pretty
much anything that's GTK+ or GNOME and doesn't look
completely crazy on a relatively low resolution
screen". The whole thing is built on GTK+ and GNOME
technology. The development Web site is at
www.maemo.org. Nokia sells
a developer's kit to approved developers for $99 US, and the
purchase price is donated to the GNOME Foundation.
Passing mention also was made of some of the companies
doing interesting things with GNOME, including
Imendio, openhand and
Fluendo.
A big product for Fluendo is Gstreamer, a multimedia
framework unlike anything else. Gstreamer works with a bunch of
plug-in modules and an arrangement where you can set up
paths between those modules. So you can start a video
file, split the audio and video, pass the audio though
a module to make it sound like an old record player,
pass the video though a module that pixelizes--so
you can't make out the person--and recombine the audio
and video into a Ogg Theora file. All of this is
ambitious, crazy and working pretty well now. To
follow up on Gstreamer, the Fluendo people created
Flumotion, a streaming media server that lets you easily
share the videos you have created.
The Flumotion software was used at
linux.conf.au 2005.
Video cameras were set up
in each of the conference rooms, and the video was fed
into a server running Flumotion. That in turn fed
a rotating video cube in the conference center lobby.
The bad thing about this was a lot of people just
stared at the cube and didn't go to the talks.
Continuing on, Jeff noted Diva
and PiTiVi, two video-editing
programs that build on Gstreamer. These two programs
are not yet ready for Dreamworks, but GNOME is.
Istanbul is a program
that lets you take video screenshots. It's great for
demos or tutorials, but Jeff noted how he is now
afraid that he will be seeing 55MB bug reports.
Annodex, although not GNOME
specific, is "very cool, very much on the bleeding
edge". Annodex wants to take what we take for granted with the
Web and apply it to video. So, things such as being able
to jump into specific parts of a video, index the
video and so on, would be possible. Furthermore, users would be able to link between
videos, so if you're watching one video, you can click on
something else and be seamlessly shifted to
another server.
Ubuntu
Ubuntu is "Linux for human beings". Jeff joked that
the word Ubuntu actually is "an ancient African word for I am
sick of compiling Gentoo". Actually, it means "I am,
because we are", kind of like karma.
Ubuntu has been out since September 2004, and Jeff
laughs when he gets e-mails from people saying
things like, "I have used Ubuntu for the last four
years and love it.".
But isn't Ubuntu just another distribution? Jeff's
answer is no, because of the Ubuntu commitment: "Ubuntu will always be
free of charge, and there is no
extra fee for the enterprise edition. We make our very
best work available to everyone on the same free
terms." Ubuntu comes with full commercial support. New
release are supported with free security updates and
fixes for at least 18 months.
Ubuntu is based on Debian, comes with GNOME and Python,
and it is a best of breed fusion that just works. Ubuntu
supports x86, AMD64 and PowerPC chips.
Jeff noted
shipit.ubuntu.com, a Web site where
you can go to order Ubuntu CDs--free--simply by supplying
your name and shipping details. Each CD package comes with
two CDs, a live CD so you can try Ubuntu out without
messing up your current system and an install CD, so
if you like it is all there.
Ubuntu has an awesome growing community and already has received
awards. It also has huge forums, with over 60,000
users for on-line help. For the technically inclined,
there are the Masters of the Universe volunteers who
help maintain the Debian-based packages that the
Ubuntu staff don't.
Jeff said that with Ubuntu there is no sandpit, "we build, ship,
support together" and "there is no enterprise glass
ceiling". So, you can get involved in the Ubuntu
community as a volunteer. Or, if you prefer, you can
set up a commercial relationship with the Canonical
company.
As for structure, Mark Shuttleworth, the founder and head
of Canonical, is known as SABDFL--self-appointed
benevolent dictator for life. Normally, his word is
law. Below SABDFL are the Ubuntu members, people
who have contributed to Ubuntu; and the teams, groups
of members who are dealing with specific areas, such as
the kernel. Furthermore, there is a code of conduct that
basically requires that "everyone be nice". The technical board tries to make sure
the right technical decisions are being made.
On the other side is the community council, which deals with
community and people problems and sorts them
out. When the technical board and the community
council disagree, things are referred to SABDFL for a
decision. On the Canonical organization charts. the
level above SABDFL is "baby Jesus", which is in
essence the community as a whole.
Jeff did note two cases in which the community did stop
Mark. Apparently Mark originally wanted, given that
Ubuntu is Linux for human beings, the first release of
Ubuntu to carry a tasteful, artistic picture of a
naked woman. This caused everyone in the company and
community to offer some version of "this is a very bad
idea". So, the community got Mark to step away from
that in stages. In the end Mark backed down. The upshot of
all of this has been that the pictures used for
release versions of Ubuntu depict at least one man, at
least one woman, at least two races--and everyone is
fully clothed.
The other time Mark was overruled by the community
involved the Nautilus file manager program. When you
clicked on a folder in Nautilus, a new window would
pop up on the screen. People complained about how the
screens would become full of windows. Mark thought
it would be a great idea that when one window opened
the previous window would close. This feature, at Mark's
insistence, was shipped but caused an even greater
number of complaints, as users wanted to know why the
Nautilus window seemed to dance all over the screen.
Jeff then talked about user testing, in which a video camera is
pointed at a user and he or she is asked to perform a
specific task, such as opening a presentation file that has
the name Mark in the title. Here, if the user ends up crying in
frustration, the programmer cries as well, because if the user cries
it means the programmer has failed.
The current Ubuntu release is Breezy Badger, which was
released the end of October 2005. There is a Breezy
Badger release dance that can be seen
here.
When planning for Breezy Badger, over 200 were specs written, but
due to time constraints not all were implemented. Some
of the things that were implemented included
integrating the
Linux Terminal Server Project
into the distribution, so you can
run one script and then run inexpensive, thin
client computers off the one main box. Also included
was a clustering filesystem for high performance
computing.
Efforts were made as well to support as many name-brand
laptops off the main install disk as possible.
So, Canonical approached the various laptop
manufacturers asking for laptops in exchange for them
making sure that Ubuntu would work on as much of their
hardware as possible. Canonical got free laptops, with
machines going out to selective members and to the
head of hardware testing, Matthew Garrett. Apparently Matthew no longer
likes getting deliveries, as he now has
a table covered with laptops. The interest in laptops is driven in part
by the fact that laptop sales are overtaking desktop
sales, and Ubuntu wants to support what people are
buying. So, there is great support for HP and Dell
laptops and not so much for Toshiba laptops.
Ubuntu also comes with an original equipment
manufacturer OEM installer. OEMs can create one master
hard drive that can be copied to hundreds of
thousands of laptops. A machine prepared with the OEM
installer, when booting for the first time, asks
the user a few questions about language preferences,
location and passwords. This is great
for OEMs, because they can put in their own branding on
the install, Flash, DVD, MP3 software and more, and a user
gets a great experience out of the box. And, about three hours after Breezy
Badger was released, a German company was selling
Thinkpads using the Breezy OEM installer. So people
want to do this. With the large vendors, though, it can
be a bit harder. HP is selling laptops with Ubuntu,
but only in Europe.
Canonical wants to make it easy to re-brand,
re-target and re-purpose the operating system for your
purposes. This already is happening with three
projects. There is
Kubuntu,
which takes out all of the GNOME desktop software stuff
and replaces it with the KDE desktop software.
Edubuntu is a version of
Ubuntu tailored for the educational market. Xubuntu is
an effort to bring Ubuntu to older hardware that can
not support the GNOME or KDE desktops, so it uses XFCE.
The live CD was made easy to modify. Simply copy the CD
on to the hard drive, and then standard tools such as
apt-get can be used to modify the CD image.
Commercial vendors that adapt Ubuntu for their
purposes include Guadalinex in Spain, as well as Impi Linux,
a South African Kubuntu variation.
In Jeff's view "bugs are good", because it means that
people are using your software and the software is
getting better. The problem with bugs is that things get lost between
distributions. As an example, a GNOME clock program
that kept track of time in different time zones had a
bug that Sun found. Sun fixed the bug in its release
of GNOME, but the fix didn't go upstream, so it kind of got lost. This sort of thing happens all the
time, little problems that get fixed in
one place but don't seem to go everywhere the way they
should. This is where Launchpad and
the Malone project
come in to play. With Malone the goal is a distributed bug-tracking program,
so if a bug gets fixed in one place it gets fixed
everywhere.
Another Launchpad tool is
Rosetta,
which aims to make it much easier to translate open-source software into
multiple languages. The old way of handling
translations is to programs such as Emacs. But such programs are not
the first choice of most people who are fluent
in multiple languages but who would love to help get
open-source software in their native language. Rosetta
aims to make it easier for translators to work by
offering a Web interface. The hope is that Rosetta will have translation
memory in the near future so that commonly
translated things, such as file menus, will not have to be
translated yet again. Jeff noted that a group of
people in Wales forced Microsoft's hand by translating
GNOME, OpenOffice.org and other open-source software into
Welsh. Their efforts caused Microsoft to notice a whole country that was
using open-source software because the people could get the
software in their own language.
Future projects for Canonical include making it easier
to launch your own distribution by automating the
re-brand, re-purpose, re-target tasks. Canonical wants to make it
possible for you to say I want this, this, plus this for
a small footprint machine--such as the Nokia 770--and the
system automatically builds CDs for you.
Jeff then turned his attention to Bazaar, a distributed
revision control system. Revision control systems
allow you to keep track of changes made to a
file or to related files. Then, if there is a problem later on, you
easily can revert to earlier versions of those files. A
problem with conventional revision control programs, including
CVS and Subversion, is you need to have permission
from the revision control system owners before you can go in
in and make changes. With a distributed revision program, however, you
don't have to ask. Instead, you can download a full copy
of the system and start making changes to your own
local copy. When you are done, you can upload all of
your changes to the main system. This is great when you
are on an aircraft with a laptop and otherwise cut off
from the rest of the world; you can roll back and/or edit
to your heart's content. The early distributed revision control systems, such as
Arch were difficult to use,
something Bazaar addresses (see below).
Another problem with conventional revision control
systems is that branching is scary. Bazaar, however, assumes
that branching will happen often and therefore makes
it painless. For example, say you have a software
bug. You branch the software, work on fixing the bug
and then merge the bug fix back into the original
code, painlessly.
Currently under development is Bazaar 2.0, which
started as a research prototype written in Python. It is,
in the words of its author Martin Pool, "a
tasteful composite". The original Bazaar was based on the Arch revision
control system, which had a poor user interface and an
upstream maintainer who the staff at Canonical found
difficult to deal with. The staff was having problems with the original code
in Bazaar, and the work of Martin Pool was
available, so the decision was made to move to the 2.0
version. More information about Bazaar can be found
here.
A goal for Bazaar 2.0 is to be able to have the
current versions of all open-source projects used by
Ubuntu automatically imported into Bazaar. This way,
Ubuntu users always will be able to have the
latest version of any software application ready available.
At the moment, over 500 packages are being imported, and
more are coming.
To sum up his talk, Jeff asked for "a moment of
indulgence", noting that the audience included "architects of freedom,
people who are building tools that will ensure that we have freedom over the next 50
to 100 years". Also in the audience were early
adopters of freedom, so everyone in the audience was
an opinion leader--people who will spread these ideas to
the rest of the world.
After the talk a significant number of attendees
went to a nearby pub to talk further. This meant
I briefly was able to meet fellow Linux Journal author
and University of Toronto student
Sacha Chua. After
disparaging comments were made about some mass-market
Australian, Canadian and American beers, talk drifted
on to other topics.
I asked Jeff about Canonical, and he noted that the company
is not yet profitable. The biggest expense for Canonical right now is
shipping the free Ubuntu CDs. After an extensive search,
Canonical found that--for reasons that are a
mystery to Jeff--the cheapest place to get the CDs made
was in the Netherlands. Canonical has few
employees, thus the money "burn rate" is low. And,
only about four non-technical people are on
staff. Also, to save money, all Canonical employees work from
home. For tax purposes, Canonical is registered on the
Isle of Man.
Canonical is focused on professional services. Part of
these services includes a new partnership
program, in which Canonical provides third-level
support to consulting firms and system integrators. In
other words, the company is trying to create an ecosystem that
would see everyone making money.
Colin McGregor works for a
Toronto area charity, does consulting on the side and
has served as President of the Toronto Free-Net. He
also is secretary for and occasional guest speaker at
the Greater Toronto Area Linux User Group meetings.