Measuring Community Involvement (was Re: Contributor Summit planning)
From: Derrick Stolee <hidden>
Date: 2018-08-14 17:43:48
On 8/13/2018 5:54 PM, Jeff King wrote:
So I try not to think too hard on metrics, and just use them to get a rough view on who is active.
I've been very interested in measuring community involvement, with the knowledge that any metric is flawed and we should not ever say "this metric is how we measure the quality of a contributor". It can be helpful, though, to track some metrics and their change over time. Here are a few measurements we can make: 1. Number of (non-merge) commit author tag-lines. using git repo: > git shortlog --no-merges --since 2017 -sne junio/next | head -n 20 284 Nguyễn Thái Ngọc Duy [off-list ref] 257 Jeff King [off-list ref] 206 Stefan Beller [off-list ref] 192 brian m. carlson [off-list ref] 159 Brandon Williams [off-list ref] 149 Junio C Hamano [off-list ref] 137 Elijah Newren [off-list ref] 116 René Scharfe [off-list ref] 112 Johannes Schindelin [off-list ref] 105 Ævar Arnfjörð Bjarmason [off-list ref] 96 Jonathan Tan [off-list ref] 93 SZEDER Gábor [off-list ref] 78 Derrick Stolee [off-list ref] 76 Martin Ågren [off-list ref] 66 Michael Haggerty [off-list ref] 61 Eric Sunshine [off-list ref] 46 Christian Couder [off-list ref] 36 Phillip Wood [off-list ref] 35 Jonathan Nieder [off-list ref] 33 Thomas Gummerer [off-list ref] 2. Number of other commit tag-lines (Reviewed-By, Helped-By, Reported-By, etc.). Using git repo: $ git log --since=2018-01-01 junio/next|grep by:|grep -v Signed-off-by:|sort|uniq -c|sort -nr|head -n 20 66 Reviewed-by: Stefan Beller [off-list ref] 22 Reviewed-by: Jeff King [off-list ref] 19 Reviewed-by: Jonathan Tan [off-list ref] 12 Helped-by: Eric Sunshine [off-list ref] 11 Helped-by: Junio C Hamano [off-list ref] 9 Helped-by: Jeff King [off-list ref] 8 Reviewed-by: Elijah Newren [off-list ref] 7 Reported-by: Ramsay Jones [off-list ref] 7 Acked-by: Johannes Schindelin [off-list ref] 7 Acked-by: Brandon Williams [off-list ref] 6 Reviewed-by: Eric Sunshine [off-list ref] 6 Helped-by: Johannes Schindelin [off-list ref] 5 Mentored-by: Christian Couder [off-list ref] 5 Acked-by: Johannes Schindelin [off-list ref] 4 Reviewed-by: Jonathan Nieder [off-list ref] 4 Reviewed-by: Johannes Schindelin [off-list ref] 4 Helped-by: Stefan Beller [off-list ref] 4 Helped-by: René Scharfe [off-list ref] 3 Reviewed-by: Martin Ågren [off-list ref] 3 Reviewed-by: Lars Schneider [off-list ref] (There does not appear to be enough density here to make a useful metric.) 3. Number of email messages sent. Using mailing list repo: $ git shortlog --since 2017 -sne | head -n 20 3749 Junio C Hamano [off-list ref] 2213 Stefan Beller [off-list ref] 2112 Jeff King [off-list ref] 1106 Nguyễn Thái Ngọc Duy [off-list ref] 1028 Johannes Schindelin [off-list ref] 965 Ævar Arnfjörð Bjarmason [off-list ref] 956 Brandon Williams [off-list ref] 947 Eric Sunshine [off-list ref] 890 Elijah Newren [off-list ref] 753 brian m. carlson [off-list ref] 677 Duy Nguyen [off-list ref] 646 Jonathan Nieder [off-list ref] 629 Derrick Stolee [off-list ref] 545 Christian Couder [off-list ref] 515 Jonathan Tan [off-list ref] 425 Johannes Schindelin [off-list ref] 425 Martin Ågren [off-list ref] 420 Jeff Hostetler [off-list ref] 420 SZEDER Gábor [off-list ref] 363 Phillip Wood [off-list ref] 3. Number of threads started by user. (For this and the measurements below, I imported emails into a SQL table with columns [commit, author, date, message-id, in-reply-to, subject] and ran queries) SELECT TOP 20 COUNT(*) as NumSent ,[Author] FROM [git].[dbo].[mailing-list] WHERE [In-Reply-To] = '' AND CONVERT(DATETIME,[Date]) > CONVERT(DATETIME, '01-01-2018 00:00') GROUP BY [Author] ORDER BY NumSent DESC | NumSent | Author | |---------|----------------------------| | 76 | Junio C Hamano | | 64 | Stefan Beller | | 54 | Philip Oakley | | 50 | Nguyá»…n Thái Ngá»c Duy | | 49 | Robert P. J. Day | | 47 | Christian Couder | | 36 | Ramsay Jones | | 34 | Elijah Newren | | 34 | SZEDER Gábor | | 33 | Johannes Schindelin | | 31 | Jeff King | | 30 | Ævar Arnfjörð Bjarmason | | 24 | Jonathan Tan | | 22 | Alban Gruin | | 22 | brian m. carlson | | 18 | Randall S. Becker | | 15 | Paul-Sebastian Ungureanu | | 15 | Jeff Hostetler | | 15 | Brandon Williams | | 15 | Luke Diamand | 4. Number of threads where the user participated (This is measured by completing the transitive closure of In-Reply-To edges into a new 'BaseMessage' column.) SELECT TOP 20 COUNT(BaseMessage) as NumResponded ,Author FROM [git].[dbo].[mailing-list] WHERE [In-Reply-To] <> '' AND CONVERT(DATETIME,[Date]) > CONVERT(DATETIME, '01-01-2018 00:00') GROUP BY Author ORDER BY NumResponded DESC | NumResponded | Author | |--------------|----------------------------| | 2084 | Junio C Hamano | | 1596 | Stefan Beller | | 1211 | Jeff King | | 1120 | Johannes Schindelin | | 1021 | Nguyá»…n Thái Ngá»c Duy | | 799 | Eric Sunshine | | 797 | Ævar Arnfjörð Bjarmason | | 693 | Brandon Williams | | 654 | Duy Nguyen | | 600 | Elijah Newren | | 593 | brian m. carlson | | 591 | Derrick Stolee | | 318 | SZEDER Gábor | | 299 | Jonathan Tan | | 286 | Christian Couder | | 263 | Jonathan Nieder | | 257 | Phillip Wood | | 256 | Derrick Stolee | | 238 | Taylor Blau | | 216 | Martin Ã…gren | (Note, some names have not been de-duplicated across multiple email addresses, but the email addresses are removed from these tables since I'm using a markdown generator that strips the emails in < >.) If you have other ideas for fun measurements, then please let me know. Thanks, -Stolee