Skip to main content


How many authors have their contributions in #curl product source code? How many have had their previous work completely removed. Over time.

The first #curl release with code present authored by 200 persons was done in 2015-04-22. In that release, we had already removed all traces of contributions from 20 authors.

In the latest release, 604 authors' code is still present. 171 authors' work have been replaced.

#curl
in reply to daniel:// stenberg://

I guess the "removed all traces" part is on lines most recently changed by the author, shown by git blame. So refactoring work could remove a persons contribution while their work is still providing value to curl.
in reply to mrFred489

oh absolutely. A contribution took the work forward. Then someone else can build on that and take it further, and sometimes a subsequent step ends up changing all lines of a previous author. Does not take away the help the original author brought!
This entry was edited (2 weeks ago)
in reply to daniel:// stenberg://

I think it's interesting that only 1/5th of the authors had their work fully replaced. I wonder how many of those are drive-by oneliner commits.
in reply to mid_kid

@mid_kid we know >60% of our authors are single-time committers, so I would assume that would be visible among these numbers too, give or take
in reply to daniel:// stenberg://

my script runs "git blame" on the product code base for all files for every release tag and counts everyone who had their name "on" a code line for that release. Then counts how many in total plus how many that has had at least a line before but does not anymore.
This entry was edited (2 weeks ago)
in reply to daniel:// stenberg://

a main problem with my script is probably that it only runs git blame every release, which makes it miss lines added (and removed again) in between...
in reply to daniel:// stenberg://

Maybe better than blame would be

git shortlog last..curr | grep '^[^ ]'

in reply to daniel:// stenberg://

Just because a person no longer has any lines attributed to them in `git blame` doesn't mean none of their code remains. They could have had their contributed lines simply changed by something like a refactor that renames a variable or adds another argument to a function.

Of course, any metric isn't going to be perfect, doing it via `git blame` is probably the best you can reasonably do, but worth keeping in mind even that users who don't show up that way may still be authors.

This entry was edited (2 weeks ago)
in reply to Brian Campbell

@unlambda indeed, and in fact someone simply removing lines is also an author even if they never added lines...
in reply to daniel:// stenberg://

I tweaked made my script to use git blame -CCC instead, which actually made it end up with more authors left. It also made the script MUCH slower 😁

I decided to drop the plot for how many that was "gone" because it was not possible to make it correct and it made delta-updates of the graph quite impossible.

in reply to daniel:// stenberg://

Nice graphs! I wonder how many of those authors the contribution is trivial? I’m thinking of a surviving single line of { or similar. One way to illustrate this is to add graphs showing number of authors with more than 10, 100, 1000, and 10.000 lines of code?