If you want to help shape and improve Ubuntu, there is a lot of ways to help out!
If you only have a little time, please see EasyWaysToHelpUbuntu for how to help Ubuntu in 30 minutes or less!
Chances are that you are not the only person in your city, region or country who is using Ubuntu. You can help to make Ubuntu better for people in your area by helping out local Ubuntu users or translating the Ubuntu software and documentation to your local language.
Converting friends to use Free formats, Free software, GNU/Linux, and of course, Ubuntu is something that you should know how to do properly. It is of course a very effective way of getting Ubuntu out to more people but you must be careful of your actions not only to increase your rate of success, but to prevent any problems that could damage your, or Ubuntu's, image.
if you want to meet other Ubuntu users in your area, you should look for a Local Ubuntu Community team (LoCo team for short) to join. There are LoCo teams spread out all over the world, and you can find a list of all of them here. If there isn't a LoCo team near you, you can start a new one! Just follow the instructions on the wiki.
Read the LoCoTeams wiki page.
Join your local LoCo Team mailing-list and IRC channel (details can be found on the LoCoTeamList wiki page)
If your home language is not English but you happen to have really good English skills and are comfortable using software in English, you help to translate the Ubuntu applications and documentation into your native language. Ubuntu uses the web-based Rosetta translation system which makes it easy to translate Ubuntu applications into your language.
Join your local LoCo Team mailing-list and IRC channel (details can be found on the LoCoTeamList wiki page) to get in touch with other users in your region so you can coordinate your translation efforts.
Join the Ubuntu-Translators mailing list to stay in touch with other Ubuntu translators.
If you want to help promoting and marketing Ubuntu in a more general and coordinated effort than just through your local community team, you can join the Ubuntu Marketing Team which coordinates a number projects including a community-run Ubuntu magazine to spread awareness of Ubuntu.
Read the MarketingTeam wiki page.
Join the ubuntu-marketing mailing-list
- Join the #ubuntu-marketing IRC channel on irc.freenode.net
Help others with Ubuntu
You can make a major contribution to the Ubuntu project by helping others use Ubuntu. There are four main community support channels where you can help out other Ubuntu users by answering questions and referring them to relevant documentation:
Join the Ubuntu support mailing-list.
- Join the Ubuntu support and discussion IRC channel: #ubuntu on irc.freenode.net
Join the Ubuntu Forums.
Check the Launchpad Support Tracker for support requests for Ubuntu that you can help out with.
NB: If you prefer to help other Ubuntu users in another language than English, please refer to the LoCoTeamList for info on local language support options where you can help out.
If you are interested in making Ubuntu and its derivatives usable by as many people as possible across ages, language and physical abilities, you can help the Ubuntu Accessibility Team with improving the accessibility support on the Ubuntu platform and the software that runs on it.
Read the AccessibilityTeam wiki page
Join the ubuntu-accessibility mailing list
- Join the #ubuntu-accessibility IRC channel on irc.freenode.net
Participate on the Accessibility section of the Ubuntu Forums
If you get stumped by a problem with Ubuntu, chances are good that many other people will be frustrated by it as well. If you are not currently able to write code to fix the problem, you can help everyone else out by writing up your experience and documenting the solution! All documentation and help pages in Ubuntu are written by volunteer community members gathered in the Ubuntu Documentation Team.
Read the DocumentationTeam wiki page
Join the Documentation team mailing-list
- Join the #ubuntu-doc IRC channel on irc.freenode.net.
Edit the Wiki
You can spell check, edit or write the pages of the Ubuntu wiki. The better and more accessible the information in the wiki is, the easier it will be for people to use. You can find a list of pages in need of editing on the WikiToDo page. The Wiki is maintained by the Wiki Team - a group of active wiki contributors that edit and clean up the main Ubuntu wiki according to a community-maintained Styleguide.
Read the WikiTeam wiki page
If you have artistic talent, you can help improve the style and feel of the Ubuntu desktop by contributing to the artwork and design of the next release of Ubuntu. All of the splash screens, icons, wallpapers and sounds of Ubuntu are designed, discussed and approved by the Ubuntu Artwork team, and you can help out by examining the current approved Ubuntu artwork projects at https://launchpad.net/people/ubuntu-art/+specs and create something that will fit with what is being planned with the next release of Ubuntu.
Read the Art Team wiki page
Join the Ubuntu-art mailing list
- Join the #ubuntu-artwork IRC channel on irc.freenode.net.
Testing and Bug squashing
Ubuntu, like any other software, needs good testers. You can contribute to Ubuntu simply by running the latest version and reporting software issues - we call them bugs - and helping to manage those bugs until they are fixed.
All software-specific bugs is the domain of the Ubuntu Bugsquad which is the Quality Assurance (QA) team for Ubuntu. The HelpingWithBugs will get you started.
Read the BugSquad wiki page
- Join the #ubuntu-bugs IRC channel on irc.freenode.net
Check the devel-announce mailing list for announcements of Bug days which are special occasions where the Bug Squad mount special efforts to teach new contributors how to find, reproduce, confirm and close bugs.
All hardware-specific bugs - ie. bugs that only appear when certain hardware or certain combinations of hardware - belong to the the Ubuntu Testing Teams. With each new Ubuntu development release, it is necessary to test whether all of the Ubuntu system and associated applications still work with all kinds of hardware and peripherals. You can help by testing Ubuntu on your own hardware.
- The Ubuntu Testing Teams have made a list of things they need to test on every new development release. Run through the list and test each part as they apply to your setup. Note any failures and fill out a report and send it to the Ubuntu-devel mailing-list.
Read the Testing wiki page
Join the devel mailing list
- Join the #ubuntu-devel IRC channel on irc.freenode.net
If you have a laptop, you can join the Ubuntu Laptop Testing Team for laptop-specific testing.
Read the LaptopTesting wiki page
Join the ubuntu-laptop mailing list
- Join the #ubuntu-laptop IRC channel on irc.freenode.net.
If you run a server, you can join the Ubuntu Server Testing Team for server-specific testing.
Read the ServerTesting wiki page
Join the ubuntu-devel mailing list
- Join the #ubuntu-server IRC channel on irc.freenode.net.
NB: Please note that none of these channels are support channels per-se, please use #ubuntu for that!
If you want to improve the software in Ubuntu, you can help by preparing - we call it packaging - Open Source software for use in Ubuntu and by fixing bugs in the software already included with Ubuntu.
Contributing to the Universe Repository (MOTU)
If you know of a cool application, feature or change available elsewhere in the Open Source world that you would like to have in Ubuntu, you can add it yourself by packaging it for Ubuntu.
All of the non-core packages in Ubuntu are in the Universe repository, and are maintained by the Ubuntu developers who humorously call themselves Masters of the Universe - or MOTUs for short. To get started you can:
Get in touch with a MOTU Mentor who will help you with the basics.
Read the Packaging Guide
Join the MOTU school lessons that address relevant issues about package maintenance.
Read the MOTU wiki page
- join the #ubuntu-motu IRC channel on irc.freenode.net
NB: The MOTUs also maintain the packages for K|Ed|X|ubuntu and the other Ubuntu derivatives, so you if you want to contribute to one of these specifically, you will need to get involved with the MOTUs.
Contributing to the Main Repository
The core components of Ubuntu are maintained by number of specialized teams with their own area of responsibility. If you have a special interest in helping out in one of these areas, you can involved with that specific team.
No matter what kind of contribution you would like to make to the core components of Ubuntu, we recommend that you join the ubuntu-devel and ubuntu-devel-announce mailing lists. All information about technical development passes through those channels.
If you are especially interested in the Ubuntu GNOME Desktop, you can get involved with the Desktop Team which works to bring the latest cool GNOME desktop stuff to Ubuntu.
Read the DesktopTeam wiki page.
Join the ubuntu-desktop mailing list
- Join the #ubuntu-desktop IRC channel on irc.freenode.net
If you are especially interested in the Kubuntu KDE Desktop, you can get involved with the Kubuntu Team which works to bring the latest cool KDE desktop stuff to Kubuntu.
Read the HelpingKubuntu wiki page.
Join the kubuntu-devel mailing list
- Join the #kubuntu IRC channel on irc.freenode.net
If you are especially interested in the Ubuntu Server, you can get involved with the Server Team which works to bring the latest system administration tools and server applications to Ubuntu.
Read the ServerTeam wiki page.
Join the ubuntu-server mailing list
- Join the #ubuntu-server IRC channel on irc.freenode.net
If you are especially interested improving the Ubuntu laptop experience, you can get involved with the Laptop Team which works to improve support for ever growing varieties of laptop hardware.
Read the LaptopTeam wiki page.
Join the laptop-devel mailing list
- Join the #ubuntu-laptop IRC channel on irc.freenode.net
If you are interested in hacking on the Linux kernel specifically for Ubuntu, you can get involved with the Kernel Team.
Read the KernelTeam wiki page.
Join the kernel-team mailing list
- Join the #ubuntu-kernel IRC channel on irc.freenode.net
X Swat Team
If you want to get involved with the Ubuntu version of X.org, a good place to start would be the X Swat Team which maintains X.org in Ubuntu.
- Read the XSwat wiki page.
Join the ubuntu-devel mailing list
- Join the #ubuntu-x IRC channel on irc.freenode.net
If you want to program brand-new features specifically for Ubuntu or redesign and develop current ones, there are several ways to get you started:
- Look through the list of Ubuntu specifications on Launchpad. Pick one that interests you, and hopefully there should be enough information to begin with an implementation.
- Look through the list of paid bounty projects that are registered for Ubuntu in Launchpad. Pick one that interests you and submit a proposal and references.
- Write and package brand new software for Ubuntu. Contact the MOTUs to get new software into the Ubuntu Universe so that people can try it out and give you feedback. In time it may become part of the Ubuntu Main portfolio of applications that are available to all Ubuntu users by default.
Join the ubuntu-devel mailing list
- Join the #ubuntu-devel IRC Channel on irc.freenode.net
Giving Ideas and Feedback
If you have ideas and suggestions on new features and improvements that you would like to see and help bring to Ubuntu, you can:
Add your ideas to the IdeaPool for features you'd like to see in Ubuntu, products, marketing suggestions or any other ideas you'd like to add here. Before each new release cycle is initiated, the developers go through the Idea Pool and bring up any ideas that they like.
Write a specification - a short description what feature or improvement you would like to implement and why and how it should be implemented. All specifications for Ubuntu are tracked in Blueprint, the Specification tracking part of the Launchpad system. Writing a good specification is an art the finer points of which is discussed here.
- Once you have written your specification, you will need to get it approved for inclusion in Ubuntu by the Ubuntu core developers. Specifications are approved at the Ubuntu Developers' Summit which take place at the beginning of each new development cycle. You will need to add your specification to the Summit listing in Launchpad and show up at the summmit and present your specification, lead discussion and submit it for approval. If you can't make it to the summit in person, you can either have another community member present it for you, or try to present through on-line chat or VOIP.
- Another way to get your feature into Ubuntu is by packaging it for the Universe repositories and thus making it available to other Ubuntu users. This will make it possible for others to try it out before committing to having it as a standard feature of Ubuntu.
Remember that in the open source world, work counts more than talk so try to find friends or link up with people who can help turn your vision into reality.