^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) .. _maintainerentryprofile:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) Maintainer Entry Profile
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) ========================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) The Maintainer Entry Profile supplements the top-level process documents
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) (submitting-patches, submitting drivers...) with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) subsystem/device-driver-local customs as well as details about the patch
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) submission life-cycle. A contributor uses this document to level set
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) their expectations and avoid common mistakes; maintainers may use these
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) profiles to look across subsystems for opportunities to converge on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) common practices.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) Overview
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) --------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) Provide an introduction to how the subsystem operates. While MAINTAINERS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) tells the contributor where to send patches for which files, it does not
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) convey other subsystem-local infrastructure and mechanisms that aid
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) development.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) Example questions to consider:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) - Are there notifications when patches are applied to the local tree, or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) merged upstream?
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) - Does the subsystem have a patchwork instance? Are patchwork state
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) changes notified?
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) - Any bots or CI infrastructure that watches the list, or automated
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) testing feedback that the subsystem uses to gate acceptance?
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) - Git branches that are pulled into -next?
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) - What branch should contributors submit against?
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) - Links to any other Maintainer Entry Profiles? For example a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) device-driver may point to an entry for its parent subsystem. This makes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) the contributor aware of obligations a maintainer may have for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) other maintainers in the submission chain.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) Submit Checklist Addendum
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) -------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) List mandatory and advisory criteria, beyond the common "submit-checklist",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) for a patch to be considered healthy enough for maintainer attention.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) For example: "pass checkpatch.pl with no errors, or warning. Pass the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) unit test detailed at $URI".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) The Submit Checklist Addendum can also include details about the status
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) of related hardware specifications. For example, does the subsystem
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) require published specifications at a certain revision before patches
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) will be considered.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) Key Cycle Dates
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) ---------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) One of the common misunderstandings of submitters is that patches can be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) sent at any time before the merge window closes and can still be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) considered for the next -rc1. The reality is that most patches need to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) be settled in soaking in linux-next in advance of the merge window
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) opening. Clarify for the submitter the key dates (in terms of -rc release
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) week) that patches might be considered for merging and when patches need to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) wait for the next -rc. At a minimum:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) - Last -rc for new feature submissions:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) New feature submissions targeting the next merge window should have
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) their first posting for consideration before this point. Patches that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) are submitted after this point should be clear that they are targeting
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) the NEXT+1 merge window, or should come with sufficient justification
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) why they should be considered on an expedited schedule. A general
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) guideline is to set expectation with contributors that new feature
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) submissions should appear before -rc5.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) - Last -rc to merge features: Deadline for merge decisions
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) Indicate to contributors the point at which an as yet un-applied patch
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) set will need to wait for the NEXT+1 merge window. Of course there is no
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) obligation to ever accept any given patchset, but if the review has not
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) concluded by this point the expectation is the contributor should wait and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) resubmit for the following merge window.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) Optional:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) - First -rc at which the development baseline branch, listed in the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) overview section, should be considered ready for new submissions.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) Review Cadence
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) --------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) One of the largest sources of contributor angst is how soon to ping
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) after a patchset has been posted without receiving any feedback. In
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) addition to specifying how long to wait before a resubmission this
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) section can also indicate a preferred style of update like, resend the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) full series, or privately send a reminder email. This section might also
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) list how review works for this code area and methods to get feedback
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) that are not directly from the maintainer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) Existing profiles
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) -----------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) For now, existing maintainer profiles are listed here; we will likely want
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) to do something different in the near future.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) .. toctree::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) :maxdepth: 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) ../doc-guide/maintainer-profile
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) ../nvdimm/maintainer-entry-profile
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) ../riscv/patch-acceptance