Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

seeing the story in the commit graphs #2

Open
benatkin opened this issue Aug 11, 2014 · 3 comments
Open

seeing the story in the commit graphs #2

benatkin opened this issue Aug 11, 2014 · 3 comments

Comments

@benatkin
Copy link

Taking a look at the top dozen contributors in this graph you can see that Node has lost many of its major contributors. People who used to contribute a lot are contributing less in the past year. The only major exception is @indutny. The other contributors are relatively new, in terms of committing to the nodejs repo. This might explain why this release is taking longer than past releases.

https://github.com/joyent/node/graphs/contributors

@mikeal
Copy link
Member

mikeal commented Aug 11, 2014

I have a lot to say about this, and don't have time to get it all out right now, but one thing I think we should avoid is looking at the "top contributors" of all time and after observing their relative decline in activity assume the sky is falling.

For instance, I doubt any individual will ever write as much code on Node as @ry did, and if someone does (I'm looking at you @indutny) it'll end up taking significantly more time to do so. That's because the early days of a project require large amounts of code to be written at once and it's actually easier for one person to write it than it is for a group of people to communicate about it and cut it up. This is in contrast to the state of the project now, which requires a lot of work to be done but the work is far more segmented and can be cut up among a lot of people in parallel.

A much bigger concern to me is the overall decline in activity and the decline in new active committers, and at a time when overall ecosystem growth and interest in node is soaring. I'd look at people down the list and ask what may have turned them off from the project or, more importantly, what might have encouraged them to stay and potentially even increase their contributions. Also, what might be keeping other contributors from getting involved and, when they get involved a little, from continuing to increase their activity.

@trevnorris
Copy link

I'm really tired of people using that graph. Not unlike StrongLoop's blog post about activity. That thing is bullshit when it comes to Node because the (past) website, documentation and dependencies are all included in there. So update deps/v8 once and there. You have 50k LOC changes. Useless.

It also doesn't show how many issues someone has responded to, how many they've tagged, or how many code comments they've contributed. For example, the majority of my days are either spent working on singly large changes (e.g. the Buffer rewrite, AsyncListeners), triaging issues or helping new contributors with their patches so they can get merged.

For example, let's take a look at top 10 contributors for the last 300 commits by author:

$ git log --all --pretty=fuller -500 | grep "^Author: " | sort | uniq -c | sort -nr | head -10
     57 Author:     Fedor Indutny <fedor@indutny.com>
     51 Author:     Timothy J Fontaine <tjfontaine@gmail.com>
     16 Author:     Ben Noordhuis <info@bnoordhuis.nl>
     14 Author:     cjihrig <cjihrig@gmail.com>
     12 Author:     Alexis Campailla <alexis@janeasystems.com>
     10 Author:     Felix Geisendörfer <felix@debuggable.com>
      9 Author:     Trevor Norris <trev.norris@gmail.com>
      9 Author:     Julien Gilli <julien.gilli@joyent.com>
      8 Author:     Ryan Graham <r.m.graham@gmail.com>
      7 Author:     Yazhong Liu <yorkiefixer@gmail.com>

Now, let's take a look at contribution by committer:

$ git log --all --pretty=fuller -300 | grep "^Commit: " | sort | uniq -c | sort -nr
    140 Commit:     Fedor Indutny <fedor@indutny.com>
     99 Commit:     Timothy J Fontaine <tjfontaine@gmail.com>
     48 Commit:     Trevor Norris <trev.norris@gmail.com>
      5 Commit:     Bert Belder <bertbelder@gmail.com>
      4 Commit:     isaacs <i@izs.me>
      3 Commit:     Alexis Campailla <alexis@janeasystems.com>
      1 Commit:     Nathan Rajlich <nathan@tootallnate.net>

See a slight discrepancy between how many commits I've authored and how many have been from others? And this still doesn't take into account how much time is spent in each issue. Hell, I spent almost 2 hours today figuring out this dumb ass issue (and I hate Promises) nodejs/node-v0.x-archive#7714 (comment)

Point is, don't use that graph for crap. What we should focus on is getting a roadmap together with specifics. Things that can be accomplished. Then see how long it takes to do those things, and how many people chip in and help do the work. I've been busting my ass to get more contributors helping out by making sure they get responses on their PRs.

Anyway, rant over. @mikeal, if you can help by finding out how to get more people to contribute that would be great, but the "community" has to understand how to help. Which I'm happy to guide them through (if it wasn't for @bnoordhuis I wouldn't be here now). Lately there's been a lot of whiny ass requests like, "I want everything to return a Promise." I've gotten past the point of actually trying to explain the technical difficulties behind things like this because they fall on deaf ears. So instead I invite them to implement even a subset of the feature an post it as a PR. If nothing else to spark interest and see where it goes. Never seen one.

@mikeal
Copy link
Member

mikeal commented Aug 13, 2014

I really wish that GitHub gave you good metrics on issues and comments, in the work I've done getting metrics out of the public data dumps it's big portion of the actual engagement.

Anyway, yes, we do need to make it clear what people can do and how they can get involved and what the current priorities are. I'm going to kickoff a public roadmap effort soon here that can, hopefully, help address some of that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants