The management structure of Gentoo, called the "metastructure", is defined in GLEP 39. In Gentoo, a project is a group of developers working towards a common goal in various different areas. For example, the Devmanual project focuses on maintaining this document. Many others are responsible for maintaining packages. Projects spanning a large area of topics can have multiple subprojects specializing in particular fields within the domain of the parent project and thus form a project hierarchy.
A package maintained by a project needs to have the project explicitly listed as a maintainer in its metadata.xml. The full listing of all the projects can be found on api.gentoo.org or on the wiki.
According to the metastructure any developer may create a new project. There are two procedures involved in starting a new project:
Members of a project are managed through the project's page on the Gentoo Wiki. Each page has a "Project" template in its source which lists the members of the project. Simply modifying the list is sufficient for adding or removing a developer. Note that different projects have different requirements and procedures for recruiting developers, which may require prior arrangements to be made before modifying the member list.
Developers should remember to add themselves to the alias by editing
/var/mail/alias/misc/<alias name>
on
dev.gentoo.org. For example, the alias for the Devmanual project is
located at /var/mail/alias/misc/devmanual
, which corresponds to
the project's email address devmanual@gentoo.org
.
A herd is a collection of packages with an associated set of maintainers.
It can happen for example because of retirement that a herd has no developers
but this should be avoided if at all possible. A herd has an associated email
address which can be used for bugzilla assignments. This email address is
not always herdname@gentoo.org
—
for example, because of the
way Gentoo's email aliases are set up, the cron
herd use
cron-bugs@gentoo.org
(aliases cannot match system usernames).
A project is a group formed for handling a particular general area. A project may have herds associated with it.
Sometimes herd and project names overlap
—
for example, the sparc
project
has an associated sparc
herd which maintains sparc-specific packages (such
as the silo
bootloader). This is not always the case.