2022-09-29 00:58:19

by Bryan O'Donoghue

[permalink] [raw]
Subject: [PATCH v2 0/2] Expand get_maintainer to be explicit about supporters

V2:

https://lore.kernel.org/lkml/[email protected]/T/#u

- Documentation/process
Added in text to also make clear subsystem mailing list should be
included - Krzysztof

- Changed get_maintainer.pl to print maintainer[supporter] or
maintainer[volunteer] depending on MAINTAINERS file. - Thorsten/Bryan

- Choose supporter and volunteer instead of supported and volunteer
Supporter and volunteer describe the role of the person whereas supported
and volunteer would describe an activity and a role which isn't
consistent. - Thorsten/Bryan

- I didn't change Documentation/process/5.Posting.rst
This file doesn't mention get_maintainer.pl and I was mostly aiming to
fixup the process around get_maintainer.pl. - Thorsten

- Myself and Thorsten discussed changing get_maintainer.pl, how it seems
like a desirable thing to do but also that "it might break scripts for
people" and it might.

I don't know if get_maintainer.pl is or should be considered to be a
stable interface and an explicit software contract but, making it clear a
supporter is also a maintainer seems like the right thing to do from a
transmission of information perspective.

There is still the option of just updating Documentation/process in
isolation.

V1:
- Sent a standalone change to Documentation/process stating
get_maintainer.pl email addresses marked "supporter" should be included
in a patch run.

Bryan O'Donoghue (2):
get_maintainer: Describe supporters and maintainers as required email
recipients
Documentation/process: Add text to indicate supporters should be
mailed

Documentation/process/submitting-patches.rst | 8 +++++---
scripts/get_maintainer.pl | 4 ++--
2 files changed, 7 insertions(+), 5 deletions(-)

--
2.37.3


2022-09-29 00:58:33

by Bryan O'Donoghue

[permalink] [raw]
Subject: [PATCH v2 1/2] get_maintainer: Describe supporters and maintainers as required email recipients

The output of get_maintainer.pl doesn't make clear that a supporter is a
type of maintainer who should be mailed when generating a patch.

In various places in the documentation we make reference to the necessity
to remember to include the appropriate maintainers when sending your patch
but, we confusingly don't call out supporters as maintainers in our
automation utility.

Fix that up now by having get_maintainers.pl print 'maintainer[volunteer]'
or 'maintainer[supporter]'.

Suggested-by: Thorsten Leemhuis <[email protected]>
Signed-off-by: Bryan O'Donoghue <[email protected]>
---
scripts/get_maintainer.pl | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/scripts/get_maintainer.pl b/scripts/get_maintainer.pl
index ab123b498fd9b..f1a081806bf82 100755
--- a/scripts/get_maintainer.pl
+++ b/scripts/get_maintainer.pl
@@ -1283,9 +1283,9 @@ sub get_maintainer_role {

$role = lc($role);
if ($role eq "supported") {
- $role = "supporter";
+ $role = "maintainer[supporter]";
} elsif ($role eq "maintained") {
- $role = "maintainer";
+ $role = "maintainer[volunteer]";
} elsif ($role eq "odd fixes") {
$role = "odd fixer";
} elsif ($role eq "orphan") {
--
2.37.3

2022-09-29 03:44:18

by Theodore Ts'o

[permalink] [raw]
Subject: Re: [PATCH v2 1/2] get_maintainer: Describe supporters and maintainers as required email recipients

On Thu, Sep 29, 2022 at 01:24:59AM +0100, Bryan O'Donoghue wrote:
> The output of get_maintainer.pl doesn't make clear that a supporter is a
> type of maintainer who should be mailed when generating a patch.
>
> In various places in the documentation we make reference to the necessity
> to remember to include the appropriate maintainers when sending your patch
> but, we confusingly don't call out supporters as maintainers in our
> automation utility.
>
> Fix that up now by having get_maintainers.pl print 'maintainer[volunteer]'
> or 'maintainer[supporter]'.

I really don't think this is correct. Or at least, I don't think it's
consistent with how we've historically understood the S: term in the
MAINTAINERS file. First of all, the Status field is a property of the
*subsystem*, not of the *maintainer*.

S: *Status*, one of the following:
Supported: Someone is actually paid to look after this.
Maintained: Someone actually looks after it.
Odd Fixes: It has a maintainer but they don't have time to do
much other than throw the odd patch in. See below..
Orphan: No current maintainer [but maybe you could take the
role as you write your new code].
Obsolete: Old code. Something tagged obsolete generally means
it has been replaced by a better system and you
should be using that.

There are also plenty of projects which are marked "Maintained" where
one or more the maintainers are paid to support that subsystem (while
others might be volunteers).

So to have get_maintainers.pl print that someone is a
maintainer[volunteer] versus maintainer[supporter] is going to be
highly misleading. What if one of the maintainers is paid by some
larger company (say, Google or Facebook or Red Hat), while the other
maintainer is a hobbists? And what for the maintainer who is paid by
a large company, there are multiple levels of "supported". They might
be allowed to spend up to 50% of the paid time working on upstream
work. Does that make them a "supported" or a "volunteer"? And how
should the subsystem's S: be marked?

I understand that get_maintinaer.pl has had this get_maintainer_role
function for a long time; it's not been introduced by this patch. But
I'd suggest that we not try to make a distinction between a subsystem
which is "Supported" versus "Maintained", and certainly we should not
be treating an attribute of the subsystem as being attached to all of
the entities listed under M:. That is really a category error, IMHO.

- Ted

2022-09-29 08:50:56

by Thorsten Leemhuis

[permalink] [raw]
Subject: Re: [PATCH v2 1/2] get_maintainer: Describe supporters and maintainers as required email recipients

On 29.09.22 05:29, Theodore Ts'o wrote:
> On Thu, Sep 29, 2022 at 01:24:59AM +0100, Bryan O'Donoghue wrote:
>> The output of get_maintainer.pl doesn't make clear that a supporter is a
>> type of maintainer who should be mailed when generating a patch.
>>
>> In various places in the documentation we make reference to the necessity
>> to remember to include the appropriate maintainers when sending your patch
>> but, we confusingly don't call out supporters as maintainers in our
>> automation utility.
>>
>> Fix that up now by having get_maintainers.pl print 'maintainer[volunteer]'
>> or 'maintainer[supporter]'.
>
> I really don't think this is correct. Or at least, I don't think it's
> consistent with how we've historically understood the S: term in the
> MAINTAINERS file. [...]

Hmm, yeah, you are right, I didn't think this trough when suggesting
"maintainer[volunteer]". @Bryan: sorry for leading your in the wrong
direction.

Ciao, Thorsten