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