Subject: [ANN] netdev development stats for 6.4

From: Jakub Kicinski <[email-masked]>
Date: Fri, 28 Apr 2023 13:57:17 -0700

Hi!

Stats for 6.4 are here! 

Changes
-------

You'll notice that the absolute values/scores are a lot smaller,
they are now divided by the number of weeks the cycle had, to make
cycle-to-cycle comparisons easier. 

There is also info now on how many positions given person moved 
within the ranking.

Last by not least I thought it could be interesting to look at
histograms of how long have community members been around. 

As always please feel free to share any feedback / thoughts you have, 
I can't promise I'll be able to honor requests for _additional_ stats :)
but tweaks or indicating what's helpful and what's not would be great.
Code: https://github.com/kuba-moo/ml-stat

Methodology?
------------

The statistics are based (largely) on mailing list traffic, so they
count emails and postings rather than review tags and commits. Notably
this means we count revisions of a series as separate "threads".
This is because we're trying to measure how the community works, 
not the outcomes.

We count email traffic (and commits where appropriate) between the
net-next pull requests (from the 6.3 PR to the 6.4 PR this time).

6.4 statistics
--------------

The cycle started on Feb 21 and ended on Apr 26th, it was one week
shorter than the previous cycle. 

We have seen total of 16529 messages (258 / day) which is 14% more than
last time. However, the number of commits directly applied by netdev
maintainers declined by 4% (a day) for total of 1112 in the cycle.
Higher number of messages is likely due to previous cycle including 
end of year / winter celebrations.

We have seen 748 people/aliases on the list which is up 2.5% (a day)
from last time. According to my rough count of the 748 people, 341 has
posted patches but never replied to a thread started by another person,
252 were only replying and never posted patches, and 155 did both.

Amazingly the number of commits which go into the tree with at least one
Review/Ack tag has increased further by 10% and is now at 65% (58% of
which do not come from the same email domain as the author). This does
not count review done by the maintainer applying the patch.

Rankings
--------

Top reviewers (thr):                 Top reviewers (msg):                
   1 (   ) [44] Jakub Kicinski          1 (   ) [73] Jakub Kicinski      
   2 (   ) [33] Simon Horman            2 ( +1) [72] Simon Horman        
   3 ( +1) [12] Andrew Lunn             3 ( -1) [29] Andrew Lunn         
   4 ( +2) [ 9] Eric Dumazet            4 (   ) [18] Leon Romanovsky     
   5 ( -2) [ 8] Leon Romanovsky         5 ( +1) [15] Krzysztof Kozlowski 
   6 ( +2) [ 7] Krzysztof Kozlowski     6 ( +3) [15] Vladimir Oltean     
   7 (+13) [ 6] Florian Fainelli        7 (+22) [14] Florian Fainelli    
   8 ( -3) [ 6] Paolo Abeni             8 (   ) [14] Eric Dumazet        
   9 ( +3) [ 5] Vladimir Oltean         9 (+18) [13] Jason Wang          
  10 (   ) [ 4] Kalle Valo             10 ( +2) [12] Russell King        
  11 ( +2) [ 4] Russell King           11 (+14) [ 9] Willem de Bruijn    
  12 (+15) [ 4] Willem de Bruijn       12 (+23) [ 8] Stefano Garzarella  

Simon takes a very strong second position which should not 
be a surprise to anyone following the list. Florian jumps 
back into the top 10 (after an absence in 6.3).

Top authors (thr):                   Top authors (msg):                  
   1 (   ) [7] Jakub Kicinski           1 ( +1) [24] Saeed Mahameed      
   2 ( +4) [4] Eric Dumazet             2 (+18) [23] David Howells       
   3 ( -1) [4] Vladimir Oltean          3 (+29) [16] Shannon Nelson      
   4 ( -1) [4] Tony Nguyen              4 ( -3) [16] Vladimir Oltean     
   5 (***) [3] Arseniy Krasnov          5 ( +2) [15] Daniel Golle        
   6 (+22) [3] Pedro Tammela            6 ( -2) [15] Jakub Kicinski      
   7 (+33) [3] Daniel Golle             7 ( -2) [13] Tony Nguyen         
   8 (***) [2] Zheng Wang               8 (***) [13] Arınç ÜNAL          
   9 (+13) [2] Heiner Kallweit          9 (+50) [12] Christian Marangi   
  10 (***) [2] Kal Conley              10 (+32) [12] Xuan Zhuo           

A lot of movement among patch producers. Apart from "usual suspects"
we see Shannon (new Pensando driver), David H (splice rework), Arseniy
(vsock work), Pedro (TC improvements), Daniel & Arinc (MediaTek DSA),
Christian (LED / PHY integration), Xuan Zhuo (virtio cleanup & XDP work).

I will skip individual scores this time because they look _very_ much
like the top reviewers in positive and top authors in negative. 
Maybe I need to change the formula to catch something interesting...

