The script currently uses the subystem's status (S: field) to change how maintainers are reported. One prominent example is when the status is Supported, the maintainers are reported as "(supporter:SUBSYSTEM)". This is misleading, as the Supported status defined as "Someone is actually paid to look after this." may not in fact apply to everyone listed as a maintainer, but only to some of them. It has also been confusing people to what "supporter" means and has required updates to the documentation [1]. Thus stop applying the subsystem status to change "maintainer:" to anything else, as maintainers are maintainers. Instead, if the subsystem status is not the most common one (Maintained), indicate it as part of the subsystem name. So for example, instead of "(supporter:SUBSYSTEM)" report "(maintainer:SUBSYSTEM [supported])". [1] https://lore.kernel.org/all/20221006162413.858527-1-bryan.odonoghue@xxxxxxxxxx/ Cc: "Theodore Ts'o" <tytso@xxxxxxx> Cc: "Bryan O'Donoghue" <bryan.odonoghue@xxxxxxxxxx> Cc: Thorsten Leemhuis <linux@xxxxxxxxxxxxx> Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> --- I have been confused myself in the past seeing "supporter" and have seen somebody recently wondering what it means as well. I have read the threads from 2022 that in the end resulted in adjusting documentation only [1]. I very much agree with Ted's points about taking the subsystem status and applying it to all maintainers being wrong [2]. The attempt to modify get_maintainer output was retracted after Joe objected that the status becomes not reported at all [3]. This RFC attempts to address that by reporting the status (unless it's the most common one) as part of the subsystem. The patch is not perfect, as with this approach, the logical thing would be to do the same also for reviewers and mailing lists. In fact, subsystems with a status of Orphan typically only have some catch-all mailing list and no maintainers, so the "(orphan minder:SUBSYSTEM)" would never be currently reported by checkpatch. It would be thus logical to report the status in the same way for lists (and reviewers). But I didn't attempt a full implementation as I'm not fluent in Perl and would like to see if we can get a consensus first. If we do, I don't insist in this particular "SUBSYSTEM [status]" syntax nor on implementing the full solution myself - I would be happy if somebody else did. My main point is that maintainer is a maintainer and the subsystem status should be indicated for the subsystem, not for the maintainer. [1] https://lore.kernel.org/all/20221006162413.858527-1-bryan.odonoghue@xxxxxxxxxx/ [2] https://lore.kernel.org/all/Yzen4X1Na0MKXHs9@xxxxxxx/ [3] https://lore.kernel.org/all/30776fe75061951777da8fa6618ae89bea7a8ce4.camel@xxxxxxxxxxx/ scripts/get_maintainer.pl | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/scripts/get_maintainer.pl b/scripts/get_maintainer.pl index 5ac02e198737..a2f578f2d93b 100755 --- a/scripts/get_maintainer.pl +++ b/scripts/get_maintainer.pl @@ -1286,6 +1286,7 @@ sub get_maintainer_role { my $role = "unknown"; my $subsystem = get_subsystem_name($index); + my $substatus = ""; for ($i = $start + 1; $i < $end; $i++) { my $tv = $typevalue[$i]; @@ -1299,21 +1300,10 @@ sub get_maintainer_role { } $role = lc($role); - if ($role eq "supported") { - $role = "supporter"; - } elsif ($role eq "maintained") { - $role = "maintainer"; - } elsif ($role eq "odd fixes") { - $role = "odd fixer"; - } elsif ($role eq "orphan") { - $role = "orphan minder"; - } elsif ($role eq "obsolete") { - $role = "obsolete minder"; - } elsif ($role eq "buried alive in reporters") { - $role = "chief penguin"; - } - - return $role . ":" . $subsystem; + if ($role ne "maintained") { + $substatus = " [" . $role . "]"; + } + return "maintainer:" . $subsystem . $substatus; } sub get_list_role { -- 2.47.1