1*668725ceSAlex Bennée.. _maintainers: 2*668725ceSAlex Bennée 3*668725ceSAlex BennéeThe Role of Maintainers 4*668725ceSAlex Bennée======================= 5*668725ceSAlex Bennée 6*668725ceSAlex BennéeMaintainers are a critical part of the project's contributor ecosystem. 7*668725ceSAlex BennéeThey come from a wide range of backgrounds from unpaid hobbyists 8*668725ceSAlex Bennéeworking in their spare time to employees who work on the project as 9*668725ceSAlex Bennéepart of their job. Maintainer activities include: 10*668725ceSAlex Bennée 11*668725ceSAlex Bennée - reviewing patches and suggesting changes 12*668725ceSAlex Bennée - collecting patches and preparing pull requests 13*668725ceSAlex Bennée - tending to the long term health of their area 14*668725ceSAlex Bennée - participating in other project activities 15*668725ceSAlex Bennée 16*668725ceSAlex BennéeThey are also human and subject to the same pressures as everyone else 17*668725ceSAlex Bennéeincluding overload and burnout. Like everyone else they are subject 18*668725ceSAlex Bennéeto project's :ref:`code_of_conduct` and should also be exemplars of 19*668725ceSAlex Bennéeexcellent community collaborators. 20*668725ceSAlex Bennée 21*668725ceSAlex BennéeThe MAINTAINERS file 22*668725ceSAlex Bennée-------------------- 23*668725ceSAlex Bennée 24*668725ceSAlex BennéeThe `MAINTAINERS 25*668725ceSAlex Bennée<https://gitlab.com/qemu-project/qemu/-/blob/master/MAINTAINERS>`__ 26*668725ceSAlex Bennéefile contains the canonical list of who is a maintainer. The file 27*668725ceSAlex Bennéeis machine readable so an appropriately configured git (see 28*668725ceSAlex Bennée:ref:`cc_the_relevant_maintainer`) can automatically Cc them on 29*668725ceSAlex Bennéepatches that touch their area of code. 30*668725ceSAlex Bennée 31*668725ceSAlex BennéeThe file also describes the status of the area of code to give an idea 32*668725ceSAlex Bennéeof how actively that section is maintained. 33*668725ceSAlex Bennée 34*668725ceSAlex Bennée.. list-table:: Meaning of support status in MAINTAINERS 35*668725ceSAlex Bennée :widths: 25 75 36*668725ceSAlex Bennée :header-rows: 1 37*668725ceSAlex Bennée 38*668725ceSAlex Bennée * - Status 39*668725ceSAlex Bennée - Meaning 40*668725ceSAlex Bennée * - Supported 41*668725ceSAlex Bennée - Someone is actually paid to look after this. 42*668725ceSAlex Bennée * - Maintained 43*668725ceSAlex Bennée - Someone actually looks after it. 44*668725ceSAlex Bennée * - Odd Fixes 45*668725ceSAlex Bennée - It has a maintainer but they don't have time to do 46*668725ceSAlex Bennée much other than throw the odd patch in. 47*668725ceSAlex Bennée * - Orphan 48*668725ceSAlex Bennée - No current maintainer. 49*668725ceSAlex Bennée * - Obsolete 50*668725ceSAlex Bennée - Old obsolete code, should use something else. 51*668725ceSAlex Bennée 52*668725ceSAlex BennéePlease bear in mind that even if someone is paid to support something 53*668725ceSAlex Bennéeit does not mean they are paid to support you. This is open source and 54*668725ceSAlex Bennéethe code comes with no warranty and the project makes no guarantees 55*668725ceSAlex Bennéeabout dealing with bugs or features requests. 56*668725ceSAlex Bennée 57*668725ceSAlex Bennée 58*668725ceSAlex Bennée 59*668725ceSAlex BennéeBecoming a reviewer 60*668725ceSAlex Bennée------------------- 61*668725ceSAlex Bennée 62*668725ceSAlex BennéeMost maintainers start by becoming subsystem reviewers. While anyone 63*668725ceSAlex Bennéeis welcome to review code on the mailing list getting added to the 64*668725ceSAlex BennéeMAINTAINERS file with a line like:: 65*668725ceSAlex Bennée 66*668725ceSAlex Bennée R: Random Hacker <rhacker@example.com> 67*668725ceSAlex Bennée 68*668725ceSAlex Bennéemarks you as a 'designated reviewer' - expected to provide regular 69*668725ceSAlex Bennéespontaneous feedback. This will ensure that patches touching a given 70*668725ceSAlex Bennéesubsystem will automatically be CC'd to you. 71*668725ceSAlex Bennée 72*668725ceSAlex BennéeBecoming a maintainer 73*668725ceSAlex Bennée--------------------- 74*668725ceSAlex Bennée 75*668725ceSAlex BennéeMaintainers are volunteers who put themselves forward or have been 76*668725ceSAlex Bennéeasked by others to keep an eye on an area of code. They have generally 77*668725ceSAlex Bennéedemonstrated to the community, usually via contributions and code 78*668725ceSAlex Bennéereviews, that they have a good understanding of the subsystem. They 79*668725ceSAlex Bennéeare also trusted to make a positive contribution to the project and 80*668725ceSAlex Bennéework well with the other contributors. 81*668725ceSAlex Bennée 82*668725ceSAlex BennéeThe process is simple - simply send a patch to the list that updates 83*668725ceSAlex Bennéethe ``MAINTAINERS`` file. Sometimes this is done as part of a larger 84*668725ceSAlex Bennéeseries when a new sub-system is being added to the code base. This can 85*668725ceSAlex Bennéealso be done by a retiring maintainer who nominates their replacement 86*668725ceSAlex Bennéeafter discussion with other contributors. 87*668725ceSAlex Bennée 88*668725ceSAlex BennéeOnce the patch is reviewed and merged the only other step is to make 89*668725ceSAlex Bennéesure your GPG key is signed. 90*668725ceSAlex Bennée 91*668725ceSAlex Bennée.. _maintainer_keys: 92*668725ceSAlex Bennée 93*668725ceSAlex BennéeMaintainer GPG Keys 94*668725ceSAlex Bennée~~~~~~~~~~~~~~~~~~~ 95*668725ceSAlex Bennée 96*668725ceSAlex BennéeGPG is used to sign pull requests so they can be identified as really 97*668725ceSAlex Bennéecoming from the maintainer. If your key is not already signed by 98*668725ceSAlex Bennéemembers of the QEMU community, you should make arrangements to attend 99*668725ceSAlex Bennéea `KeySigningParty <https://wiki.qemu.org/KeySigningParty>`__ (for 100*668725ceSAlex Bennéeexample at KVM Forum) or make alternative arrangements to have your 101*668725ceSAlex Bennéekey signed by an attendee. Key signing requires meeting another 102*668725ceSAlex Bennéecommunity member **in person** [#]_ so please make appropriate 103*668725ceSAlex Bennéearrangements. 104*668725ceSAlex Bennée 105*668725ceSAlex Bennée.. [#] In recent pandemic times we have had to exercise some 106*668725ceSAlex Bennée flexibility here. Maintainers still need to sign their pull 107*668725ceSAlex Bennée requests though. 108