The Official Ubuntu Book, 5th Edition: The Ubuntu Community
- Teams, Processes, and Community Governance
- Getting Involved
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 early editions of this book). And we made a very conscious decision to spend an entire chapter of this book describing the Ubuntu community. In fact, every edition has been 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 provides 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, more than 300 public e-mail lists. This number is constantly growing.
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 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 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. This is the list that everyone involved in development for Ubuntu is expected to read.
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.
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 Pidgin, XChat-gnome (Figure 7-1), and 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 7-1 XChat-gnome is an IRC client 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 over mailing lists. The Ubuntu forums were created to satisfy this group and have done so with amazing success.
The forums are accessible online at ubuntuforums.org and have shown an impressive amount of usage. Statistics as of the time of writing show activity of more than 8 million messages on more than 1 million topics. The forums also boast more than 1 million registered users with around 10,000 online at any given moment. The forums continue to grow explosively. The topics discussed in the forums run the gamut in categories like these:
- Support discussions, including spaces for questions about specific hardware (e.g., Dell computers with Ubuntu preinstalled, or networking and multimedia cards) and specific use cases (e.g., desktop or server users)
- Ubuntu community discussions, including spaces for discussions by people working on art for Ubuntu, those working in science and education, and those developing new documentation and tutorials
- Forum-specific community discussion spaces, including several social spaces and places for administrative and community governance discussions
Each category includes subforums, each containing many threads. Many of these forums provide important spaces dedicated to important community discussions, including:
- A forum to highlight community announcements and news
- A discussion area for 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
- Forums for discussion and planning for local community teams (discussed later in this chapter) from across the world
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 or Launchpad.
The forums were founded by and are moderated and maintained entirely by volunteers and are governed by the Forums Council, which currently contains no Canonical employees. You can find out more in Chapter 11, "Introducing the Ubuntu Forums," dedicated completely to this wonderful resource.
Since nearly day one, a large chunk of Ubuntu documentation and support has taken place in the official Ubuntu wiki. 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 2.3 million articles in the English version alone.
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 (Figure 7-2). 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, meetups, 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.
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.
Figure 7-2 Front page of the Ubuntu community support and documentation wiki
For people who prefer to browse, the general-purpose wiki is 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 tries to create such a shared resource within the Ubuntu community. The Fridge home page is shown in Figure 7-3.
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.
Figure 7-3 The Fridge home page
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 firstname.lastname@example.org.
Developer Summits and Sprints
While the vast majority of the work of the Ubuntu community takes place online, Ubuntu contributors 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. Highlights include:
- The Mataró Sessions in Mataró, Catalonia, Spain, in December 2004—the first Ubuntu development summit
- The two named Ubuntu conferences in 2005: Ubuntu Down Under in Sydney, Australia, in April and the Ubuntu Below Zero in Montreal, Canada, in November
- Ubuntu Developer Summit Mountain View at Google Headquarters in Mountain View, California, in November 2006
- Ubuntu Developer Summit-L in Dallas, Texas—in November 2009, the most recent developer summit at the time of writing
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, for example, the second week was devoted almost entirely to discussing, implementing, and developing infrastructure related to Launchpad (see Chapter 10). 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 UDS-L in November 2009, the entire summit was available for people who could not attend in person to participate remotely. Remote participation enabled off-site attendees to interact via the Internet in designated IRC channels, and many of the sessions were videotaped.
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 community contributors 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 as a blueprint on Launchpad 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 2006 conference, 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 but at times may also include volunteer attendees.
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 several larger-scale Ubuntu user conferences to date, and several more are currently being planned. These conferences fall into two major classes. The first class is a set of laid-back, lightly organized, day-long "unconferences" called Ubucons (short for Ubuntu Conferences). Ubucons have been held many times, the first two at Google headquarters, in Mountain View and in New York City, and others are designed 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 Ubucons have taken place in a variety of locations around the world. For example, Atlanta Linux Fest 2009 was accompanied by an Ubucon in conjunction with the main event to test the process of piggybacking. It worked so well that in 2010, several others have permitted an Ubucon to be organized as a smaller part of their larger event. These are becoming more popular because Ubuntu users are already attending the larger events, LoCo teams can afford to organize the Ubucons because the venue costs are quite low and can usually be covered by only one sponsor, they are free events, and popular Ubuntu speakers often are already attending the larger event and are willing and happy to add some participation in the Ubucon to their schedule.
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.
For a window into the people who make Ubuntu what it is, the blog aggregator Planet Ubuntu (http://planet.ubuntu.com) is a great place to start (Figure 7-4). A blog aggregator is basically a blog of blogs that retrieves the latest posts from Ubuntu members who have chosen to add their blogs to the system and then publishes a single blog in reverse chronological order. Although much of the content in Planet Ubuntu is about Ubuntu, as a window into the Ubuntu membership, Planet Ubuntu also includes information from the personal lives of community members. In this way, Planet Ubuntu provides a good way for participants to put their stamp on the Ubuntu community and for others to see what the Ubuntu community is doing.
Figure 7-4 Planet Ubuntu