Company rankings
----------------

Top reviewers (thr):                 Top reviewers (msg):                
   1 (   ) [47] Meta                    1 (   ) [80] Meta                
   2 ( +4) [33] Corigine                2 ( +3) [72] Corigine            
   3 ( -1) [22] Intel                   3 ( -1) [48] Intel               
   4 (   ) [19] RedHat                  4 ( -1) [44] RedHat              
   5 (   ) [17] Google                  5 ( +2) [32] Google              
   6 ( -3) [13] nVidia                  6 (   ) [29] Andrew Lunn         
   7 (   ) [12] Andrew Lunn             7 ( -3) [28] nVidia              

Corigine takes #2 spot, thanks to impressive work from Simon,
congrats! nVidia continues to slip for the second cycle in a row.

Top authors (thr):                   Top authors (msg):                  
   1 (   ) [19] RedHat                  1 ( +1) [79] RedHat              
   2 ( +1) [13] Intel                   2 ( -1) [58] nVidia              
   3 ( +2) [10] Meta                    3 (   ) [44] Intel               
   4 ( -2) [10] nVidia                  4 ( +4) [39] AMD                 
   5 ( -1) [ 9] Google                  5 ( +4) [24] Google              
   6 (   ) [ 7] NXP                     6 ( +1) [23] Meta                
   7 ( +2) [ 5] AMD                     7 ( -3) [23] NXP                 

RedHat takes #1 code producing spot, likely due to David H's work.

Top scores (positive):               Top scores (negative):              
   1 (   ) [590] Meta                   1 (***) [15] TI                  
   2 ( +3) [464] Corigine               2 (***) [12] AMD                 
   3 ( -1) [258] Intel                  3 ( -1) [11] Alibaba             
   4 ( +3) [200] Google                 4 (***) [10] Sberdevices         
   5 ( -2) [180] RedHat                 5 (+50) [ 8] Zheng Wang          
   6 (   ) [169] Andrew Lunn            6 (***) [ 8] Dectris             
   7 ( -3) [129] nVidia                 7 ( -6) [ 8] Marvell             
   8 (   ) [125] Linaro                 
   9 ( +3) [111] Broadcom               
  10 ( +5) [ 64] NXP                   
  11 ( -2) [ 57] Oracle                
  12 ( +2) [ 54] Isovalent             
  13 (***) [ 52] Qualcomm              
  14 (+20) [ 48] Microchip             
  15 (***) [ 41] Huawei                

The positive participation scores reflect the reviewer activity.
Florian puts Broadcom in the top 10. NXP reenters top 10 as well thanks
to Vladimir's work (or perhaps just a code vs review balance shift ;)).
It's great to see Microchip making an appearance on the left (review 
work of Horatiu, and Steen). Qualcomm is here because I fixed Kalle's
corporate mapping :) Huawei is Yunsheng Lin.

On the "bad" side the only constants are Alibaba and Marvell, who
continue to contribute code but do not participate in reviewing 
the work of others :(

Histograms!
-----------

I was wondering about the distribution of "tenure" in the community.
Are we relying on "old timers" to review the code? Are the "old timers"
still coding? Do we have any new participants at all?

The statistics are calculated by measuring the time distance since first
authored commit in the tree. The bucketing is a bit odd, first buckets
are short term and in power of 2 (*), later are in 2 year spans (#).
The histograms should have the same scale so that comparing across
categories is legit.

Tenure for reviewer
 0- 3mo   |   2 | *
 3- 6mo   |   3 | **
6mo-1yr   |   9 | *******
 1- 2yr   |  23 | ******************
 2- 4yr   |  33 | ##########################
 4- 6yr   |  43 | ##################################
 6- 8yr   |  36 | #############################
 8-10yr   |  40 | ################################
10-12yr   |  31 | #########################
12-14yr   |  33 | ##########################
14-16yr   |  31 | #########################
16-18yr   |  46 | #####################################
18-20yr   |  49 | #######################################

Tenure for author
 0- 3mo   |  40 | **************************
 3- 6mo   |  15 | **********
6mo-1yr   |  23 | ***************
 1- 2yr   |  49 | ********************************
 2- 4yr   |  47 | ###############################
 4- 6yr   |  50 | #################################
 6- 8yr   |  31 | ####################
 8-10yr   |  33 | #####################
10-12yr   |  19 | ############
12-14yr   |  25 | ################
14-16yr   |  22 | ##############
16-18yr   |  32 | #####################
18-20yr   |  31 | ####################

Unsurprisingly in the "recent" buckets are sparse for reviewers and
more filled for authors. There's an interesting grouping of authors 
in the 1-6yr region. Perhaps it takes a year to become efficient and
5 more years to give up? :) The 4-6yr bucket is also active on the
reviewer side but there's a much stronger showing for the oldest
16-20yr category in terms of reviews.

Note that these are stats of the number of people, not activity.
Activity looked fairly similar.