Each file in Fuchsia has a set of owners. These are tracked in files named OWNERS
. One of these files is present in the root of the repository, and many directories have their own OWNERS
files too.
Each OWNERS
file lists a number of individuals (by their email address) who are familiar with and can provide code reviews for the contents of that directory.
It's important to have at least two individuals in an OWNERS
file. Having areas of Fuchsia with a single owner leads to single points of failure and having multiple owners ensures that knowledge and ownership is shared over areas of Fuchsia.
Fuchsia requires changes to have an Code-Review +2
review, which anyone in the ‘OWNERS’ file can provide. In addition, many OWNERS
files contain a *
allowing anyone to provide such a +2
.
Gerrit has a “find owners” button that will list all the owners for all the files modified in a given change. More information on this is available on the Gerrit find-owners plugin page.
Fuchsia uses the Gerrit file syntax for OWNERS
files, with the addition of a comment indicating the default Monorail component to use when filing issues related to the contents of this directory.
Here's an example OWNERS
file:
# These users are owners validuser1@example.com validuser2@example.com # Users listed elsewhere are also owners include /path/to/another/OWNERS # This user is only an owner of the listed file per-file main.c = validuser3@example.com # The line below helps automate bug triage # COMPONENT: TopComponent>SubComponent