| .. _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> |
| |
| marks you as a 'designated reviewer' - expected to provide regular |
| spontaneous feedback. This 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. |