ebeb15460c
Asciidoc may fail to render link attributes for external links supposed to open in a new window correctly. This change adds :linkattrs: to the beginning of such files to force parsing link attributes correctly. Bug: Issue 12068 Change-Id: If18be60de646ff78f672239dd4fa435fd4fd92ab
377 lines
16 KiB
Plaintext
377 lines
16 KiB
Plaintext
:linkattrs:
|
|
= Gerrit Code Review - Supporting Roles
|
|
|
|
As an open source project Gerrit has a large community of people
|
|
driving the project forward. There are many ways to engage with
|
|
the project and get involved.
|
|
|
|
[[supporter]]
|
|
== Supporter
|
|
|
|
Supporters are individuals who help the Gerrit project and the Gerrit
|
|
community in any way. This includes users that provide feedback to the
|
|
Gerrit community or get in touch by other means.
|
|
|
|
There are many possibilities to support the project, e.g.:
|
|
|
|
* get involved in discussions on the
|
|
link:https://groups.google.com/d/forum/repo-discuss[repo-discuss,role=external,window=_blank]
|
|
mailing list (post your questions, provide feedback, share your
|
|
experiences, help other users)
|
|
* attend community events like user summits (see
|
|
link:https://calendar.google.com/calendar?cid=Z29vZ2xlLmNvbV91YmIxcGxhNmlqNzg1b3FianI2MWg0dmRpc0Bncm91cC5jYWxlbmRhci5nb29nbGUuY29t[
|
|
community calendar,role=external,window=_blank])
|
|
* report link:https://bugs.chromium.org/p/gerrit/issues/list[issues,role=external,window=_blank]
|
|
and help to clarify existing issues
|
|
* provide feedback on
|
|
link:https://www.gerritcodereview.com/releases-readme.html[new
|
|
releases and release candidates,role=external,window=_blank]
|
|
* review
|
|
link:https://gerrit-review.googlesource.com/q/status:open[changes,role=external,window=_blank]
|
|
and help to verify that they work as advertised, comment if you like
|
|
or dislike a feature
|
|
* serve as contact person for a proprietary Gerrit installation and
|
|
channel feedback from users back to the Gerrit community
|
|
|
|
Supporters can:
|
|
|
|
* post on the
|
|
link:https://groups.google.com/d/forum/repo-discuss[repo-discuss,role=external,window=_blank]
|
|
mailing list (Please note that the `repo-discuss` mailing list is
|
|
managed to prevent spam posts. This means posts from new participants
|
|
must be approved manually before they appear on the mailing list.
|
|
Approvals normally happen within 1 work day. Posts of people who
|
|
participate in mailing list discussions frequently are approved
|
|
automatically)
|
|
* comment on
|
|
link:https://gerrit-review.googlesource.com/q/status:open[changes,role=external,window=_blank]
|
|
and vote from `-1` to `+1` on the `Code-Review` label (these votes
|
|
are important to understand the interest in a change and to address
|
|
concerns early, however link:#maintainer[maintainers] can
|
|
overrule/ignore these votes)
|
|
* download changes to try them out, feedback can be provided as
|
|
comments and by voting (preferably on the `Verified` label,
|
|
permissions to vote on the `Verified` label are granted by request,
|
|
see below)
|
|
* file issues in the link:https://bugs.chromium.org/p/gerrit/issues/list[
|
|
issue tracker,role=external,window=_blank] and comment on existing issues
|
|
* support the
|
|
link:dev-processes.html#design-driven-contribution-process[
|
|
design-driven contribution process] by reviewing incoming
|
|
link:dev-design-docs.html[design docs] and raising concerns during
|
|
the design review
|
|
|
|
Supporters who want to engage further can get additional privileges
|
|
on request (ask for it on the
|
|
link:https://groups.google.com/d/forum/repo-discuss[repo-discuss,role=external,window=_blank]
|
|
mailing list):
|
|
|
|
* become member of the `gerrit-verifiers` group, which allows to:
|
|
** vote on the `Verified` and `Code-Style` labels
|
|
** edit hashtags on all changes
|
|
** edit topics on all open changes
|
|
** abandon changes
|
|
* approve posts to the
|
|
link:https://groups.google.com/d/forum/repo-discuss[repo-discuss,role=external,window=_blank]
|
|
mailing list
|
|
* administrate issues in the
|
|
link:https://bugs.chromium.org/p/gerrit/issues/list[issue tracker,role=external,window=_blank]
|
|
|
|
Supporters can become link:#contributor[contributors] by signing a
|
|
contributor license agreement and contributing code to the Gerrit
|
|
project.
|
|
|
|
[[contributor]]
|
|
== Contributor
|
|
|
|
Everyone who has a valid link:dev-cla.html[contributor license
|
|
agreement] and who has link:dev-contributing.html[contributed] at least
|
|
one change to any project on
|
|
link:https://gerrit-review.googlesource.com/[
|
|
gerrit-review.googlesource.com,role=external,window=_blank] is a contributor.
|
|
|
|
Contributions can be:
|
|
|
|
* new features
|
|
* bug fixes
|
|
* code cleanups
|
|
* documentation updates
|
|
* release notes updates
|
|
* propose link:#dev-design-docs[design docs] as part of the
|
|
link:dev-contributing.html#design-driven-contribution-process[
|
|
design-driven contribution process]
|
|
* scripts which are of interest to the community
|
|
|
|
Contributors have all the permissions that link:#supporter[supporters]
|
|
have. In addition they have signed a link:dev-cla.html[contributor
|
|
license agreement] which enables them to push changes.
|
|
|
|
Regular contributors can ask to be added to the `gerrit-verifiers`
|
|
group, which allows to:
|
|
|
|
* add patch sets to changes of other users
|
|
* propose project config changes (push changes for the
|
|
`refs/meta/config` branch
|
|
|
|
Being member of the `gerrit-verifiers` group includes further
|
|
permissions (see link:#supporter[supporter] section above).
|
|
|
|
It's highly appreciated if contributors engage in code reviews,
|
|
link:dev-design-docs.html#review[design reviews] and mailing list
|
|
discussions. If wanted, contributors can also serve as link:#mentor[
|
|
mentors] to support other contributors with getting their features
|
|
done.
|
|
|
|
Contributors may also be invited to join the Gerrit hackathons which
|
|
happen regularly (e.g. twice a year). Hackathons are announced on the
|
|
link:https://groups.google.com/d/forum/repo-discuss[repo-discuss,role=external,window=_blank]
|
|
mailing list (also see
|
|
link:https://calendar.google.com/calendar?cid=Z29vZ2xlLmNvbV91YmIxcGxhNmlqNzg1b3FianI2MWg0dmRpc0Bncm91cC5jYWxlbmRhci5nb29nbGUuY29t[
|
|
community calendar,role=external,window=_blank]).
|
|
|
|
Outstanding contributors that are actively engaged in the community, in
|
|
activities outlined above, may be nominated as link:#maintainer[
|
|
maintainers].
|
|
|
|
[[maintainer]]
|
|
== Maintainer
|
|
|
|
Maintainers are the gatekeepers of the project and are in charge of
|
|
approving and submitting changes. Refer to the project homepage for
|
|
the link:https://www.gerritcodereview.com/members.html#maintainers[
|
|
list of current maintainers,role=external,window=_blank].
|
|
|
|
Maintainers should only approve changes that:
|
|
|
|
* they fully understand
|
|
* are in line with the project vision and project scope that are
|
|
defined by the link:dev-processes.html#steering-committee[engineering steering
|
|
committee], and should consult them, when in doubt
|
|
* meet the quality expectations of the project (well-tested, properly
|
|
documented, scalable, backwards-compatible)
|
|
* implement usable features or bug fixes (no incomplete/unusable
|
|
things)
|
|
* are not authored by themselves (exceptions are changes which are
|
|
trivial according to the judgment of the maintainer and changes that
|
|
are required by the release process and branch management)
|
|
|
|
Maintainers are trusted to assess changes, but are also expected to
|
|
align with the other maintainers, especially if large new features are
|
|
being added.
|
|
|
|
Maintainers are highly encouraged to dedicate some of their time to the
|
|
following tasks (but are not required to do so):
|
|
|
|
* reviewing changes
|
|
* mailing list discussions and support
|
|
* bug fixing and bug triaging
|
|
* supporting the
|
|
link:dev-processes.html#design-driven-contribution-process[
|
|
design-driven contribution process] by reviewing incoming
|
|
link:dev-design-docs.html[design docs] and raising concerns during
|
|
the design review
|
|
* serving as link:#mentor[mentor]
|
|
* doing releases (see link#release-manager[release manager])
|
|
|
|
Maintainers can:
|
|
|
|
* approve changes (vote `+2` on the `Code-Review` label); when
|
|
approving changes, `-1` votes on the `Code-Review` label can be
|
|
ignored if there is a good reason, in this case the reason should be
|
|
clearly communicated on the change
|
|
* submit changes
|
|
* block submission of changes if they disagree with how a feature is
|
|
being implemented (vote `-2` on the `Code-Review` label), but their
|
|
vote can be overruled by the steering committee, see
|
|
link:dev-processes.html#project-governance[Project Governance]
|
|
* nominate new maintainers and vote on nominations (see below)
|
|
* administrate the link:https://groups.google.com/d/forum/repo-discuss[
|
|
mailing list,role=external,window=_blank], the
|
|
link:https://bugs.chromium.org/p/gerrit/issues/list[issue tracker,role=external,window=_blank]
|
|
and the link:https://www.gerritcodereview.com/[homepage,role=external,window=_blank]
|
|
* gain permissions to do Gerrit releases and publish release artifacts
|
|
* create new projects and groups on
|
|
link:https://gerrit-review.googlesource.com/[
|
|
gerrit-review.googlesource.com,role=external,window=_blank]
|
|
* administrate the Gerrit projects on
|
|
link:https://gerrit-review.googlesource.com/[
|
|
gerrit-review.googlesource.com,role=external,window=_blank] (e.g. edit ACLs, update project
|
|
configuration)
|
|
* create events in the
|
|
link:https://calendar.google.com/calendar?cid=Z29vZ2xlLmNvbV91YmIxcGxhNmlqNzg1b3FianI2MWg0dmRpc0Bncm91cC5jYWxlbmRhci5nb29nbGUuY29t[
|
|
community calendar,role=external,window=_blank]
|
|
* discuss with other maintainers on the private maintainers mailing
|
|
list and Slack channel
|
|
|
|
In addition, maintainers from Google can:
|
|
|
|
* approve/reject changes that update project dependencies (vote `-1` to
|
|
`+1` on the `Library-Compliance` label), see
|
|
link:dev-processes.html#upgrading-libraries[Upgrading Libraries]
|
|
* edit permissions on the Gerrit core projects
|
|
|
|
[[maintainer-election]]
|
|
Maintainers can nominate new maintainers by posting a nomination on the
|
|
non-public maintainers mailing list. Nominations should stay open for
|
|
at least 14 calendar days so that all maintainers have a chance to
|
|
vote. To be approved as maintainer a minimum of 5 positive votes and no
|
|
negative votes is required. This means if 5 positive votes without
|
|
negative votes have been reached and 14 calendar days have passed, any
|
|
maintainer can close the vote and welcome the new maintainer. Extending
|
|
the voting period during holiday season or if there are not enough
|
|
votes is possible, but the voting period should not exceed 1 month. If
|
|
there are negative votes that are considered unjustified, the
|
|
link:dev-processes.html#steering-committee[engineering steering
|
|
committee] may get involved to decide whether the new maintainer can be
|
|
accepted anyway.
|
|
|
|
To become a maintainer, a link:#contributor[contributor] should have a
|
|
history of deep technical contributions across different parts of the
|
|
core Gerrit codebase. However, it is not required to be an expert on
|
|
everything. Things that we want to see from potential maintainers
|
|
include:
|
|
|
|
* high quality code contributions
|
|
* high quality code reviews
|
|
* activity on the mailing list
|
|
|
|
[[steering-committee-member]]
|
|
== Engineering Steering Committee Member
|
|
|
|
The Gerrit project has an Engineering Steering Committee (ESC) that
|
|
governs the project, see link:dev-processes.html#project-governance[Project Governance].
|
|
|
|
Members of the steering committee are expected to act in the interest
|
|
of the Gerrit project and the whole Gerrit community. Refer to the project
|
|
homepage for the link:https://www.gerritcodereview.com/members.html#engineering-steering-committee[
|
|
list of current committee members,role=external,window=_blank].
|
|
|
|
For those that are familiar with scrum, the steering committee member
|
|
role is similar to the role of an agile product owner.
|
|
|
|
Steering committee members must be able to dedicate sufficient time to
|
|
their role so that the steering committee can satisfy its
|
|
responsibilities and live up to the promise of answering incoming
|
|
requests in a timely manner.
|
|
|
|
Community members may submit new items under the
|
|
link:https://bugs.chromium.org/p/gerrit/issues/list?q=component:ESC[ESC component,role=external,window=_blank]
|
|
in the issue tracker, or add that component to existing items, to raise them to
|
|
the attention of ESC members.
|
|
|
|
Community members may contact the ESC members directly using
|
|
mailto:gerritcodereview-esc@googlegroups.com[this mailing list].
|
|
This is a group that remains private between the individual community
|
|
member and ESC members.
|
|
|
|
link:#maintainer[Maintainers] can become steering committee member by
|
|
election, or by being appointed by Google (only for the seats that
|
|
belong to Google).
|
|
|
|
[[mentor]]
|
|
== Mentor
|
|
|
|
A mentor is a link:#maintainer[maintainer] or link:#contributor[
|
|
contributor] who is assigned to support the development of a feature
|
|
that was specified in a link:dev-design-docs.html[design doc] and was
|
|
approved by the link:dev-processes.html#steering-committee[steering
|
|
committee].
|
|
|
|
The goal of the mentor is to make the feature successful by:
|
|
|
|
* doing timely reviews
|
|
* providing technical guidance during code reviews
|
|
* discussing details of the design
|
|
* ensuring that the quality standards are met (well documented,
|
|
sufficient test coverage, backwards compatible etc.)
|
|
|
|
The implementation is fully done by the contributor, but optionally
|
|
mentors can help out with contributing some changes.
|
|
|
|
link:#maintainer[Maintainers] and link:#contributor[contributors] can
|
|
volunteer to generally serve as mentors, or to mentor specific features
|
|
(e.g. if they see an upcoming feature on the roadmap that they are
|
|
interested in). To volunteer as mentor, contact the
|
|
link:dev-processes.html#steering-committee[steering committee] or
|
|
comment on a change that adds a link:dev-design-docs.html#propose[
|
|
design doc].
|
|
|
|
[[community-manager]]
|
|
== Community Manager
|
|
|
|
Community managers should act as stakeholders for the Gerrit community
|
|
and focus on the health of the community. Refer to the project homepage
|
|
for the link:https://www.gerritcodereview.com/members.html#community-managers[
|
|
list of current community managers,role=external,window=_blank].
|
|
|
|
Tasks:
|
|
|
|
* act as stakeholder for the Gerrit community towards the
|
|
link:dev-processes.html#steering-committee[steering committee]
|
|
* ensure that the link:dev-contributing.html#mentorship[mentorship
|
|
process] works
|
|
* deescalate conflicts in the Gerrit community
|
|
* constantly improve community processes (e.g. contribution process)
|
|
* watch out for community issues and address them proactively
|
|
* serve as contact person for community issues
|
|
|
|
Community members may submit new items under the
|
|
link:https://bugs.chromium.org/p/gerrit/issues/list?q=component:Community[Community component,role=external,window=_blank]
|
|
backlog, for community managers to refine. Only public topics should be
|
|
issued through that backlog.
|
|
|
|
Sensitive topics are to be privately discussed using
|
|
mailto:gerritcodereview-community-managers@googlegroups.com[this mailing list].
|
|
This is a group that remains private between the individual community
|
|
member and community managers.
|
|
|
|
The community managers should be a pair or trio that shares the work:
|
|
|
|
* One Googler that is appointed by Google.
|
|
* One or two non-Googlers, elected by the community if there are more
|
|
than two candidates. If there is no candidate, we only have the one
|
|
community manager from Google.
|
|
|
|
Community managers must not be link:#steering-committee-member[
|
|
steering committee members] at the same time so that they can represent
|
|
the community without conflict of interest.
|
|
|
|
Nomination process, election process and election period for the
|
|
non-Google community manager are the same as for
|
|
link:dev-processes.html#steering-committee-election[steering committee
|
|
members].
|
|
|
|
[[release-manager]]
|
|
== Release Manager
|
|
|
|
Each major Gerrit release is driven by a Gerrit link:#maintainer[
|
|
maintainer], the so called release manager.
|
|
|
|
The release manager is responsible for:
|
|
|
|
* identifying release blockers and informing about them
|
|
* creating stable branches and updating version numbers
|
|
* creating release candidates, the final major release and minor
|
|
releases
|
|
* announcing releases on the mailing list and collecting feedback
|
|
* ensuring that releases meet minimal quality expectations (Gerrit
|
|
starts, upgrade from previous version works)
|
|
* publishing release artifacts
|
|
* ensuring quality and completeness of the release notes
|
|
* cherry-picking bug fixes, see link:dev-processes.html#backporting[
|
|
Backporting to stable branches]
|
|
* estimating the risk of new features that are added on stable
|
|
branches, see link:dev-processes.html#dev-in-stable-branches[
|
|
Development in stable branches]
|
|
|
|
Before each release, the release manager is appointed by consensus among
|
|
the maintainers. Volunteers are welcome, but it's also a goal to fairly
|
|
share this work between maintainers and contributing companies.
|
|
|
|
GERRIT
|
|
------
|
|
Part of link:index.html[Gerrit Code Review]
|
|
|
|
SEARCHBOX
|
|
---------
|