xref: /openbmc/qemu/docs/devel/maintainers.rst (revision b38d263bca64bbba36d4b175ea0f5746b4c5604d)
1668725ceSAlex Bennée.. _maintainers:
2668725ceSAlex Bennée
3668725ceSAlex BennéeThe Role of Maintainers
4668725ceSAlex Bennée=======================
5668725ceSAlex Bennée
6668725ceSAlex BennéeMaintainers are a critical part of the project's contributor ecosystem.
7668725ceSAlex BennéeThey come from a wide range of backgrounds from unpaid hobbyists
8668725ceSAlex Bennéeworking in their spare time to employees who work on the project as
9668725ceSAlex Bennéepart of their job. Maintainer activities include:
10668725ceSAlex Bennée
11668725ceSAlex Bennée  - reviewing patches and suggesting changes
12668725ceSAlex Bennée  - collecting patches and preparing pull requests
13668725ceSAlex Bennée  - tending to the long term health of their area
14668725ceSAlex Bennée  - participating in other project activities
15668725ceSAlex Bennée
16668725ceSAlex BennéeThey are also human and subject to the same pressures as everyone else
17668725ceSAlex Bennéeincluding overload and burnout. Like everyone else they are subject
18668725ceSAlex Bennéeto project's :ref:`code_of_conduct` and should also be exemplars of
19668725ceSAlex Bennéeexcellent community collaborators.
20668725ceSAlex Bennée
21668725ceSAlex BennéeThe MAINTAINERS file
22668725ceSAlex Bennée--------------------
23668725ceSAlex Bennée
24668725ceSAlex BennéeThe `MAINTAINERS
25668725ceSAlex Bennée<https://gitlab.com/qemu-project/qemu/-/blob/master/MAINTAINERS>`__
26668725ceSAlex Bennéefile contains the canonical list of who is a maintainer. The file
27668725ceSAlex Bennéeis machine readable so an appropriately configured git (see
28668725ceSAlex Bennée:ref:`cc_the_relevant_maintainer`) can automatically Cc them on
29668725ceSAlex Bennéepatches that touch their area of code.
30668725ceSAlex Bennée
31668725ceSAlex BennéeThe file also describes the status of the area of code to give an idea
32668725ceSAlex Bennéeof how actively that section is maintained.
33668725ceSAlex Bennée
34668725ceSAlex Bennée.. list-table:: Meaning of support status in MAINTAINERS
35668725ceSAlex Bennée   :widths: 25 75
36668725ceSAlex Bennée   :header-rows: 1
37668725ceSAlex Bennée
38668725ceSAlex Bennée   * - Status
39668725ceSAlex Bennée     - Meaning
40668725ceSAlex Bennée   * - Supported
41668725ceSAlex Bennée     - Someone is actually paid to look after this.
42668725ceSAlex Bennée   * - Maintained
43668725ceSAlex Bennée     - Someone actually looks after it.
44668725ceSAlex Bennée   * - Odd Fixes
45668725ceSAlex Bennée     - It has a maintainer but they don't have time to do
46668725ceSAlex Bennée       much other than throw the odd patch in.
47668725ceSAlex Bennée   * - Orphan
48668725ceSAlex Bennée     - No current maintainer.
49668725ceSAlex Bennée   * - Obsolete
50668725ceSAlex Bennée     - Old obsolete code, should use something else.
51668725ceSAlex Bennée
52668725ceSAlex BennéePlease bear in mind that even if someone is paid to support something
53668725ceSAlex Bennéeit does not mean they are paid to support you. This is open source and
54668725ceSAlex Bennéethe code comes with no warranty and the project makes no guarantees
55668725ceSAlex Bennéeabout dealing with bugs or features requests.
56668725ceSAlex Bennée
57668725ceSAlex Bennée
58668725ceSAlex Bennée
59668725ceSAlex BennéeBecoming a reviewer
60668725ceSAlex Bennée-------------------
61668725ceSAlex Bennée
62668725ceSAlex BennéeMost maintainers start by becoming subsystem reviewers. While anyone
63668725ceSAlex Bennéeis welcome to review code on the mailing list getting added to the
64668725ceSAlex BennéeMAINTAINERS file with a line like::
65668725ceSAlex Bennée
66668725ceSAlex Bennée  R: Random Hacker <rhacker@example.com>
67668725ceSAlex Bennée
68668725ceSAlex Bennéemarks you as a 'designated reviewer' - expected to provide regular
69668725ceSAlex Bennéespontaneous feedback. This will ensure that patches touching a given
70668725ceSAlex Bennéesubsystem will automatically be CC'd to you.
71668725ceSAlex Bennée
72668725ceSAlex BennéeBecoming a maintainer
73668725ceSAlex Bennée---------------------
74668725ceSAlex Bennée
75668725ceSAlex BennéeMaintainers are volunteers who put themselves forward or have been
76668725ceSAlex Bennéeasked by others to keep an eye on an area of code. They have generally
77668725ceSAlex Bennéedemonstrated to the community, usually via contributions and code
78668725ceSAlex Bennéereviews, that they have a good understanding of the subsystem. They
79668725ceSAlex Bennéeare also trusted to make a positive contribution to the project and
80668725ceSAlex Bennéework well with the other contributors.
81668725ceSAlex Bennée
82668725ceSAlex BennéeThe process is simple - simply send a patch to the list that updates
83668725ceSAlex Bennéethe ``MAINTAINERS`` file. Sometimes this is done as part of a larger
84668725ceSAlex Bennéeseries when a new sub-system is being added to the code base. This can
85668725ceSAlex Bennéealso be done by a retiring maintainer who nominates their replacement
86668725ceSAlex Bennéeafter discussion with other contributors.
87668725ceSAlex Bennée
88668725ceSAlex BennéeOnce the patch is reviewed and merged the only other step is to make
89668725ceSAlex Bennéesure your GPG key is signed.
90668725ceSAlex Bennée
91668725ceSAlex Bennée.. _maintainer_keys:
92668725ceSAlex Bennée
93668725ceSAlex BennéeMaintainer GPG Keys
94668725ceSAlex Bennée~~~~~~~~~~~~~~~~~~~
95668725ceSAlex Bennée
96668725ceSAlex BennéeGPG is used to sign pull requests so they can be identified as really
97668725ceSAlex Bennéecoming from the maintainer. If your key is not already signed by
98668725ceSAlex Bennéemembers of the QEMU community, you should make arrangements to attend
99668725ceSAlex Bennéea `KeySigningParty <https://wiki.qemu.org/KeySigningParty>`__ (for
100668725ceSAlex Bennéeexample at KVM Forum) or make alternative arrangements to have your
101668725ceSAlex Bennéekey signed by an attendee. Key signing requires meeting another
102*381d2c36SPaolo Bonzinicommunity member **in person**\ [#2020]_ so please make appropriate
103668725ceSAlex Bennéearrangements.
104668725ceSAlex Bennée
105*381d2c36SPaolo Bonzini.. [#2020] In recent pandemic times we have had to exercise some
106668725ceSAlex Bennée       flexibility here. Maintainers still need to sign their pull
107668725ceSAlex Bennée       requests though.
108