It’s nice that clang has a CodeOwners.rst file that seems up to date. I particularly like how owners-emeritus are explicitly thanked for their service.
LLVM also has CODE_OWNERS.TXT, though a lot of names I haven’t seen contribute in a while. That’s…worrisome.
Looking at libcxx and libcxxabi, there’s CREDITS files, which are nice but seem kind of unnecessary in the age of git. Though perhaps email addresses die and folks can put a new email address somewhere? (like .mailmap) It’s very noisy to look at CREDITS and see some names that have done smaller contributions when trying to figure out who should be reviewing patches. As a new contributor to libcxxabi, I want to quickly be able to find the answer to the question “who should I cc to review this?”
Looking at libcxxabi/CREDITS.TXT, the two entries listed as
Architect and primary coauthor of libc++abi haven’t been seen so far this year on phab; some of the latest comments on phab from them are “eye brow raising”. I guess libcxxabi is pretty stable, perhaps?
Any chance we can be more disciplined about having dedicated OWNERS in LLVM and try to keep them up to date? In particular, it would be good if folks were more disciplined about training their replacements, or if we had pairs of owners to lower the bus factor throughout the codebase.
Running some basic stats:
$ git log --pretty='%aN' libcxxabi | sort | uniq -c | sort -hr | head -n 10 200 Louis Dionne 179 Howard Hinnant 136 Eric Fiselier 67 Petr Hosek 67 Erik Pilkington 62 Saleem Abdulrasool 43 Nathan Sidwell 36 Marshall Clow 34 Nick Kledzik 30 Dan Albert
But that’s of all time. Let’s compare commits within the past year:
$ git log --pretty='%aN' --after="2022-04-28" libcxxabi | sort | uniq -c | sort -hr | head -n 10 13 Louis Dionne 9 Nikolas Klauser 9 Martin Storsjö 6 Mark de Wever 4 Xing Xue 3 Zibi Sarbinowski 3 Nathan Sidwell 3 Kirill Stoimenov 3 John Ericson 2 Ryan Prichard
And past 6 months:
$ git log --pretty='%aN' --after="2022-10-28" libcxxabi | sort | uniq -c | sort -hr | head -n 10 9 Martin Storsjö 8 Nikolas Klauser 8 Louis Dionne 6 Mark de Wever 3 Kirill Stoimenov 2 Zibi Sarbinowski 2 Xing Xue 2 Ryan Prichard 1 Weining Lu 1 Sirui Mu
Pretty different lists.