€•­bŒ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ŒPortuguese (Brazilian)”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ=/translations/pt_BR/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”…””}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj 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´Khj 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.”…””}”(hj(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Khj h²hubhÉ)”}”(hhh]”(hÎ)”}”(hŒMailing list participation”h]”hŒMailing list participation”…””}”(hj9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj6h²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 ”…””}”(hjGh²hh³Nh´NubhŒ reference”“”)”}”(hŒO`lei `_”h]”hŒlei”…””}”(hjQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œname”Œlei”Œrefuri”ŒFhttps://people.kernel.org/monsieuricon/lore-lei-part-1-getting-started”uh1jOhjGubhŒtarget”“”)”}”(hŒI ”h]”h}”(h]”Œlei”ah ]”h"]”Œlei”ah$]”h&]”Œrefuri”jbuh1jcŒ referenced”KhjGubhŒ.”…””}”(hjGh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K*hj6h²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.)”…””}”(hj}h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K0hj6h²hubeh}”(h]”Œmailing-list-participation”ah ]”h"]”Œmailing list participation”ah$]”h&]”uh1hÈhj h²hh³hÇh´K(ubhÉ)”}”(hhh]”(hÎ)”}”(hŒReviews”h]”hŒReviews”…””}”(hj–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj“h²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 ”…””}”(hj¤h²hh³Nh´NubhŒemphasis”“”)”}”(hŒ*all*”h]”hŒall”…””}”(hj®h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¬hj¤ubhŒ½ 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.”…””}”(hj¤h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K6hj“h²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:hj“h²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>hj“h²hubeh}”(h]”Œreviews”ah ]”h"]”Œreviews”ah$]”h&]”uh1hÈhj h²hh³hÇh´K4ubhÉ)”}”(hhh]”(hÎ)”}”(hŒRefactoring and core changes”h]”hŒRefactoring and core changes”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjh²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´KFhjh²hubeh}”(h]”Œrefactoring-and-core-changes”ah ]”h"]”Œrefactoring and core changes”ah$]”h&]”uh1hÈhj 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Íhj7h²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.”…””}”(hjHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KMhj7h²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 ”…””}”(hjVh²hh³Nh´Nubj­)”}”(hŒ *Supported*”h]”hŒ Supported”…””}”(hj^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¬hjVubhŒ0 status of the codebase in the MAINTAINERS file.”…””}”(hjVh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KQhj7h²hubeh}”(h]”Œ bug-reports”ah ]”h"]”Œ bug reports”ah$]”h&]”uh1hÈhj h²hh³hÇh´KKubhÉ)”}”(hhh]”(hÎ)”}”(hŒOpen development”h]”hŒOpen development”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj~h²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.”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KYhj~h²hubeh}”(h]”Œopen-development”ah ]”h"]”Œopen development”ah$]”h&]”uh1hÈhj 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”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjh²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.”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Kxhjh²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”…””}”(hj(h²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~hjh²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”…””}”(hjKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjHh²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.”…””}”(hjYh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K†hjHh²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.”…””}”(hjgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K‹hjHh²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:”…””}”(hjuh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KhjHh²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’hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jŽhj‹ubj)”}”(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&]”uh1jŽhj‹ubj)”}”(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&]”uh1jŽhj‹ubeh}”(h]”h ]”h"]”h$]”h&]”Œbullet”Œ-”uh1j‰h³hÇh´K’hj…ubah}”(h]”h ]”h"]”h$]”h&]”uh1jƒh³hÇh´K’hjHh²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.”…””}”(hjh²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.”…””}”(hjh²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.”…””}”(hj/h²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”jpŒ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”}”(jJjGjªj§jjjnjkj j j4j1j{jxj¢jŸjñjîjþjûjEjBjéjæjBj?uŒ nametypes”}”(jJ‰jª‰j‰jnˆj ‰j4‰j{‰j¢‰jñ‰jþ‰jE‰jé‰jB‰uh}”(jGhÊj§j jj6jkjej j“j1jjxj7jŸj~jîj­jûjÌjBjjæjHj?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.