Browse Source

MAINTAINERS: do not use orphaned terminology

an area without maintainer is still considered active, calling it orphan
is a bit extreme. We have some areas that can be considered "orphaned",
those now will be covered with 'odd fixes' status, meaning that they
might have one or more collaborator and getting some changes from time
to time, but nothing beyond fixes and nobody driving the area beyond
where it is right now.

Even an area with a dedicated maintainer can be have the status of 'odd
fixes', i.e. there is a maintainer but the area is stale and no further
development is happening.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
pull/44234/head
Anas Nashif 3 years ago
parent
commit
6e8cb0d155
  1. 49
      MAINTAINERS.yml
  2. 20
      scripts/get_maintainer.py

49
MAINTAINERS.yml

@ -13,9 +13,8 @@
# The area has a Maintainer (approved by the TSC) who # The area has a Maintainer (approved by the TSC) who
# looks after the area. # looks after the area.
# #
# * orphaned: # * odd fixes:
# No current maintainer (but maybe you could take the role as you # The ares gets odd fixes and has collaborators.
# write your new code).
# #
# * obsolete: # * obsolete:
# Old code. Something being marked obsolete generally means it has # Old code. Something being marked obsolete generally means it has
@ -299,7 +298,7 @@ C library:
- "area: C Library" - "area: C Library"
CMSIS API layer: CMSIS API layer:
status: orphaned status: odd fixes
collaborators: collaborators:
- nashif - nashif
files: files:
@ -323,8 +322,8 @@ CMSIS-DSP integration:
labels: labels:
- "area: CMSIS-DSP" - "area: CMSIS-DSP"
Common arch: Common Architecture Interface:
status: orphaned status: odd fixes
collaborators: collaborators:
- dcpleung - dcpleung
- nashif - nashif
@ -417,7 +416,7 @@ Disk:
- "area: Disk Access" - "area: Disk Access"
Display drivers: Display drivers:
status: orphaned status: odd fixes
collaborators: collaborators:
- jfischer-no - jfischer-no
- gmarull - gmarull
@ -526,7 +525,7 @@ Documentation:
- "area: Clock control" - "area: Clock control"
"Drivers: Console": "Drivers: Console":
status: orphaned status: odd fixes
collaborators: collaborators:
- pfalcon - pfalcon
files: files:
@ -706,7 +705,7 @@ Documentation:
- "area: IEEE 802.15.4" - "area: IEEE 802.15.4"
"Drivers: Interrupt controllers": "Drivers: Interrupt controllers":
status: orphaned status: odd fixes
files: files:
- drivers/interrupt_controller/ - drivers/interrupt_controller/
- dts/bindings/interrupt-controller/ - dts/bindings/interrupt-controller/
@ -791,7 +790,7 @@ Documentation:
- "area: Modem" - "area: Modem"
"Drivers: Neural Networks": "Drivers: Neural Networks":
status: orphaned status: odd fixes
collaborators: collaborators:
- nashif - nashif
files: files:
@ -942,8 +941,8 @@ Documentation:
labels: labels:
- "area: Timer" - "area: Timer"
"Drivers: video": "Drivers: Video":
status: orphaned status: odd fixes
collaborators: collaborators:
- loicpoulain - loicpoulain
files: files:
@ -954,7 +953,7 @@ Documentation:
- "area: Video" - "area: Video"
"Drivers: Watchdog": "Drivers: Watchdog":
status: orphaned status: odd fixes
collaborators: collaborators:
- katsuster - katsuster
- martinjaeger - martinjaeger
@ -981,7 +980,7 @@ Documentation:
- "area: Wifi" - "area: Wifi"
"Drivers: WiFi es-WiFi": "Drivers: WiFi es-WiFi":
status: orphaned status: odd fixes
collaborators: collaborators:
- loicpoulain - loicpoulain
files: files:
@ -1036,7 +1035,7 @@ IPC:
- "area: IPC" - "area: IPC"
JSON Web Token: JSON Web Token:
status: orphaned status: odd fixes
collaborators: collaborators:
- mrfuchs - mrfuchs
- sir-branch - sir-branch
@ -1048,7 +1047,7 @@ JSON Web Token:
- "area: JSON" - "area: JSON"
Kconfig: Kconfig:
status: orphaned status: odd fixes
collaborators: collaborators:
- tejlmand - tejlmand
- nashif - nashif
@ -1099,7 +1098,7 @@ Base OS:
- "area: Base OS" - "area: Base OS"
Little FS: Little FS:
status: orphaned status: odd fixes
files: files:
- subsys/fs/Kconfig.littlefs - subsys/fs/Kconfig.littlefs
- subsys/fs/littlefs_fs.c - subsys/fs/littlefs_fs.c
@ -1163,7 +1162,7 @@ MCU Manager:
- "area: mcumgr" - "area: mcumgr"
OSDP: OSDP:
status: orphaned status: odd fixes
collaborators: collaborators:
- sidcha - sidcha
files: files:
@ -1174,7 +1173,7 @@ OSDP:
- "area: OSDP" - "area: OSDP"
hawkBit: hawkBit:
status: orphaned status: odd fixes
collaborators: collaborators:
- ycsin - ycsin
files: files:
@ -1335,7 +1334,7 @@ nRF52 BSIM:
- "platform: nrf52_bsim" - "platform: nrf52_bsim"
POSIX API layer: POSIX API layer:
status: orphaned status: odd fixes
collaborators: collaborators:
- pfalcon - pfalcon
- enjiamai - enjiamai
@ -1442,7 +1441,7 @@ Shields:
- "area: Shields" - "area: Shields"
SPARC arch: SPARC arch:
status: orphaned status: odd fixes
collaborators: collaborators:
- martin-aberg - martin-aberg
files: files:
@ -1529,7 +1528,7 @@ Nuvoton_NPCX Platforms:
- "platform: Nuvoton_NPCX" - "platform: Nuvoton_NPCX"
Nuvoton_Numicro Platforms: Nuvoton_Numicro Platforms:
status: orphaned status: odd fixes
collaborators: collaborators:
- ssekar15 - ssekar15
files: files:
@ -1542,7 +1541,7 @@ Nuvoton_Numicro Platforms:
- "platform: Nuvoton_Numicro" - "platform: Nuvoton_Numicro"
SiLabs Platforms: SiLabs Platforms:
status: orphaned status: odd fixes
collaborators: collaborators:
- chrta - chrta
files: files:
@ -1879,7 +1878,7 @@ x86 arch:
labels: labels:
- "area: X86" - "area: X86"
CI: Continuous Integration:
status: maintained status: maintained
maintainers: maintainers:
- nashif - nashif
@ -1907,7 +1906,7 @@ ZTest:
- "area: Testsuite" - "area: Testsuite"
Random: Random:
status: orphaned status: odd fixes
collaborators: collaborators:
- ceolin - ceolin
files: files:

