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 800×480 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.