From Gentoo Wiki
Jump to: navigation, search


Portage Developer

Portage Developers work on the sys-apps/portage package by committing code to the portage/main subversion repository, they have access to all branches. They are listed in the Developers section on the project Wiki page under Developers. All Portage Developers are also full Gentoo Ebuild Developers.

Portage Contributors

Portage Contributors work on specific aspects of the sys-apps/portage package by committing code to certain branches of the portage Git repository, their access is usually limited to those branches. They are listed in the Developers section on the project Wiki page under Developers.

Portage Tools Developer

Portage Tools Developers work on the app-portage/gentoolkit and other packages in the app-portage category. They are listed in the Developers section on the Gentoo Portage Tools Wiki page.

Portage Release Coordinator

The portage release coordinator is responsible for creating releases of the sys-apps/portage package and maintaining the associated ebuilds in the gentoo-x86 tree. All aspects of portage releases and portage ebuilds should go through the release coordinator. The Portage Release Coordinator is also a full Portage Developer.

Portage Project Members

This includes all above groups as well as other people working on the project that aren't part of any mentioned group. All members are listed in the Developers section on the project Wiki page.

Lead Developers

Each of the groups above may have one or more lead developers that have additional rights and responsibilities.

Joining the project


The first and most important requirement is that you have an established positive track record of contributions to the portage project, be it patches, new code, bugfixes, documentation or other improvements. Another important requirement is to have good interactions with existing members, e.g. repeated complaints on bugzilla involving foul language is not going to help you to "get in". Being an existing Gentoo developer is a benefit, but not a strict requirement (but if you want to join the Portage project you have to become a Gentoo developer in the process).

On the technical side you should be familiar with portage itself (even if you won't work on it directly) as well as any tools and languages involved with your work (languages generally being python and/or bash). You don't have to be a certified expert with them though. Some understanding of version control systems like Subversion or CVS is highly recommended as well as a good understanding of basic Unix concepts (e.g. you know how to use things like find/grep/sed/bash to get things done).

Recruitment process

If you are an existing Gentoo developer simply ask one of the Portage Lead Developers to become a member, he will then add you to the projects member list and get you the required access (or reject your request).

For non-developers the general rules is "don't contact us, we contact you", however if you feel that your work is neglected feel free to contact either one of the lead developers or the mail alias. As you have to be a Gentoo Developer to get access to the repositories and other development resources you will at some point be included in the general Gentoo recruitment process (your mentor in this process will be an existing portage project member). Only once you're through this process can you become a portage project member.

Depending on the amount and quality of your existing contributions we may ask you to perform additional portage specific tests if we feel that your understanding of portage concepts and/or the work you're going to do has substantial lacks, however this will be decided on a case by case situation.

One more thing to note: Due to social group dynamics we try to keep and number of members at a reasonable size, so we don't take you in that doesn't always mean that don't value your existing contributions, it might just be that we think that the project is getting too big to be handled efficiently (we'll tell you the reason of course).

Leaving the project


If you have the feeling that you aren't going to contribute to the project anymore you're free to leave the project at any time you want. However it would be nice to inform the project (especially the lead developers) in advance when you're leaving, if you plan to return and if there are any open issues that have to be resolved (e.g. unfinished tools or docs, you were the only one working on a branch and things like that). Leaving the portage project doesn't automatically affect your status as a Gentoo developer, this is solely handled by the recruiters group.


So far there hasn't been any need for suspension in this project (and hopefully there will never be a need), so the following is just preemptive theory

In case one or more project members feel that another member abuses his privileges in some way they can report it to the lead developers, and in case of serious abuse request a suspension of the member from the portage project. Upon such a report (or if they are noticing an abuse themselves) the lead developers will look into the matter, and if the report was justified (evidence for abuse is found) they will take actions, ranging from "don't do this again" notices up to suspension from the project (including removal of any access to project repositories).

It's important to note that this does not affect the general Gentoo conflict resolution procedures, so suspensions from the portage project do not affect any privileges outside the portage project, however a suspension might involve a complaint to developer relations to invoke a global suspension.

Role changes / elections


According to the current metastructure model each Gentoo project must elect its leads at least once per year. However to simplify matters the portage project has agreed to only hold elections upon request by a member (as most members simply don't care about leads) and otherwise rely on the existing leads.

Once an election is requested (by sending a mail to the alias) an election will be held within the next four weeks, and the way the election will be hold will be announced on the alias within one week after the request.

To avoid deadlocks the request for an election can be rejected by the existing leads if an election was already hold in the last six months prior to the request.

Role changes: Release Coordinator

The role of the Portage Release Coordinator is appointed by the Portage Lead Developers.