Project:Portage/Membership

Portage project members
Members of the Portage project are Gentoo developers that work on the sys-apps/portage package. They are listed in the members section on the project Wiki infobox.

Contributing members
Contributing members are for most practical purposes the same as Portage project members that are not Gentoo developers. But by not being Gentoo developers, they lack access to some things. They are listed under the Contributing members section in the Project wiki.

Member roles
There are several member roles. They are meant to indicate what a project member's special field of interest is. They do not in any way limit what a member is entitled to work on, and indeed most members work on a bit of everything within the project.

Core
Works on the core of the Portage, and emerge internals, including the dependency resolver.

Interface developer
Works on improving the emerge interface (and possibly other Portage-related software).

Sandbox developer
Works on sandbox-related bugs and improvements.

Tools developer
Works on the the tools that come with, and support, the core package management code. This includes working on emaint, repoman, and on public APIs.

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.

Documenter
Documenters are responsible for ensuring Portage has good documentation. This includes the manpages, the wiki, news items, and all other forms of Portage documentation.

Translator
Translators work on translating Portage to other languages, and may offer help on localisation bugs.

Liaison
Portage does not exist in a vacuum. Liaisons are responsible for making sure that Portage plays nicely with the entity they are a liaison for.

Project lead
The project leader(s) responsibilities include ensuring that everyone else is enjoying their work and getting things done. The leader(s) ensure(s) communication is flowing, and that the workflow is successful. A new team lead is elected every year.

Other roles
The roles listed here are simply the roles we have presently. They were formed in response to what people want to work on. If someone wants to work on a different area within the Portage project, we may shape a new role for them.

Requirements
The first and most important requirement is that you have an established positive track record of contributions to the Portage project. This can be from patches, new code, bugfixes, documentation, or other improvements. Another important requirement is to have good interactions with existing members. That is to say, we will not tolerate anti-social behaviour.

Being an existing Gentoo developer is beneficial, but not necessary. You can become a contributing member without being a Gentoo developer, but to become a formal project member you'll need to become a Gentoo developer too. So if you want to join the Portage project, it is recommended that you try to become a Gentoo developer as well.

You should be familiar with using emerge, and at least know about some of the related tools, like repoman. You should also be familiar with the technologies you expect to be using for your role -- although expert knowledge is not necessary.

Understanding how to use git is necessary to be a Gentoo developer. Understanding how to use Gentoo, and more generally GNU+Linux environments, is to some extent also necessary.

Recruitment process
If you are an existing Gentoo developer, simply ask a Portage team leader to become a member. They will then help you shape your role in the project, add you to the projects member list, and get you the required access.

If you are not a Gentoo developer, the general rule is "don't contact us, we'll contact you". However, if you feel that your work is neglected, feel free to get in touch with one of the team leaders. Note that since you are not a Gentoo developer, you can only become a contributing member. We will encourage and help you to become a full fledged Gentoo developer, which will let you be a proper 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.

Retiring
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 of you to inform the project (especially the team leader(s)) in advance when you're leaving, and whether you plan to return, and if there are any open issues that have to be resolved (e.g. unfinished tools or docs, feature branches you're leaving behind, etc.)

Leaving the portage project doesn't automatically affect your status as a Gentoo developer, this is solely handled by the retirement project.

Suspension
In case one or more project members feel that another member abuses their privileges in some way, they can report it to the team leader(s). In the case of serious abuse, they may request a suspension of the member from the Portage project. Upon such a report, or if they are noticing an abuse themselves, the team leader(s) will look into the matter. If the report was justified (evidence for abuse is found), then they will take action. The consequences can range from "don't do this again" slap on the wrists, 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.

Team leaders elections
According to the current metastructure model, each Gentoo project must elect its leads at least once per year. The active team leader(s) schedule(s) and hold(s) the elections. Due to the low number of project members, we have only used a simple majority vote in the past. Tie-breakers have not been necessary, and should they become necessary in the future they will be handled by the then active team leader(s). All Portage members (including contributing members) may vote, but only project members are eligible team leaders. Portage users, Gentoo developers, and others with an interest in the election, may voice their opinions during the elections, which the members are free to weight however they wish.