|
@@ -0,0 +1,107 @@
|
|
|
|
+.. _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.
|