-
-
Save notmyname/a60673d006419fff78cd to your computer and use it in GitHub Desktop.
explanation of http://d.not.mn/contrib_activity.png
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
The X axis is time, from the first date in the repo until today. The | |
contributors are added on the Y axis in the order in which they | |
started contributing to the project. For each contributor, there is a | |
solid line from the date of their first contribution to the last day | |
of activity in the repo. The color of this line varies from black to | |
red. The more active a contributor is during their period of | |
contribution, the brighter red the line is. The blue boxes are for | |
days active as a patch author and the green boxes are for days active | |
as a code reviewer. | |
That raises a question: what makes someone counted as "active"? | |
Somewhat arbitrarily, a contributor is marked as active for 14 days | |
for a patch and 5 days for a review. So if you authored a patch today, | |
you'd be counted active for the next 2 weeks. There's nothing | |
especially scientific about 14 days or 5 days. I chose those for two | |
reasons. First, I know that it takes a while to write a patch, so it's | |
not accurate to say that you're only active for the single day in the | |
commit. Some patches take longer than others, but I figure that if you | |
show up in IRC and you've got a patch that you wrote within the last | |
2 weeks, you're pretty active in my book. A similar logic is applied | |
for the 5 day window for code reviews. Secondly, looking at the scale | |
of the X axis, aesthetically I want a balance between fine resolution | |
and visual clarity. The values chosen seem to result in a visually | |
pleasing graph (at least to me). | |
So charts and graphs are nice (and I'll be the first to say that a | |
pretty graph can be valuable in and of itself), but real value comes | |
when you can use the data to draw conclusions. I've been able to draw | |
two conclusions from this visualization. | |
First, I can see that there are 3 general classes of contributors: | |
active contributors, one-time contributors, and active-with-gaps | |
contributors. The active-with-gaps group is made of people like Donagh | |
Mccabe, Andrew Hale, and Brian Cline. I happen to know all three of | |
them, and they are operators who are running clusters in production. | |
Their activity looks like several one-time commits separated by months | |
of inactivity. I speculate that this is from something like "Time to | |
deploy, and it broke. Submit a patch. A year later, upgrade, patch | |
what broke. etc". What this tells me is that there is a group of | |
people who are important to the community but do not show up in | |
traditional flashy "who's active" graphs. From experience, I know that | |
these individuals offer some of the best feedback and wisest council | |
to the rest of the community. | |
Second, I can see that a contributor who is active and stays around a | |
long time ends up doing more reviews than authoring patches. This | |
tells me that as part of on boarding new community members, I need to | |
encourage people to do reviews. This seems to keep people involved and | |
gives them some sticking power in the community. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment