2
0

maintainers.rst 3.9 KB

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