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