From: Krzysztof Kozlowski <krzk@kernel.org>
To: Jakub Kicinski <kuba@kernel.org>, corbet@lwn.net
Cc: workflows@vger.kernel.org, linux-doc@vger.kernel.org,
linux-kernel@vger.kernel.org, gregkh@linuxfoundation.org
Subject: Re: [PATCH docs] docs: maintainer: document expectations of small time maintainers
Date: Fri, 14 Jul 2023 06:36:41 +0200 [thread overview]
Message-ID: <6f1014cd-f8c5-f935-dcc7-4f5a6b85e473@kernel.org> (raw)
In-Reply-To: <20230713223432.1501133-1-kuba@kernel.org>
On 14/07/2023 00:34, Jakub Kicinski wrote:
> We appear to have a gap in our process docs. We go into detail
> on how to contribute code to the kernel, and how to be a subsystem
> maintainer. I can't find any docs directed towards the thousands
> of small scale maintainers, like folks maintaining a single driver
> or a single network protocol.
>
> Document our expectations and best practices. I'm hoping this doc
> will be particularly useful to set expectations with HW vendors.
>
> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
> ---
> Please consider this more of a draft than a statement of my opinion.
> IOW prefer suggesting edits over arguing about correctness, hope
> that makes sense.
> ---
> .../feature-and-driver-maintainers.rst | 159 ++++++++++++++++++
> Documentation/maintainer/index.rst | 1 +
> 2 files changed, 160 insertions(+)
> create mode 100644 Documentation/maintainer/feature-and-driver-maintainers.rst
>
> diff --git a/Documentation/maintainer/feature-and-driver-maintainers.rst b/Documentation/maintainer/feature-and-driver-maintainers.rst
> new file mode 100644
> index 000000000000..ee8ccc22b16a
> --- /dev/null
> +++ b/Documentation/maintainer/feature-and-driver-maintainers.rst
> @@ -0,0 +1,159 @@
> +.. SPDX-License-Identifier: GPL-2.0
> +
> +==============================
> +Feature and driver maintainers
> +==============================
> +
> +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.
> +
> +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.
> +
> +Driver 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.
> +
> +Responsibilities
> +================
> +
> +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 very promptly.
> +Even when single 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.
> +
> +The exact expectations on the review time will vary by subsystem
> +from 1 day (e.g. networking) to a week in smaller subsystems.
Two weeks is the upper limit.
> +
> +Mailing list participation
> +--------------------------
> +
> +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 <https://people.kernel.org/monsieuricon/lore-lei-part-1-getting-started>`_.
> +
> +Maintainers must know how to communicate on the list (plain text, no invasive
> +legal footers, no top posting, etc.)
> +
> +Reviews
> +-------
> +
> +Maintainers must review *all* patches touching exclusively their drivers,
I don't agree with this as a small driver maintainer. Several subsystem
maintainers take the patches much faster than I am able to check the
inbox. I can provide names if you need some proves. With such criteria I
should be removed from maintainers, because I am not able to review
within 24h.
Either give reasonable time, like two weeks, or don't require driver
maintainers to be 24/7 for subystem maintainer disposal. This is very
unfair rule.
> +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.
> +
> +There should be multiple maintainers for any piece of code, an ``Acked-by``
> +or ``Reviewed-by`` tag (or review comments) from a single maintainer is
> +enough to satisfy this requirement.
> +
> +If 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.
> +
> +Refactoring and core changes
> +----------------------------
> +
> +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.
> +
> +Bug reports
> +-----------
> +
> +Maintainers must respond to and address bug reports. The bug reports
This is even more unreasonable than previous 1 day review. I don't have
capabilities to address bug reports for numerous drivers I am
maintaining. I don't have hardware, I don't have time, no one pays me
for it. I still need some life outside of working hours, so expecting
both reviews in 1 day and addressing bugs is way too much.
> +range from users reporting real life crashes, thru errors discovered
> +in fuzzing to reports of issues with the code found by static analysis
> +tools and new compiler warnings.
> +
> +Volunteer maintainers are only required to address bugs and regressions.
"Only required"? That's not "only" but a lot.
> +It is understood that due to lack of access to documentation and
> +implementation details they may not be able to solve all problems.
So how do I address? Say "Oh, that's bad"?
Jakub, with both of your criteria - reviewing and addressing - I should
be dropped from all the driver maintainership. If this document passes,
I will do it - drop myself - because:
1. No one pays me for it,
2. I barely have hardware,
3. I want to live a life and I am already working much more than 8h per day.
Best regards,
Krzysztof
next prev parent reply other threads:[~2023-07-14 4:36 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-13 22:34 Jakub Kicinski
2023-07-14 4:36 ` Krzysztof Kozlowski [this message]
2023-07-14 5:05 ` Matthew Wilcox
2023-07-14 17:10 ` Jakub Kicinski
2023-07-15 10:31 ` Linux regression tracking (Thorsten Leemhuis)
2023-07-17 7:49 ` Krzysztof Kozlowski
2023-07-17 14:37 ` Greg KH
2023-07-18 15:37 ` Jakub Kicinski
2023-07-18 16:02 ` Thorsten Leemhuis
2023-07-17 7:44 ` Krzysztof Kozlowski
2023-07-14 6:24 ` Thorsten Leemhuis
2023-07-14 17:22 ` Jakub Kicinski
2023-07-14 17:59 ` Mark Brown
2023-07-14 18:34 ` Jakub Kicinski
2023-07-14 20:02 ` Mark Brown
2023-07-15 6:38 ` Greg KH
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=6f1014cd-f8c5-f935-dcc7-4f5a6b85e473@kernel.org \
--to=krzk@kernel.org \
--cc=corbet@lwn.net \
--cc=gregkh@linuxfoundation.org \
--cc=kuba@kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=workflows@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox