git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* The top 1% of commit trailers
@ 2021-05-25 22:09 Felipe Contreras
  2021-05-26  4:54 ` Bagas Sanjaya
  0 siblings, 1 reply; 3+ messages in thread
From: Felipe Contreras @ 2021-05-25 22:09 UTC (permalink / raw)
  To: git

Hi,

I wrote a little script [1] to get the quantiles (e.g. top 1%) of commit
trailers for the git.git project. Perhaps some of you are interested in
the result.

The top 1% is comprised of just two lines: Acked-by and Reviewed-by.
They alone account for 47% of all the lines.

The top 10% is shared between 16 lines, and they gather a whopping 96% of
the total line wealth.

The top 25% is shared between 33 lines, they have 98% wealth. To belong
on this group a line only needs to have more than 3 instances.

That means the bottom 75% only has 3 occurrences or less.

The median is 1. So 50% (in fact more than that; 100 of 155) only has one
occurrence.

Just to see this distribution visually, I plotted their frequency
compared with a Pareto distribution (80:20); they almost match
perfectly:

https://i.imgur.com/1wQgSlP.png

This should not be surprising to anyone that has studied income
distributions; in commit trailer lines--just like in people (and plenty
of other things)--the rich get richer.

Cheers.

Top 1%
------
  1. acked-by (1945)
  2. reviewed-by (1729)

Total wealth: 47%

Top 10%
-------
  3. helped-by (1336)
  4. reported-by (960)
  5. mentored-by (379)
  6. suggested-by (281)
  7. cc (222)
  8. noticed-by (165)
  9. tested-by (153)
 10. improved-by (88)
 11. thanks-to (65)
 12. based-on-patch-by (50)
 13. contributions-by (43)
 14. co-authored-by (41)
 15. requested-by (28)
 16. original-patch-by (28)

Total wealth: 96%

Top 25%
-------
 17. inspired-by (23)
 18. explained-by (9)
 19. found-by (8)
 20. trivially-acked-by (7)
 21. commit-message-by (7)
 22. fixes (7)
 23. initial-patch-by (7)
 24. reported-and-tested-by (6)
 25. diagnosed-by (6)
 26. based-on-a-patch-by (6)
 27. liked-by (5)
 28. author (5)
 29. reference (5)
 30. encouraged-by (5)
 31. from (4)
 32. analyzed-by (4)
 33. initial-test-by (4)

Total wealth: 98%

Bottom 50%
----------
 59. cheered-on-by (1)
 60. signed-off (1)
 61. confirmed-by (1)
 62. hopefully-signed-off-by (1)
 63. thanked-by (1)
 64. rediffed-against-next-by (1)
 65. completely-acked-by (1)
 66. test-proposed-by (1)
 67. patch-submitted-by (1)
 68. credit-to (1)
 69. deemed-obviously-correct-by (1)
 70. backtraced-by (1)
 71. tested-on-mingw-by (1)
 72. looks-good-by (1)
 73. test-updates-by (1)
 74. tested-on-freebsd-by (1)
 75. tested-on-aix-by (1)
 76. kind-of-noticed-by (1)
 77. patch-by (1)
 78. okay-then-by (1)
 79. looks-right-to-me-by (1)
 80. reviewd-by (1)
 81. wished-for-by (1)
 82. acked-and-tested-by (1)
 83. re-suggested-by (1)
 84. originally-submitted-by (1)
 85. looks-fine-to-me-by (1)
 86. based-on-patch-from (1)
 87. see (1)
 88. initial-version-by (1)
 89. worriedly-acked-by (1)
 90. initial-fix-by (1)
 91. mentored-and-acked-by (1)
 92. x-gentoo-bug (1)
 93. works-around (1)
 94. tipping-vote-by (1)
 95. debugged-by (1)
 96. helpd-by (1)
 97. heavylifting-by (1)
 98. inspired-by-patch-by (1)
 99. inspired-by-code-by (1)
100. based-on-code-from (1)
101. based-on-code-by (1)
102. tracked-down-by (1)
103. picked-from (1)
104. discovered-by (1)
105. improved-and-acked-by (1)
106. based-on-commit-message-by (1)
107. updated-by (1)
108. discussion-triggered-by (1)
109. sugested-by (1)
110. reported-tested-and-explained-by (1)
111. initial-work-by (1)
112. brown-paper-bag-fixes-by (1)
113. test-written-by (1)
114. test-added-by (1)
115. bug-spotted-and-fixed-by (1)
116. inputs-from (1)
117. with-suggestions-by (1)
118. more-spots-found-by (1)
119. message-proposed-by (1)
120. revised-by (1)
121. reported-and-analyzed-by (1)
122. prompted-by (1)
123. clarified-by (1)
124. reviewed-and-improved-by (1)
125. brought-to-attention-by (1)
126. reminded-by (1)
127. adapted-by (1)
128. edited-by (1)
129. hepled-by (1)
130. test-adapted-from (1)
131. clever-idea-by (1)
132. fix-suggested-by (1)
133. reported-and-suggested-by (1)
134. history-dug-by (1)
135. derived-from-code-by (1)
136. fix-proposed-by (1)
137. benchmarked-by (1)
138. issue-found-by (1)
139. test-provided-by (1)
140. test-code-by (1)
141. reported-at (1)
142. signeg-off-by (1)
143. wording-by (1)
144. also-reported-by (1)
145. issue-on-macos-explained-by (1)
146. issue-on-macos-reported-by (1)
147. researched-by (1)
148. explanation-by (1)
149. rported-by (1)
150. change-id (1)
151. rebased-by (1)
152. inspired-by-a-patch-by (1)
153. simplified-testcase-and-bisection-by (1)
154. heled-by (1)
155. pointed-out-by (1)
156. suggestions-by (1)
157. original-implementation-by (1)
158. summary (1)

Total wealth: 1%

[1] https://gist.github.com/felipec/ce491d351c88e4acbdbf6bc02a47223d

-- 
Felipe Contreras

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: The top 1% of commit trailers
  2021-05-25 22:09 The top 1% of commit trailers Felipe Contreras
@ 2021-05-26  4:54 ` Bagas Sanjaya
  2021-05-26  8:05   ` Felipe Contreras
  0 siblings, 1 reply; 3+ messages in thread
From: Bagas Sanjaya @ 2021-05-26  4:54 UTC (permalink / raw)
  To: Felipe Contreras, git

Hi Felipe,

On 26/05/21 05.09, Felipe Contreras wrote:
> Hi,
> 
> I wrote a little script [1] to get the quantiles (e.g. top 1%) of commit
> trailers for the git.git project. Perhaps some of you are interested in
> the result.
> 
> The top 1% is comprised of just two lines: Acked-by and Reviewed-by.
> They alone account for 47% of all the lines.
> 
> The top 10% is shared between 16 lines, and they gather a whopping 96% of
> the total line wealth.
> 
> The top 25% is shared between 33 lines, they have 98% wealth. To belong
> on this group a line only needs to have more than 3 instances.
> 
> That means the bottom 75% only has 3 occurrences or less.
> 
> The median is 1. So 50% (in fact more than that; 100 of 155) only has one
> occurrence.
> 
> Just to see this distribution visually, I plotted their frequency
> compared with a Pareto distribution (80:20); they almost match
> perfectly:
> 
> https://i.imgur.com/1wQgSlP.png
> 
> This should not be surprising to anyone that has studied income
> distributions; in commit trailer lines--just like in people (and plenty
> of other things)--the rich get richer.
> 
> Cheers.
> 
> Top 1%
> ------
>    1. acked-by (1945)
>    2. reviewed-by (1729)
> 
> Total wealth: 47%
> 
> Top 10%
> -------
>    3. helped-by (1336)
>    4. reported-by (960)
>    5. mentored-by (379)
>    6. suggested-by (281)
>    7. cc (222)
>    8. noticed-by (165)
>    9. tested-by (153)
>   10. improved-by (88)
>   11. thanks-to (65)
>   12. based-on-patch-by (50)
>   13. contributions-by (43)
>   14. co-authored-by (41)
>   15. requested-by (28)
>   16. original-patch-by (28)
> 
> Total wealth: 96%
> 
> Top 25%
> -------
>   17. inspired-by (23)
>   18. explained-by (9)
>   19. found-by (8)
>   20. trivially-acked-by (7)
>   21. commit-message-by (7)
>   22. fixes (7)
>   23. initial-patch-by (7)
>   24. reported-and-tested-by (6)
>   25. diagnosed-by (6)
>   26. based-on-a-patch-by (6)
>   27. liked-by (5)
>   28. author (5)
>   29. reference (5)
>   30. encouraged-by (5)
>   31. from (4)
>   32. analyzed-by (4)
>   33. initial-test-by (4)
> 
> Total wealth: 98%
> 
> Bottom 50%
> ----------
>   59. cheered-on-by (1)
>   60. signed-off (1)
>   61. confirmed-by (1)
>   62. hopefully-signed-off-by (1)
>   63. thanked-by (1)
>   64. rediffed-against-next-by (1)
>   65. completely-acked-by (1)
>   66. test-proposed-by (1)
>   67. patch-submitted-by (1)
>   68. credit-to (1)
>   69. deemed-obviously-correct-by (1)
>   70. backtraced-by (1)
>   71. tested-on-mingw-by (1)
>   72. looks-good-by (1)
>   73. test-updates-by (1)
>   74. tested-on-freebsd-by (1)
>   75. tested-on-aix-by (1)
>   76. kind-of-noticed-by (1)
>   77. patch-by (1)
>   78. okay-then-by (1)
>   79. looks-right-to-me-by (1)
>   80. reviewd-by (1)
>   81. wished-for-by (1)
>   82. acked-and-tested-by (1)
>   83. re-suggested-by (1)
>   84. originally-submitted-by (1)
>   85. looks-fine-to-me-by (1)
>   86. based-on-patch-from (1)
>   87. see (1)
>   88. initial-version-by (1)
>   89. worriedly-acked-by (1)
>   90. initial-fix-by (1)
>   91. mentored-and-acked-by (1)
>   92. x-gentoo-bug (1)
>   93. works-around (1)
>   94. tipping-vote-by (1)
>   95. debugged-by (1)
>   96. helpd-by (1)
>   97. heavylifting-by (1)
>   98. inspired-by-patch-by (1)
>   99. inspired-by-code-by (1)
> 100. based-on-code-from (1)
> 101. based-on-code-by (1)
> 102. tracked-down-by (1)
> 103. picked-from (1)
> 104. discovered-by (1)
> 105. improved-and-acked-by (1)
> 106. based-on-commit-message-by (1)
> 107. updated-by (1)
> 108. discussion-triggered-by (1)
> 109. sugested-by (1)
> 110. reported-tested-and-explained-by (1)
> 111. initial-work-by (1)
> 112. brown-paper-bag-fixes-by (1)
> 113. test-written-by (1)
> 114. test-added-by (1)
> 115. bug-spotted-and-fixed-by (1)
> 116. inputs-from (1)
> 117. with-suggestions-by (1)
> 118. more-spots-found-by (1)
> 119. message-proposed-by (1)
> 120. revised-by (1)
> 121. reported-and-analyzed-by (1)
> 122. prompted-by (1)
> 123. clarified-by (1)
> 124. reviewed-and-improved-by (1)
> 125. brought-to-attention-by (1)
> 126. reminded-by (1)
> 127. adapted-by (1)
> 128. edited-by (1)
> 129. hepled-by (1)
> 130. test-adapted-from (1)
> 131. clever-idea-by (1)
> 132. fix-suggested-by (1)
> 133. reported-and-suggested-by (1)
> 134. history-dug-by (1)
> 135. derived-from-code-by (1)
> 136. fix-proposed-by (1)
> 137. benchmarked-by (1)
> 138. issue-found-by (1)
> 139. test-provided-by (1)
> 140. test-code-by (1)
> 141. reported-at (1)
> 142. signeg-off-by (1)
> 143. wording-by (1)
> 144. also-reported-by (1)
> 145. issue-on-macos-explained-by (1)
> 146. issue-on-macos-reported-by (1)
> 147. researched-by (1)
> 148. explanation-by (1)
> 149. rported-by (1)
> 150. change-id (1)
> 151. rebased-by (1)
> 152. inspired-by-a-patch-by (1)
> 153. simplified-testcase-and-bisection-by (1)
> 154. heled-by (1)
> 155. pointed-out-by (1)
> 156. suggestions-by (1)
> 157. original-implementation-by (1)
> 158. summary (1)
> 
> Total wealth: 1%
> 
> [1] https://gist.github.com/felipec/ce491d351c88e4acbdbf6bc02a47223d
> 

Why did you deliberately exclude Signed-off-by trailer? I don't see
that trailer above.

For some trailers that have only 1 occurrence, these are typos of
intended trailers (such as heled-by and helpd-by which means
helped-by).

-- 
An old man doll... just what I always wanted! - Clara

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: The top 1% of commit trailers
  2021-05-26  4:54 ` Bagas Sanjaya
@ 2021-05-26  8:05   ` Felipe Contreras
  0 siblings, 0 replies; 3+ messages in thread
From: Felipe Contreras @ 2021-05-26  8:05 UTC (permalink / raw)
  To: Bagas Sanjaya, Felipe Contreras, git

Bagas Sanjaya wrote:
> On 26/05/21 05.09, Felipe Contreras wrote:

> > Total wealth: 1%
> > 
> > [1] https://gist.github.com/felipec/ce491d351c88e4acbdbf6bc02a47223d
> 
> Why did you deliberately exclude Signed-off-by trailer? I don't see
> that trailer above.

Because it's in a completely different class. It is mandatory, and we
all know it's #1, by far.

In the wealth analogy Signed-off-by is a king; so far away from anybody
else it's not even worth contemplating.

> For some trailers that have only 1 occurrence, these are typos of
> intended trailers (such as heled-by and helpd-by which means
> helped-by).

Indeed. I had code in place to fix those, but then I decided against
that because they exemplify a crucial part of language; mistakes happen.

It would be cheating to hide that truth.

Heled-by is now part of the history, just like
Simplified-testcase-and-bisection-by, and I'm not going to try to hide
either of those.

Cheers.

-- 
Felipe Contreras

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-05-26  8:05 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-25 22:09 The top 1% of commit trailers Felipe Contreras
2021-05-26  4:54 ` Bagas Sanjaya
2021-05-26  8:05   ` Felipe Contreras

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).