20
scripts/get_maintainer.py

@ -140,9 +140,9 @@ def _parse_args():
help="Count the number of unique maintainers") help="Count the number of unique maintainers")
count_parser.add_argument( count_parser.add_argument(
"-o", "-o",
"--count-orphaned", "--count-unmaintained",
action="store_true", action="store_true",
help="Count the number of orphaned areas") help="Count the number of unmaintained areas")
count_parser.set_defaults(cmd_fn=Maintainers._count_cmd) count_parser.set_defaults(cmd_fn=Maintainers._count_cmd)
args = parser.parse_args() args = parser.parse_args()
@ -289,22 +289,22 @@ class Maintainers:
def _count_cmd(self, args): def _count_cmd(self, args):
# 'count' subcommand implementation # 'count' subcommand implementation
if not (args.count_areas or args.count_collaborators or args.count_maintainers or args.count_orphaned): if not (args.count_areas or args.count_collaborators or args.count_maintainers or args.count_unmaintained):
# if no specific count is provided, print them all # if no specific count is provided, print them all
args.count_areas = True args.count_areas = True
args.count_collaborators = True args.count_collaborators = True
args.count_maintainers = True args.count_maintainers = True
args.count_orphaned = True args.count_unmaintained = True
orphaned = 0 unmaintained = 0
collaborators = set() collaborators = set()
maintainers = set() maintainers = set()
for area in self.areas.values(): for area in self.areas.values():
if area.status == 'maintained': if area.status == 'maintained':
maintainers = maintainers.union(set(area.maintainers)) maintainers = maintainers.union(set(area.maintainers))
elif area.status == 'orphaned': elif area.status == 'odd fixes':
orphaned += 1 unmaintained += 1
collaborators = collaborators.union(set(area.collaborators)) collaborators = collaborators.union(set(area.collaborators))
if args.count_areas: if args.count_areas:
@ -313,8 +313,8 @@ class Maintainers:
print('{:14}\t{}'.format('maintainers:', len(maintainers))) print('{:14}\t{}'.format('maintainers:', len(maintainers)))
if args.count_collaborators: if args.count_collaborators:
print('{:14}\t{}'.format('collaborators:', len(collaborators))) print('{:14}\t{}'.format('collaborators:', len(collaborators)))
if args.count_orphaned: if args.count_unmaintained:
print('{:14}\t{}'.format('orphaned:', orphaned)) print('{:14}\t{}'.format('unmaintained:', unmaintained))
def _list_cmd(self, args): def _list_cmd(self, args):
# 'list' subcommand implementation # 'list' subcommand implementation
@ -481,7 +481,7 @@ def _check_maintainers(maints_path, yaml):
"files-exclude", "files-regex", "files-regex-exclude", "files-exclude", "files-regex", "files-regex-exclude",
"labels", "description"} "labels", "description"}
ok_status = {"maintained", "odd fixes", "orphaned", "obsolete"} ok_status = {"maintained", "odd fixes", "unmaintained", "obsolete"}
ok_status_s = ", ".join('"' + s + '"' for s in ok_status) # For messages ok_status_s = ", ".join('"' + s + '"' for s in ok_status) # For messages
for area_name, area_dict in yaml.items(): for area_name, area_dict in yaml.items():

Loading…
Cancel
Save