Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs/devel: add a maintainers section to development process
We don't currently have a clear place in the documentation to describe the roles and responsibilities of a maintainer. Lets create one so we can. I've moved a few small bits out of other files to try and keep everything in one place. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Message-Id: <20221111145529.4020801-6-alex.bennee@linaro.org>
- Loading branch information
Showing
4 changed files
with
113 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,5 @@ | ||
.. _code_of_conduct: | ||
|
||
Code of Conduct | ||
=============== | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,106 @@ | ||
.. _maintainers: | ||
|
||
The Role of Maintainers | ||
======================= | ||
|
||
Maintainers are a critical part of the project's contributor ecosystem. | ||
They come from a wide range of backgrounds from unpaid hobbyists | ||
working in their spare time to employees who work on the project as | ||
part of their job. Maintainer activities include: | ||
|
||
- reviewing patches and suggesting changes | ||
- collecting patches and preparing pull requests | ||
- tending to the long term health of their area | ||
- participating in other project activities | ||
|
||
They are also human and subject to the same pressures as everyone else | ||
including overload and burnout. Like everyone else they are subject | ||
to project's :ref:`code_of_conduct` and should also be exemplars of | ||
excellent community collaborators. | ||
|
||
The MAINTAINERS file | ||
-------------------- | ||
|
||
The `MAINTAINERS | ||
<https://gitlab.com/qemu-project/qemu/-/blob/master/MAINTAINERS>`__ | ||
file contains the canonical list of who is a maintainer. The file | ||
is machine readable so an appropriately configured git (see | ||
:ref:`cc_the_relevant_maintainer`) can automatically Cc them on | ||
patches that touch their area of code. | ||
|
||
The file also describes the status of the area of code to give an idea | ||
of how actively that section is maintained. | ||
|
||
.. list-table:: Meaning of support status in MAINTAINERS | ||
:widths: 25 75 | ||
:header-rows: 1 | ||
|
||
* - Status | ||
- Meaning | ||
* - Supported | ||
- Someone is actually paid to look after this. | ||
* - Maintained | ||
- Someone actually looks after it. | ||
* - Odd Fixes | ||
- It has a maintainer but they don't have time to do | ||
much other than throw the odd patch in. | ||
* - Orphan | ||
- No current maintainer. | ||
* - Obsolete | ||
- Old obsolete code, should use something else. | ||
|
||
Please bear in mind that even if someone is paid to support something | ||
it does not mean they are paid to support you. This is open source and | ||
the code comes with no warranty and the project makes no guarantees | ||
about dealing with bugs or features requests. | ||
|
||
|
||
|
||
Becoming a reviewer | ||
------------------- | ||
|
||
Most maintainers start by becoming subsystem reviewers. While anyone | ||
is welcome to review code on the mailing list getting added to the | ||
MAINTAINERS file with a line like:: | ||
|
||
R: Random Hacker <rhacker@example.com> | ||
|
||
will ensure that patches touching a given subsystem will automatically | ||
be CC'd to you. | ||
|
||
Becoming a maintainer | ||
--------------------- | ||
|
||
Maintainers are volunteers who put themselves forward or have been | ||
asked by others to keep an eye on an area of code. They have generally | ||
demonstrated to the community, usually via contributions and code | ||
reviews, that they have a good understanding of the subsystem. They | ||
are also trusted to make a positive contribution to the project and | ||
work well with the other contributors. | ||
|
||
The process is simple - simply send a patch to the list that updates | ||
the ``MAINTAINERS`` file. Sometimes this is done as part of a larger | ||
series when a new sub-system is being added to the code base. This can | ||
also be done by a retiring maintainer who nominates their replacement | ||
after discussion with other contributors. | ||
|
||
Once the patch is reviewed and merged the only other step is to make | ||
sure your GPG key is signed. | ||
|
||
.. _maintainer_keys: | ||
|
||
Maintainer GPG Keys | ||
~~~~~~~~~~~~~~~~~~~ | ||
|
||
GPG is used to sign pull requests so they can be identified as really | ||
coming from the maintainer. If your key is not already signed by | ||
members of the QEMU community, you should make arrangements to attend | ||
a `KeySigningParty <https://wiki.qemu.org/KeySigningParty>`__ (for | ||
example at KVM Forum) or make alternative arrangements to have your | ||
key signed by an attendee. Key signing requires meeting another | ||
community member **in person** [#]_ so please make appropriate | ||
arrangements. | ||
|
||
.. [#] In recent pandemic times we have had to exercise some | ||
flexibility here. Maintainers still need to sign their pull | ||
requests though. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters