€•¦aŒsphinx.addnodes”Œdocument”“”)”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)”}”(hhh]”(hŒ pending_xref”“”)”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…””}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ=/translations/zh_CN/maintainer/feature-and-driver-maintainers”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ=/translations/zh_TW/maintainer/feature-and-driver-maintainers”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ=/translations/it_IT/maintainer/feature-and-driver-maintainers”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ=/translations/ja_JP/maintainer/feature-and-driver-maintainers”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ=/translations/ko_KR/maintainer/feature-and-driver-maintainers”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒSpanish”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ=/translations/sp_SP/maintainer/feature-and-driver-maintainers”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒcomment”“”)”}”(hŒ SPDX-License-Identifier: GPL-2.0”h]”hŒ SPDX-License-Identifier: GPL-2.0”…””}”hh£sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1h¡hhhžhhŸŒW/var/lib/git/docbuild/linux/Documentation/maintainer/feature-and-driver-maintainers.rst”h KubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒFeature and driver maintainers”h]”hŒFeature and driver maintainers”…””}”(hh»hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hh¶hžhhŸh³h KubhŒ paragraph”“”)”}”(hŒÅThe term "maintainer" spans a very wide range of levels of engagement from people handling patches and pull requests as almost a full time job to people responsible for a small feature or a driver.”h]”hŒÉThe term “maintainer†spans a very wide range of levels of engagement from people handling patches and pull requests as almost a full time job to people responsible for a small feature or a driver.”…””}”(hhËhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h Khh¶hžhubhÊ)”}”(hŒÐUnlike most of the chapter, this section is meant for the latter (more populous) group. It provides tips and describes the expectations and responsibilities of maintainers of a small(ish) section of the code.”h]”hŒÐUnlike most of the chapter, this section is meant for the latter (more populous) group. It provides tips and describes the expectations and responsibilities of maintainers of a small(ish) section of the code.”…””}”(hhÙhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K hh¶hžhubhÊ)”}”(hŒ•Drivers and alike most often do not have their own mailing lists and git trees but instead send and review patches on the list of a larger subsystem.”h]”hŒ•Drivers and alike most often do not have their own mailing lists and git trees but instead send and review patches on the list of a larger subsystem.”…””}”(hhçhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h Khh¶hžhubhµ)”}”(hhh]”(hº)”}”(hŒResponsibilities”h]”hŒResponsibilities”…””}”(hhøhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hhõhžhhŸh³h KubhÊ)”}”(hX The amount of maintenance work is usually proportional to the size and popularity of the code base. Small features and drivers should require relatively small amount of care and feeding. Nonetheless when the work does arrive (in form of patches which need review, user bug reports etc.) it has to be acted upon promptly. Even when a particular driver only sees one patch a month, or a quarter, a subsystem could well have a hundred such drivers. Subsystem maintainers cannot afford to wait a long time to hear from reviewers.”h]”hX The amount of maintenance work is usually proportional to the size and popularity of the code base. Small features and drivers should require relatively small amount of care and feeding. Nonetheless when the work does arrive (in form of patches which need review, user bug reports etc.) it has to be acted upon promptly. Even when a particular driver only sees one patch a month, or a quarter, a subsystem could well have a hundred such drivers. Subsystem maintainers cannot afford to wait a long time to hear from reviewers.”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h KhhõhžhubhÊ)”}”(hXæThe exact expectations on the response time will vary by subsystem. The patch review SLA the subsystem had set for itself can sometimes be found in the subsystem documentation. Failing that as a rule of thumb reviewers should try to respond quicker than what is the usual patch review delay of the subsystem maintainer. The resulting expectations may range from two working days for fast-paced subsystems (e.g. networking) to as long as a few weeks in slower moving parts of the kernel.”h]”hXæThe exact expectations on the response time will vary by subsystem. The patch review SLA the subsystem had set for itself can sometimes be found in the subsystem documentation. Failing that as a rule of thumb reviewers should try to respond quicker than what is the usual patch review delay of the subsystem maintainer. The resulting expectations may range from two working days for fast-paced subsystems (e.g. networking) to as long as a few weeks in slower moving parts of the kernel.”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h Khhõhžhubhµ)”}”(hhh]”(hº)”}”(hŒMailing list participation”h]”hŒMailing list participation”…””}”(hj%hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hj"hžhhŸh³h K(ubhÊ)”}”(hX@Linux kernel uses mailing lists as the primary form of communication. Maintainers must be subscribed and follow the appropriate subsystem-wide mailing list. Either by subscribing to the whole list or using more modern, selective setup like `lei `_.”h]”(hŒðLinux kernel uses mailing lists as the primary form of communication. Maintainers must be subscribed and follow the appropriate subsystem-wide mailing list. Either by subscribing to the whole list or using more modern, selective setup like ”…””}”(hj3hžhhŸNh NubhŒ reference”“”)”}”(hŒO`lei `_”h]”hŒlei”…””}”(hj=hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œname”Œlei”Œrefuri”ŒFhttps://people.kernel.org/monsieuricon/lore-lei-part-1-getting-started”uh1j;hj3ubhŒtarget”“”)”}”(hŒI ”h]”h}”(h]”Œlei”ah ]”h"]”Œlei”ah$]”h&]”Œrefuri”jNuh1jOŒ referenced”Khj3ubhŒ.”…””}”(hj3hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K*hj"hžhubhÊ)”}”(hŒrMaintainers must know how to communicate on the list (plain text, no invasive legal footers, no top posting, etc.)”h]”hŒrMaintainers must know how to communicate on the list (plain text, no invasive legal footers, no top posting, etc.)”…””}”(hjihžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K0hj"hžhubeh}”(h]”Œmailing-list-participation”ah ]”h"]”Œmailing list participation”ah$]”h&]”uh1h´hhõhžhhŸh³h K(ubhµ)”}”(hhh]”(hº)”}”(hŒReviews”h]”hŒReviews”…””}”(hj‚hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hjhžhhŸh³h K4ubhÊ)”}”(hŒÚMaintainers must review *all* patches touching exclusively their drivers, no matter how trivial. If the patch is a tree wide change and modifies multiple drivers - whether to provide a review is left to the maintainer.”h]”(hŒMaintainers must review ”…””}”(hjhžhhŸNh NubhŒemphasis”“”)”}”(hŒ*all*”h]”hŒall”…””}”(hjšhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j˜hjubhŒ½ patches touching exclusively their drivers, no matter how trivial. If the patch is a tree wide change and modifies multiple drivers - whether to provide a review is left to the maintainer.”…””}”(hjhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K6hjhžhubhÊ)”}”(hŒ³When there are multiple maintainers for a piece of code an ``Acked-by`` or ``Reviewed-by`` tag (or review comments) from a single maintainer is enough to satisfy this requirement.”h]”(hŒ;When there are multiple maintainers for a piece of code an ”…””}”(hj²hžhhŸNh NubhŒliteral”“”)”}”(hŒ ``Acked-by``”h]”hŒAcked-by”…””}”(hj¼hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jºhj²ubhŒ or ”…””}”(hj²hžhhŸNh Nubj»)”}”(hŒ``Reviewed-by``”h]”hŒ Reviewed-by”…””}”(hjÎhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jºhj²ubhŒY tag (or review comments) from a single maintainer is enough to satisfy this requirement.”…””}”(hj²hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K:hjhžhubhÊ)”}”(hŒôIf the review process or validation for a particular change will take longer than the expected review timeline for the subsystem, maintainer should reply to the submission indicating that the work is being done, and when to expect full results.”h]”hŒôIf the review process or validation for a particular change will take longer than the expected review timeline for the subsystem, maintainer should reply to the submission indicating that the work is being done, and when to expect full results.”…””}”(hjæhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K>hjhžhubeh}”(h]”Œreviews”ah ]”h"]”Œreviews”ah$]”h&]”uh1h´hhõhžhhŸh³h K4ubhµ)”}”(hhh]”(hº)”}”(hŒRefactoring and core changes”h]”hŒRefactoring and core changes”…””}”(hjÿhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hjühžhhŸh³h KDubhÊ)”}”(hŒ×Occasionally core code needs to be changed to improve the maintainability of the kernel as a whole. Maintainers are expected to be present and help guide and test changes to their code to fit the new infrastructure.”h]”hŒ×Occasionally core code needs to be changed to improve the maintainability of the kernel as a whole. Maintainers are expected to be present and help guide and test changes to their code to fit the new infrastructure.”…””}”(hj hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h KFhjühžhubeh}”(h]”Œrefactoring-and-core-changes”ah ]”h"]”Œrefactoring and core changes”ah$]”h&]”uh1h´hhõhžhhŸh³h KDubhµ)”}”(hhh]”(hº)”}”(hŒ Bug reports”h]”hŒ Bug reports”…””}”(hj&hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hj#hžhhŸh³h KKubhÊ)”}”(hŒÞMaintainers must ensure severe problems in their code reported to them are resolved in a timely manner: regressions, kernel crashes, kernel warnings, compilation errors, lockups, data loss, and other bugs of similar scope.”h]”hŒÞMaintainers must ensure severe problems in their code reported to them are resolved in a timely manner: regressions, kernel crashes, kernel warnings, compilation errors, lockups, data loss, and other bugs of similar scope.”…””}”(hj4hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h KMhj#hžhubhÊ)”}”(hŒþMaintainers furthermore should respond to reports about other kinds of bugs as well, if the report is of reasonable quality or indicates a problem that might be severe -- especially if they have *Supported* status of the codebase in the MAINTAINERS file.”h]”(hŒÃMaintainers furthermore should respond to reports about other kinds of bugs as well, if the report is of reasonable quality or indicates a problem that might be severe -- especially if they have ”…””}”(hjBhžhhŸNh Nubj™)”}”(hŒ *Supported*”h]”hŒ Supported”…””}”(hjJhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j˜hjBubhŒ0 status of the codebase in the MAINTAINERS file.”…””}”(hjBhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h KQhj#hžhubeh}”(h]”Œ bug-reports”ah ]”h"]”Œ bug reports”ah$]”h&]”uh1h´hhõhžhhŸh³h KKubhµ)”}”(hhh]”(hº)”}”(hŒOpen development”h]”hŒOpen development”…””}”(hjmhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hjjhžhhŸh³h KWubhÊ)”}”(hXÔDiscussions about user reported issues, and development of new code should be conducted in a manner typical for the larger subsystem. It is common for development within a single company to be conducted behind closed doors. However, development and discussions initiated by community members must not be redirected from public to closed forums or to private email conversations. Reasonable exceptions to this guidance include discussions about security related issues.”h]”hXÔDiscussions about user reported issues, and development of new code should be conducted in a manner typical for the larger subsystem. It is common for development within a single company to be conducted behind closed doors. However, development and discussions initiated by community members must not be redirected from public to closed forums or to private email conversations. Reasonable exceptions to this guidance include discussions about security related issues.”…””}”(hj{hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h KYhjjhžhubeh}”(h]”Œopen-development”ah ]”h"]”Œopen development”ah$]”h&]”uh1h´hhõhžhhŸh³h KWubeh}”(h]”Œresponsibilities”ah ]”h"]”Œresponsibilities”ah$]”h&]”uh1h´hh¶hžhhŸh³h Kubhµ)”}”(hhh]”(hº)”}”(hŒSelecting the maintainer”h]”hŒSelecting the maintainer”…””}”(hjœhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hj™hžhhŸh³h KbubhÊ)”}”(hŒ—The previous section described the expectations of the maintainer, this section provides guidance on selecting one and describes common misconceptions.”h]”hŒ—The previous section described the expectations of the maintainer, this section provides guidance on selecting one and describes common misconceptions.”…””}”(hjªhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h Kdhj™hžhubhµ)”}”(hhh]”(hº)”}”(hŒ The author”h]”hŒ The author”…””}”(hj»hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hj¸hžhhŸh³h KiubhÊ)”}”(hŒ»Most natural and common choice of a maintainer is the author of the code. The author is intimately familiar with the code, so it is the best person to take care of it on an ongoing basis.”h]”hŒ»Most natural and common choice of a maintainer is the author of the code. The author is intimately familiar with the code, so it is the best person to take care of it on an ongoing basis.”…””}”(hjÉhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h Kkhj¸hžhubhÊ)”}”(hX=That said, being a maintainer is an active role. The MAINTAINERS file is not a list of credits (in fact a separate CREDITS file exists), it is a list of those who will actively help with the code. If the author does not have the time, interest or ability to maintain the code, a different maintainer must be selected.”h]”hX=That said, being a maintainer is an active role. The MAINTAINERS file is not a list of credits (in fact a separate CREDITS file exists), it is a list of those who will actively help with the code. If the author does not have the time, interest or ability to maintain the code, a different maintainer must be selected.”…””}”(hj×hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h Kohj¸hžhubeh}”(h]”Œ the-author”ah ]”h"]”Œ the author”ah$]”h&]”uh1h´hj™hžhhŸh³h Kiubhµ)”}”(hhh]”(hº)”}”(hŒMultiple maintainers”h]”hŒMultiple maintainers”…””}”(hjðhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hjíhžhhŸh³h KvubhÊ)”}”(hXFModern best practices dictate that there should be at least two maintainers for any piece of code, no matter how trivial. It spreads the burden, helps people take vacations and prevents burnout, trains new members of the community etc. etc. Even when there is clearly one perfect candidate, another maintainer should be found.”h]”hXFModern best practices dictate that there should be at least two maintainers for any piece of code, no matter how trivial. It spreads the burden, helps people take vacations and prevents burnout, trains new members of the community etc. etc. Even when there is clearly one perfect candidate, another maintainer should be found.”…””}”(hjþhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h KxhjíhžhubhÊ)”}”(hX$Maintainers must be human, therefore, it is not acceptable to add a mailing list or a group email as a maintainer. Trust and understanding are the foundation of kernel maintenance and one cannot build trust with a mailing list. Having a mailing list *in addition* to humans is perfectly fine.”h]”(hŒúMaintainers must be human, therefore, it is not acceptable to add a mailing list or a group email as a maintainer. Trust and understanding are the foundation of kernel maintenance and one cannot build trust with a mailing list. Having a mailing list ”…””}”(hj hžhhŸNh Nubj™)”}”(hŒ *in addition*”h]”hŒ in addition”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j˜hj ubhŒ to humans is perfectly fine.”…””}”(hj hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K~hjíhžhubeh}”(h]”Œmultiple-maintainers”ah ]”h"]”Œmultiple maintainers”ah$]”h&]”uh1h´hj™hžhhŸh³h Kvubhµ)”}”(hhh]”(hº)”}”(hŒCorporate structures”h]”hŒCorporate structures”…””}”(hj7hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hj4hžhhŸh³h K„ubhÊ)”}”(hXTo an outsider the Linux kernel may resemble a hierarchical organization with Linus as the CEO. While the code flows in a hierarchical fashion, the corporate template does not apply here. Linux is an anarchy held together by (rarely expressed) mutual respect, trust and convenience.”h]”hXTo an outsider the Linux kernel may resemble a hierarchical organization with Linus as the CEO. While the code flows in a hierarchical fashion, the corporate template does not apply here. Linux is an anarchy held together by (rarely expressed) mutual respect, trust and convenience.”…””}”(hjEhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K†hj4hžhubhÊ)”}”(hŒŸAll that is to say that managers almost never make good maintainers. The maintainer position more closely matches an on-call rotation than a position of power.”h]”hŒŸAll that is to say that managers almost never make good maintainers. The maintainer position more closely matches an on-call rotation than a position of power.”…””}”(hjShžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K‹hj4hžhubhÊ)”}”(hŒWThe following characteristics of a person selected as a maintainer are clear red flags:”h]”hŒWThe following characteristics of a person selected as a maintainer are clear red flags:”…””}”(hjahžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h Khj4hžhubhŒ block_quote”“”)”}”(hŒç- unknown to the community, never sent an email to the list before - did not author any of the code - (when development is contracted) works for a company which paid for the development rather than the company which did the work ”h]”hŒ bullet_list”“”)”}”(hhh]”(hŒ list_item”“”)”}”(hŒ@unknown to the community, never sent an email to the list before”h]”hÊ)”}”(hj~h]”hŒ@unknown to the community, never sent an email to the list before”…””}”(hj€hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K’hj|ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzhjwubj{)”}”(hŒdid not author any of the code”h]”hÊ)”}”(hj•h]”hŒdid not author any of the code”…””}”(hj—hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K“hj“ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzhjwubj{)”}”(hŒ(when development is contracted) works for a company which paid for the development rather than the company which did the work ”h]”hÊ)”}”(hŒ~(when development is contracted) works for a company which paid for the development rather than the company which did the work”h]”hŒ~(when development is contracted) works for a company which paid for the development rather than the company which did the work”…””}”(hj®hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K”hjªubah}”(h]”h ]”h"]”h$]”h&]”uh1jzhjwubeh}”(h]”h ]”h"]”h$]”h&]”Œbullet”Œ-”uh1juhŸh³h K’hjqubah}”(h]”h ]”h"]”h$]”h&]”uh1johŸh³h K’hj4hžhubeh}”(h]”Œcorporate-structures”ah ]”h"]”Œcorporate structures”ah$]”h&]”uh1h´hj™hžhhŸh³h K„ubeh}”(h]”Œselecting-the-maintainer”ah ]”h"]”Œselecting the maintainer”ah$]”h&]”uh1h´hh¶hžhhŸh³h Kbubhµ)”}”(hhh]”(hº)”}”(hŒNon compliance”h]”hŒNon compliance”…””}”(hjãhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hjàhžhhŸh³h K˜ubhÊ)”}”(hŒáSubsystem maintainers may remove inactive maintainers from the MAINTAINERS file. If the maintainer was a significant author or played an important role in the development of the code, they should be moved to the CREDITS file.”h]”hŒáSubsystem maintainers may remove inactive maintainers from the MAINTAINERS file. If the maintainer was a significant author or played an important role in the development of the code, they should be moved to the CREDITS file.”…””}”(hjñhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h KšhjàhžhubhÊ)”}”(hXRemoving an inactive maintainer should not be seen as a punitive action. Having an inactive maintainer has a real cost as all developers have to remember to include the maintainers in discussions and subsystem maintainers spend brain power figuring out how to solicit feedback.”h]”hXRemoving an inactive maintainer should not be seen as a punitive action. Having an inactive maintainer has a real cost as all developers have to remember to include the maintainers in discussions and subsystem maintainers spend brain power figuring out how to solicit feedback.”…””}”(hjÿhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h KžhjàhžhubhÊ)”}”(hŒ>Subsystem maintainers may remove code for lacking maintenance.”h]”hŒ>Subsystem maintainers may remove code for lacking maintenance.”…””}”(hj hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K£hjàhžhubhÊ)”}”(hŒvSubsystem maintainers may refuse accepting code from companies which repeatedly neglected their maintainership duties.”h]”hŒvSubsystem maintainers may refuse accepting code from companies which repeatedly neglected their maintainership duties.”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K¥hjàhžhubeh}”(h]”Œnon-compliance”ah ]”h"]”Œnon compliance”ah$]”h&]”uh1h´hh¶hžhhŸh³h K˜ubeh}”(h]”Œfeature-and-driver-maintainers”ah ]”h"]”Œfeature and driver maintainers”ah$]”h&]”uh1h´hhhžhhŸh³h Kubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”h³uh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)”}”(h¹NŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”Œentry”Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”j\Œerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”h³Œ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”Œnameids”}”(j6j3j–j“j|jyjZjWjùjöj jjgjdjŽj‹jÝjÚjêjçj1j.jÕjÒj.j+uŒ nametypes”}”(j6‰j–‰j|‰jZˆjù‰j ‰jg‰jމj݉jê‰j1‰jÕ‰j.‰uh}”(j3h¶j“hõjyj"jWjQjöjjjüjdj#j‹jjjÚj™jçj¸j.jíjÒj4j+jàuŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”…”R”Œparse_messages”]”Œtransform_messages”]”Œ transformer”NŒ include_log”]”Œ decoration”Nhžhub.