Contributing to Gentoo
This article explains how users can contribute to the development of Gentoo. All users are welcome to contribute to Gentoo, even those who are new! There is always room for improvement, and any contributions can help make the Gentoo experience even smoother.
There are many different topics to explore, so there should be something for everyone. Some areas for contribution have a low entry bar, so anyone should be able to contribute on some level!
Anyone interested in becoming a Gentoo developer can start by contributing to any of the areas listed below. It's good to have a track record of contributions to build a profile, and recruiters will be able to see past contributions.
Gentoo accepts donations! Give a lump sum, or set up a monthly contribution, with PayPal. This helps keep the lights on for the core services powering Gentoo.
See also the contribute to Gentoo page on the main website.
Support the community
Help users in the various support mediums:
- Answer unanswered forums questions, or share personal knowledge of solving a particular a problem, or discuss something new on the forums.
- Join the IRC channels. The main IRC channel for support is #gentoo (webchat), anyone with a little knowledge is welcome to help out there.
- Subscribe to the mailing lists. The main mailing list for users is gentoo-user.
Document useful information
The Gentoo Wiki is the main documentation repository for Gentoo. All users are encouraged to add content and edit articles, even if just to provide a correction or add a quick tip.
Please check out the Contributor's guide on how to start helping out!
It's particularly easy to help out with the documentation, it is an area that is very useful to Gentoo but that has a low bar for entry. In addition to the contributor's guide, there is extensive documentation on how to interact with the wiki, for example to:
- Start a new wiki article to document a new subject, package, or to share knowledge.
- Improve existing documentation, by simply clicking Edit at the top right of an article.
- Translate documentation for readers in languages other than English.
Also check out the help pages, the Gentoo wiki project page, and the Gentoo wiki FAQ.
Report and resolve bugs
Gentoo Bugzilla is used to track bugs for Gentoo and its packages. Anyone is encouraged to report, confirm and resolve bugs:
- Report a bug on the Gentoo Bugzilla whenever an error, flaw, failure or fault is encountered. The Bugzilla guide provides more in-depth information for how to provide details about an issue.
- Confirm new bugs by reproducing them. This helps consolidate the cause as well as highlight severe bugs.
- Offer solutions for open bugs. Patches, ebuilds and links to upstream (or other distribution) bug reports are more than welcome!
- Participate in a Bugday, squashing bugs together with Gentoo developers.
Create and maintain packages
The Gentoo ebuild repository is the heart of Gentoo; it is important to keep it alive and kicking, that's why contributions to it are very valuable.
Occasional commits to either the Gentoo tree or an overlay are possible, or become a Gentoo Developer! Writing ebuilds is what makes building and installing packages possible on a Gentoo system.
After the first steps, learn more with the Development Guide.
The following resources can be helpful when adding a new package to the Gentoo ebuild repository, updating an existing one, or finding new packages to contribute to:
- Submit pull requests on GitHub - see Gentoo git workflow.
- Report version bumps for existing packages at Gentoo Bugzilla.
- Submit a new package for the Gentoo tree. To maintain a new package, contact the proxy maintainers.
- Proxy-maintain one or more of the orphaned packages.
Anyone who can write ebuilds (or is willing to learn), and wants to help out can join the GURU project, to collaboratively maintain packages with the help of a few seasoned developers.
Test Gentoo and the packages
Gentoo is a very stable distribution, but to get there everything needs to be thoroughly tested, even after things have already been shown to be working. To help out making sure everything is always working perfectly for end users, configure and use the testing branch and report issues to the developers!
Become a developer
Become a Gentoo Developer to contribute to the project at the most fundamental level. Developers create Gentoo by contributing code, documentation, infrastructure, and such. Developers start by helping out, participating in community, and once they find a mentor, take the developer quizzes and get recruited.
See the Becoming a Gentoo Developer article for details on how people get on board with the project!
Developers should join one or more of the many projects, depending on areas of contribution.
- Bugday — a single day each month devoted to development efforts pertaining to a certain area of the Gentoo project.
- Gentoo Wiki:Contributor's guide — aims to help quickly get started with simple edits
- Gentoo Wiki:Guidelines — a set of suggestions for adding, editing, and removing content on the Gentoo wiki.
- Package testing — provides information for ebuild developers on testing ebuilds.
- Project:GURU — an official repository of new Gentoo packages that are maintained collaboratively by Gentoo users