Users can participate in the Ubuntu community on a variety of levels and in a multitude of ways. The following subsections, adapted largely from a page with links to relevant resources online on the Ubuntu Web site (www.ubuntu.com/community/participate), provides a good list of ways in which people can get a running start in the Ubuntu community. An expanded but unofficial list appears at http://wiki.ubuntu.com/ContributeToUbuntu. Both lists are broken down into the major ways to get involved.
The easiest way for someone to contribute to the Ubuntu community is simply by telling others about Ubuntu. Advocacy frequently occurs in a variety of ways. One good method involves joining or starting a LoCo team. LoCos, described earlier in this chapter, provide a method through which you can get involved in Ubuntu activities. If users do not have a LoCo and do not have the critical mass of users to start one, they might help build support by giving a talk about Ubuntu to a local Linux User Group or other technical group. Advocates can also order CDs at no cost and can distribute them. Through these and other means, advocacy provides a great way to spread the word about Ubuntu and offers a low-barrier opportunity to make contributions to the community.
One of the most meaningful ways that users can contribute to Ubuntu is by helping others use the software. Users can do this by joining the support-oriented mailing lists, IRC channels, or forums, as described in detail earlier in this chapter. By responding to requests for help in each of these venues, users can help other users get up and running on Ubuntu. Even if users are themselves beginners, the knowledge they gain in solving even simple problems enables them to help users who run into the same issues.
Ideas and Feedback
Another way to contribute to Ubuntu is by helping steer the direction of the project by describing a vision or providing ideas. This can be done by participating in discussion and brainstorming sessions at conferences and on the Ubuntu wiki. By monitoring specifications as they are written and creating feedback, especially at early stages, users can make meaningful contributions. However, users contributing ideas should remember that talk is cheap. Users are wise to work with others to help turn their visions into reality.
When a user is stumped by a problem, chances are good that other users will also be frustrated by it. If users are not in a position to write code to change the situation, they may be able to help others by writing up their experiences and documenting the solution. Ubuntu has a vibrant documentation team and community, and writing documentation is a great low-barrier way to make meaningful contributions to the Ubuntu community.
Users aiming to contribute to Ubuntu's documentation would be advised to take notes as they puzzle through problems and to document solutions when they find them. Before writing, users should also check to see whether documentation for a particular problem already exists. When it does, users would be wise to choose to improve or augment existing documentation rather than write a new document. Similarly, users can also make meaningful contributions by reading through existing documentation and fixing factual, technical, stylistic, spelling, and grammar errors. Users who spend a large amount of time working on documentation may, with time, also want to join the Ubuntu Documentation Team, which can help organize and coordinate this work in terms of Ubuntu documentation goals.
For those users who feel that their strengths are primarily artistic, there are many ways to improve the style and feel of the Ubuntu desktop through wholly artistic contributions. For example, Ubuntu is always in need of new ideas for wallpapers, icons, and graphical themes. Inkscape, similar in many respects to Adobe Illustrator, is a great piece of free software in Ubuntu that proves useful for this type of work. As with documentation, there is an Ubuntu Art Team that helps coordinate artistic work within the Ubuntu community.
Translation and Localization
The discussion of LoCos should have already made it clear that translation is a great way that anyone with a firm understanding of English and another language can contribute to the Ubuntu community. Translation through Rosetta (described in Chapter 9) allows users to translate as little as a single string or as much as an entire application. Through its easy interface and Web-based nature, it provides a low-barrier road to contribution. Serious translators should join a local community team and the ubuntu-translators mailing list so that they can stay in touch with other Ubuntu localizers.
Quality Assurance and Bugs
Quality assurance (QA) is something for which many companies hire special engineers. In Ubuntu, the Development Team relies on itself and the community to test software before it is released to let developers know about problems so that the bugs can be squashed before the vast majority of users ever see it. To test software, users merely need to upgrade to the latest development version of Ubuntu and to upgrade regularly. When users helping out with QA find bugs, they should report them in the Ubuntu bug-tracking system, Malone (see Chapter 9). They can also help by "triaging" bugs, closing or merging duplicates, or verifying bugs and adding information to a bug's description. If you intend to become involved in QA, you should subscribe to the ubuntu-devel-announce mailing list, and you should consider monitoring ubuntu-devel as well.
Programming and Packaging
The final way that users can contribute to the Ubuntu community is through the production of code. Because Ubuntu is free and open source software, users can get access to every piece of software that Ubuntu supports. This allows users to package additional software for inclusion in Ubuntu, to fix bugs, and to add features. Developers, like people testing software, should subscribe to the ubuntu-devel-announce mailing list and should consider monitoring ubuntu-devel, too. The best way to begin making contributions is then through the MOTU team as a MOTU hopeful, as described earlier. Users can also look through a list of specifications to find a project that they find personally interesting. In some situations, there are even bounties available—small amounts of money offered to those who fulfill a small feature goal that has remained unfilled for some period of time.