The Official Ubuntu Book, 2e: The Ubuntu Community
Teams, Processes, and Community Governance
COMMUNITY IS A WORD OFTEN used in discussions of Ubuntu. Early articles about Ubuntu bore subtitles asking, "Would you like some community with that?" The earliest press releases and communiqués from the project emphasized a "community-driven approach" to operating system development and distribution. Also, the highest-level governance board in Ubuntu is called the Community Council. Canonical Ltd. employs a full-time community manager (Jono Bacon, one of the authors of this book). And we made a very conscious decision to dedicate an entire chapter of this book to describing the Ubuntu community. In fact, both the first and second editions are dedicated to the Ubuntu community!
Still, while the Ubuntu community is important, it is not always easy to succinctly describe it. Ubuntu is, in large part, developed and funded by Canonical Ltd. The community, almost by definition, extends far beyond Canonical Ltd. The Ubuntu project has members and self-declared activists (Ubunteros), but the Ubuntu community is more than even those with such explicitly declared relationships. The project contains a wide variety of different venues for participation. But while the community is active in each of these areas, its scope is even wider.
The Ubuntu community is the collection of individuals who build, promote, distribute, support, document, translate, and advocate Ubuntu—in myriad ways and in myriad venues. Most people in the Ubuntu community have never met, talked with, or heard of each other. Members of the community are linked by their contributions, both technical and nontechnical, and by Ubuntu itself. These contributions have built Ubuntu as a distribution, as a social movement, as a set of support infrastructures, and as a project. In short, they have built Ubuntu as a community. While any active software development project has a number of people making contributions, not every project has a community.
Community is also a term that represents a promise by the Ubuntu project to remain inclusive. The focus on community means that volunteers are not only welcome but also essential. It means that Ubuntu is a "place" where individuals can come together to create something greater than the sum of its parts. The word community gives a nod to the fact that while much development work is paid for by Canonical Ltd., and while some people contribute more hours, more effort, more code, more translations, more documentation, or more advocacy work to Ubuntu than others, no individual or subgroup can take credit for everything that Ubuntu has become. In Ubuntu, no contribution is expendable. Having a community also reflects Ubuntu's goal to provide a low barrier for entry for these contributions. Anyone who cares about Ubuntu can contribute to the project and can, in whatever ways are most appropriate, become a participant in the Ubuntu community.
This chapter will provide a bird's-eye view of the venues and processes in which the Ubuntu community is active. First, it takes a tour through the venues through which the Ubuntu community communicates. It continues by looking at the way the community is organized and the processes by which that organization works. Finally, it walks you through the ways you can participate in the Ubuntu community and contribute to its success.
As we described in Chapter 1, transparent and public communication was an early goal of the Ubuntu project. Technical and community decisions are made publicly and are accessible to all interested parties. When this is impossible (e.g., when there is a face-to-face meeting and it's simply not possible for everyone interested to attend), the community attempts to publish summaries and minutes and to provide avenues for feedback. Ubuntu contains no "member only," "developer only," or "decision maker only" back channels except to preserve individual privacy or security—and the Ubuntu community refuses to create them. All work in Ubuntu occurs in places where everyone can view the work and anyone who agrees to engage constructively and respectfully can participate.
Of course, this activity is public only to those who know where to find it. This section tries to document the venues for communication in Ubuntu as completely as possible. It describes the places where discussions of development, support, and advocacy take place. While nobody can engage in communication in all of the venues described, knowledge of what exists allows participants to be more informed when they need to choose the right place to ask a question or to make a suggestion.
The single most important venue for communication in Ubuntu is the Ubuntu mailing lists. These lists provide the space where all important announcements are made and where development discussions take place. There are, at the time of this writing, 154 public e-mail lists. This number is constantly growing—there were less than half as many a year ago.
An up-to-date, full page of mailing lists for Ubuntu can be found at http://lists.ubuntu.com/, where users can see a list of available mailing lists, view archived discussions, and subscribe to lists through a Web interface.
Lists are one of the oldest forms of communication by e-mail. A mailing list provides a single e-mail address that, when mailed to, will then relay the received message to a large number of people. In Ubuntu, lists are topical, and individuals can subscribe to a mailing list if they want to receive information on the list's topic. All mailing lists at Ubuntu are hosted at lists.ubuntu.com. If you would like to send a message to a list, simply e-mail <mailing list name> @lists.ubuntu.com, replacing <mailing list name> with the name of the list you are trying to mail.
With a few exceptions (e.g., the e-mail lists for the Technical Board or Community Council), anybody can subscribe to any Ubuntu list. In most cases, the capability to send e-mail to lists is restricted to list members (membership in lists is, of course, open to anyone). This means that all e-mail sent to a list from someone who is not a member of that list is put into a queue to be reviewed by a human moderator before it is broadcast to list members. This is done as an antispam measure. Users can subscribe to lists and then configure the system to never send e-mail. For several e-mail lists, all messages are moderated. This is largely to ensure that lists remain "low volume" or "announcement only."
Ubuntu's mailing lists are run by the popular Mailman software, which may be familiar to some users. Mailman makes it simple to subscribe to lists, to unsubscribe, and to configure any number of options about mail delivery. One popular option is to receive a daily digest of messages rather than a separate e-mail each time a new message is sent. This is all available through a Web interface at http://lists.ubuntu.com. Users can also subscribe to lists by sending an e-mail with "subscribe" in the subject line to <mailing list name>-REQUEST@lists.ubuntu.com.
While each list plays an important role in the Ubuntu community, the following central lists warrant a little more detail. You might find it a good idea to subscribe to them.
This fully moderated list relays all important announcements for the Ubuntu project and usually contains less than one e-mail per week. It is the first place where new releases are announced and where other important information can be found first. If you use Ubuntu, you may want to consider subscribing to this list. If you only subscribe to only one list, this should be it.
This fully moderated list contains announcements related to the development of Ubuntu. It is low volume and contains one to three e-mails per week. If you work with code in Ubuntu, use a development release, or contribute on any technical level, you should be on this list. If you are at all involved in development for Ubuntu, this (in addition to ubuntu-announce) is the list you must subscribe to.
This is a primarily support-oriented list for questions and answers that Ubuntu users have. It is a very high volume list, but it is an excellent place to ask questions and have them answered. It is a useful general-purpose list for discussion of any issue that pertains primarily to using Ubuntu.
This list is the primary open list for general-purpose discussion of Ubuntu development. If you are looking to contribute to Ubuntu in any technical way, you should subscribe to this list and begin to follow the discussion. The list has a relatively high volume of e-mails.
This list is a moderated list for discussion of Ubuntu. While subscribing remains free, posting to the list is restricted to those who are Ubuntu developers or chosen other developers. Others may post, but all posts are checked by a moderation team.
The sounder list is the unmoderated community chitchat list. Sounder is the collective noun used to describe a group of Warthogs and was initially the e-mail list that supported the small, invite-only group of users who tested the Ubuntu 4.10 Warty Warthog release before it was announced to the world. The list has been kept for historical reasons under the old name but now provides a venue for discussing anything that is off topic in the other venues. It frequently hosts discussion of Ubuntu news, events, advocacy, and activism and is an important list for any community member who is participating and contributing to Ubuntu in less technical ways.
Internet Relay Chat
While mailing lists provide the primary venue for asynchronous communication (i.e., not at the same time), there is still an important need for synchronous, or real-time, collaboration. Internet Relay Chat (IRC) fills this niche. While it was designed primarily for group (i.e., many-to-many) communication in channels, it is also equipped with private messaging capabilities that facilitate one-to-one communication—all instantaneously. It is very similar to instant messaging or chat room communication. While time zones and a round globe make it difficult for the global Ubuntu community to meet at the same time, many users and developers take advantage of IRC's capability to let anyone chat about an issue in real time or to ask a question and have it answered immediately.
Like mailing lists, IRC channels provide a venue for a variety of different types of communication in a variety of different subcommunities in Ubuntu. There are many different channels, including channels in a variety of languages.
All official Ubuntu IRC channels are located on the FreeNode IRC network, which also hosts a range of other free and open source software projects. Users can connect to IRC using several pieces of software in Ubuntu, including Gaim, XChat (Figure 8-1), or IRSSI. Like the ubuntu-users e-mail list, #ubuntu is designed for help and support. When joining any channel, users should carefully read the topic as many frequently asked questions are answered there, and moderators of the channel can be annoyed by users who ask questions the moderators have already taken the time to answer in the channel's topic.
Figure 8-1 XChat is an IRC client included in Ubuntu that allows Ubuntu users to connect to the Ubuntu IRC channels.
Currently the #ubuntu channel is usually the biggest channel on the FreeNode network, with over 1,000 simultaneous users at most times—and it's continuing to grow—especially around releases. Another important channel is #ubuntu-devel, which is reserved for discussion of Ubuntu development. Similarly, Kubuntu users hang out in #kubuntu and developers in #kubuntu-devel. Edubuntu and Xubuntu have similarly named user and support channels. To keep #ubuntu focused on support, all general chatter has been moved to #ubuntu-offtopic, and there are similar channels for Kubuntu, Edubuntu, and Xubuntu. Support for development releases has moved to #ubuntu+1. Maintaining channels with specific purposes has allowed the support community to stay focused and help as many people as possible. A full list of channels can be found at http://help.ubuntu.com/community/InternetRelayChat.
The official Ubuntu forums are the most frequently used venues for communication in Ubuntu. For a number of reasons, many users prefer communication through a Web-based forum or bulletin board to mailing lists. The Ubuntu forums were created to satisfy this group and have done so with amazing success. Figure 8-2 shows an example of forum use.
Figure 8-2 An open thread in the Ubuntu forums
The forums are accessible online at www.ubuntuforums.org/ and have shown an impressive amount of usage. Statistics as of the time of writing show activity of more than 2,200,000 messages on more than 360,000 topics in nearly 100 different forums. The forums also boast more than 240,000 users with thousands active at any given point. The forums have continued to grow explosively. Each of the statistics cited here is between two and four times larger than it was only a year ago. The topics discussed in the forums run the gamut. These are roughly broken down into the following categories:
- Front-line support for Ubuntu's newest users, including absolute beginners
- News and announcements
- Help in a range of areas that covers general issues, installation help, help for types of users (e.g., desktop users or those with multimedia questions), and help for users of specific types of computers (e.g., Macs, Suns)
- A variety of other support categories, including help with issues that range from accessibility, to art, to education, to using Ubuntu as a programming environment
- Discussion and support for a variety of third-party projects built on top of Ubuntu that are useful primarily to Ubuntu users or that otherwise serve the Ubuntu community
- A variety of places for community interaction, support, and help—both internal to the forums and in the larger Ubuntu community
- Forums for discussion and planning for local community teams (discussed later in this chapter) from across the world
Each of the areas mentioned includes between one and twenty different subforums, each of these containing many threads. By covering such ground, the Ubuntu forums provide an impressive support resource. They offer an excellent venue for both asking questions and answering questions, both receiving support and making important contributions to the Ubuntu community. If you are interested in any of these, the forums are a good place to begin.
The only caveat regarding the forums worth mentioning is that they are not frequently used by those developing Ubuntu—although there are exceptions to that rule. If users want to send messages directly to the Ubuntu developers, the forums may not provide the most effective tool. If users want to get involved in technical contributions to the project, they will, in all likelihood, have to augment their forums patronage with the use of mailing lists. To help mediate this issue, the forums staff has created several forums that act as two-way gateways between the forums and the mailing list. The ubuntu-users mailing list is one such list. This means that users can read and participate in the ubuntu-users mailing list using the Web by simply participating in the associated Web forum—software makes sure that messages go between the two venues. Similarly, there are one-way forums for the ubuntu-announce and ubuntu-devel-announce mailing lists. Another exciting endeavor, the forums/developer ambassador projects, is a group of volunteers who are specifically charged with monitoring the forums and the other resources and acting as a bridge for users and topics that, for whatever reason, deserve attention in both areas.
The Ubuntu forums are representative of the Ubuntu community in another notable way: They were created, and for a long period were wholly funded, by the community itself. The forums founder, Ryan Troy, had no association with Canonical Ltd. when he created the forums. He did so without help or suggestion from Canonical Ltd. or others in the Ubuntu community. Canonical Ltd. and others in the Ubuntu project recognized the extremely valuable contribution that the forums were making and the important niche it was filling, so they invited the project to become an "official" part of the Ubuntu community. To this day, the forums are moderated and maintained entirely by volunteers and are governed by the Forums Council, which currently contains no Canonical employees.
Since nearly day one, a large chunk of Ubuntu documentation and support has taken place in the official Ubuntu wiki (Figure 8-3). In case you don't already know, a wiki—pronounced "wik-ee"—is a Web site where any viewer can add, remove, or edit content. The first wiki was created by Ward Cunningham in 1995, and wikis have shown themselves to be an extremely effective tool for collaborative writing in recent years. The term is shortened from wiki wiki—Hawaiian for "quick." Many wikis have been created. Most famous among these wikis is the online encyclopedia Wikipedia, which now contains more than 1.5 million articles in the English version alone.
Figure 8-3 Front page of the Ubuntu wiki
There are several Ubuntu wikis, but two are central to the community. The first is the community support and documentation wiki at http://help.ubuntu.com/community. It is edited and directed by the Ubuntu Documentation Team and focuses on issues of community-produced technical documentation for Ubuntu. The second wiki is at http://wiki.ubuntu.com and is meant to be used for everything else. The documentation wiki can be thought of as a project to build an expansive manual through community contributions and editing. The general-purpose wiki is used for specification writing and traffic, conference organization, meet-ups, pages for teams and individuals involved in Ubuntu, and absolutely anything else that is in written form and relevant to the Ubuntu community. Both wikis can be edited, added to, or reorganized by anyone in the community who creates an account, and edits are unrestricted. Since registration is required, each change can be traced to a particular user. There are more than 12,000 pages in the general-purpose wiki. This is nearly double the number of pages a year ago. The documentation wiki, created during the past year, has grown to more than 2,000 pages.
Unlike other documentation that ships with Ubuntu, anyone can fix an error, inaccuracy, or out-of-date fact in the wiki. As a result, there is no good way to determine whether information in the wiki is correct. It cannot be subjected to the same type of quality assurance workflow that a document such as this book might be. However, it is also much more likely to be up to date in the quickly changing world of Ubuntu development, where there is a new release every six months. The wiki provides a venue for this level of up-to-date information with a low barrier to entry and, as a result, acts as an invaluable resource for the community.
The two major wikis each run the Moin Moin wiki software, and the use and operation of the wikis is identical. To use the wikis, you can either search or browse them. Searching is the most common way to get information from the wiki, and users can easily search either titles or the full text of the wiki. To achieve the best results, it is usually best to search titles and then the text to ensure that you look for more relevant information first.
For people who prefer to browse, the general-purpose wiki is explicitly divided into a number of categories that include the following:
The documentation is browsable in sections that try to serve users at different stages of familiarity with Ubuntu or with particular types of problems. The major divisions in the community documentation wiki include these:
- General help and information for new users
- Help for those switching from Mac OS X, Windows, or another Linux distribution who want a quick guide using analogies they are familiar with
- A large variety of information for people to read after they have installed Ubuntu and have questions about applications or types of use
- Information on maintaining and troubleshooting Ubuntu installs
- Help on connecting and configuring hardware
Most of these categories are relatively self-explanatory. Additionally, the general wiki provides a prominent link to information and support resources in languages other than English. The comprehensive list at www.ubuntu.com/support/local provides both links to pages within the wiki that include documentation and information in languages other than English and links to more than a dozen other wikis that are in another language entirely. Users looking for wiki pages in a language other than English are advised to visit this page.
The Fridge (http://fridge.ubuntu.com/) is the quirky community portal for Ubuntu. In many Western cultures, refrigerators provide a central sort of "bulletin board" in a family's home. Because refrigerators are magnetic, children and parents can use magnets to hang pieces of paper that they want to share with the community of people who come in contact with that fridge. For children, this often includes good grades, news reports, or other information that someone is proud of or wants to share. The Fridge, bearing the tag line, "It's cool... It's fresh... Stick it on The Fridge!" tries to create such a shared resource within the Ubuntu community. The Fridge home page is shown in Figure 8-4.
Figure 8-4 The Fridge home page
The Fridge is perhaps best described as the community portal for Ubuntu. It is part news site, part grassroots marketing and advocacy site. It hosts developer interviews, news, a picture gallery, a calendar with a list of upcoming events, polls, a list of Ubuntu-in-the-press citations, and much more.
The core content on the site is arranged as a Web log. Users frequently set The Fridge as their home page or subscribe to the site via its RSS feed. The Fridge is unique in the community in that it appeals to a wide variety of Ubuntu participants—developers, advocates, translators, users—and provides a venue where each group can share information with others. There is a story every two to three days on The Fridge, although this may increase to up to several stories a day with time. Users can comment and discuss each story on The Fridge in an associated forum in the Ubuntu forums.
Anyone can contribute content to The Fridge. If you would like to contribute, you can do so by sending your suggestions for features, articles, or even a piece of original work (such as an article, photo, or event review) to The Fridge editors at email@example.com.
Developer Summits and Sprints
While the vast majority of the work of the Ubuntu community takes place online, Ubuntu developers do, from time to time, meet face to face. Since Ubuntu was first released, there have been several public developer summits and sprints organized and funded by Canonical Ltd.:
- The Mataró Sessions in Mataró, Catalonia, Spain, in December 2004
- Ubuntu Down Under in Sydney, Australia, in April 2005
- Ubuntu Below Zero in Montreal, Canada, in November 2005
- The Ubuntu Asia Business Tour, through Asia, in January and February 2006
- Ubuntu Developer Summit Paris, Paris, in June 2006
- Ubuntu Developer Summit Mountainview, Google Headquarters in Mountain View, California, in November 2006
With Canonical Ltd., Ubuntu tries to organize these meetings so that they occur once per release, usually toward the very beginning of a release cycle, so that the specifications and goals for the forthcoming release can be discussed, thrashed out, and decided upon. These meetings move around the globe geographically so that, over a several-year period, a large percentage of the Ubuntu community will be able to attend at least one summit and meet with other developers.
While the format changes slightly each time, these meetings have been between one and two weeks in length. Frequently, a given attendee stays for only one week. At Ubuntu Below Zero, the second week was devoted almost entirely to discussing, implementing, and developing infrastructure related to Launchpad (see Chapter 9). The format of these summits has changed as the attendees have experimented with different methods for structuring the events and maximizing the efficiency of these short periods. One common theme, though, is a process of writing specifications.
At developer summits, attendees describe features that they would like to see in the next Ubuntu release. At an arranged time or in a series of meetings, a small set of interested users and developers works to draft a written specification. This process of drafting involves brainstorming and ends up with a formal, approved spec that describes a problem or need and provides a detailed description of how it will be fixed or implemented. While these specifications are often technical in nature, they are also used to describe goals that may pertain to localization, documentation, or community building. For example, both The Fridge and the planning of each summit began as a specification. With time, these specifications are categorized in terms of priority for the upcoming release. Later, individuals will claim or be assigned some set of these specs. Paid developers at Canonical Ltd. frequently take responsibility for the highest-priority technical specs. Each specification is written up and improved on the wiki so that Ubuntu hackers who cannot attend the summit are still able to participate.
These conferences have, so far, occurred in hotels with conference centers and have been attended by up to several hundred people. The exception was the most recent summit, which was graciously hosted by Google. The meetings have been wholly organized and funded by Canonical Ltd., which ensures that its employees attend and also distributes funds for other active volunteers to travel. This funding tends to be divided up based on the contributions of volunteers over the last release cycle and their geographic proximity to the summit location. This is done to minimize travel expenditures and to ensure that users around the world get a chance to attend a conference when it comes near them.
In addition to the biannual summits, Canonical Ltd. organizes a number of sprints each year. These sprints tend to be one- to three-week intense collocated work sessions that involve a team or subteam tasked with a well-defined goal. They provide a time when team members can write code, write documentation, make plans, or do whatever else is necessary to fulfill that goal. The sprints attempt to squeeze large amounts of work into a short period of time and have earned a reputation for being exhausting, fulfilling, amazingly productive, fun experiences. These sprints are work sessions and are often limited to a small group of Canonical Ltd. employees. In many situations, they also include volunteer attendees as well.
Developer summits and sprints are effective but are primarily of interest to technically minded people or individuals who are already very actively involved in the Ubuntu community. Their goal is to accomplish work through high-bandwidth face-to-face interaction among existing teams. User conferences try to provide an alternative space for users who are not yet actively involved in the community. These conferences attempt to bring people up to speed on Ubuntu and to provide a space for community building, support, and networking.
While many local community teams have regular meetings and their own Ubuntu events, there have been two larger-scale Ubuntu user conferences to date, and several more are currently being planned. The two conferences so far have been laid-back, lightly organized, day-long "unconferences" called Ubucons (short for Ubuntu Conferences). Ubucons have been held twice, both times at Google headquarters, in Mountainview and in New York City, and have been planned to coincide with the much larger Linux World conferences that many other Ubuntu users attend. The unconference format means that much of the schedule is left up in the air until the morning of the meeting and that many of the attendees are encouraged to come prepared with their own demonstrations, talks, and workshops and with a list of things they would like to learn. Attended by a group of about a hundred users and a handful of developers, Ubucons have provided a simple way for users to connect with each other. Additionally, Ubucons have, to date, also provided space for "installfests" where users can bring computers and have Ubuntu installed on their machines by other Ubuntu users, developers, and aficionados.
Any active group of Ubuntu users can plan a Ubucon, and there are several Ubucons currently being planned for a variety of locations around the world. A new project, aimed for the summer of 2007, is Ubuntu Live, which will be a larger, more traditional conference for users and businesses interested in Ubuntu and will occur alongside the popular Open Source Conference (OSCON). Ubuntu Live will be organized by Canonical and O'Reilly, the latter of which organizes several of the most well attended and professionally produced conferences in the free and open source software world.
While conferences and summits act as a site for major technical advances in brainstorming and development, they are also fun and enjoyable experiences. They provide a venue for users to put faces to names, IRC nicks, and e-mail addresses, and they provide for enjoyable, humorous, and productive interaction. In addition to work, there are frequent card-playing, eating, drinking, and athletic activities. Many Ubuntu users from the local area who've attended because they were curious have gone on to become some of the community's most important contributors. Attending a conference is like taking a drink from an Ubuntu fire hose. It is frequently overwhelming but can ultimately be a useful, productive, and rewarding experience as well.
It is hardly surprising that most of the Ubuntu community is highly geared toward gathering and distributing information and communication about Ubuntu. Of course, before the Ubuntu community is a group of people working on the project of building, supporting, and spreading a GNU/Linux distribution, it is first a group of people. For the Ubuntu community to really feel like a community, its members should have some idea of what other members are up to—both in their Ubuntu work and in their lives that extend beyond Ubuntu.
Planet Ubuntu (http://planet.ubuntu.com) tries to capture this element of the Ubuntu community (Figure 8-5). Planet is a Web log aggregator and can be thought of as a blog of blogs. Planet retrieves the latest journal or blog entries from Ubuntu members who have chosen to add their content to the system and then publishes a single blog that includes, in reverse chronological order, all of the latest entries. Much of the content in Planet Ubuntu is about Ubuntu. Sometimes this is because members choose to include only those entries that directly pertain to Ubuntu. Others publish everything from their lives, including things that may not directly pertain to the project. Often, the content also includes information from the personal lives of community members so that the community knows what its members are up to. In this way, Planet provides a good way for participants to put their stamp on the Ubuntu community—both technically and nontechnically.
Figure 8-5 Planet Ubuntu