
GitHub contribution graph can be harmful to contributors - tomhardman0
https://github.com/isaacs/github/issues/627
======
Khao
Is this an April Fools joke? I've never seen anyone who gave a fuck about
their contribution graph and record streak, except for devs who developped
clever git repos that make your contribution graph show pixel art (which is
pretty awesome).

I want to say if you feel pressure when looking at your contribution graph,
it's all in your head and you should take a break because you're clearly not
thinking straight.

~~~
the_mitsuhiko
People care a ton about their streaks and I have noted that before. It
encourages people to not have weekends.

~~~
donatj
As someone who used to care about streaks, it only takes one small commit and
it can be a small reword of a readme ;)

~~~
arien
Or a little cronjob that commits harmless changes later in the week? :P

I don't care about the contribution streak, but do have friends who comment on
theirs on Twitter now and then. I suppose it's just another thing to be proud
of...

~~~
kedean
And then what's the point? You aren't proving anything to the world, and they
can trivially see that you didn't do any real work. It's like saying "I'm
going to write a part of my novel every day from now on", then every day you
type one letter. It's very clearly gaming the system, and for absolutely no
gain. You gained no skills, you didn't show yourself to be of value, you don't
even get an imaginary reward. The intrinsic reward of tracking systems is lost
because deep down you know you didn't do anything.

~~~
arien
Exactly, I do agree with what you said.

But, this is true whether you commit a few irrelevant lines manually or
automatically. So if you're going to do it just for the sake of showing off,
at least make it efficient, no? :P

------
snowwrestler
Fake Internet points result in all sorts of counterproductive or at least
neutrally productive behavior. It's true here on HN. Some people get mad when
a link they submitted gets voted up when someone else submits it later.

I love this comment from Github:

> if you look at my contribution chart right now you will notice that it is
> completely green, why is that (for the people that do not know the trick) I
> simply commit changing the date manually using this Bash script

Very capably demonstrates how stupid the point-counting is, while at the same
time capably playing the stupid game.

But there are arguably positive effects to the gamification. Here on HN, the
points give people incentive to browse the NEW list to vote and comment.
Getting in on the ground floor of a popular post is the key to getting a lot
of upvotes. It also gives people incentive to know what the heck they are
posting about, or at least do some basic fact-checking and editing before
hitting the button.

On Github the graph incentivizes commitment, which is desirable in open source
projects. Taken too far, people will burn out--true. But I bet the opposite is
far more common: I bet a lot more promising open source projects die from lack
of effort than over-effort.

------
whichdan
I'm surprised at how dismissive all of the comments have been so far. There
are a lot of cultural habits around programming that are exclusionary, and if
we're trying to pull more people into the field, discouraging people who can't
code every single day could have a negative impact. It's at least worth
exploring.

~~~
jerf
"Exclusionary" connotes a lot of things nowadays, especially something like
"something that 80% of the people within the culture can do and they lock out
those that can't". But the reality is that the vast majority of people really
can't commit usefully every day. If I see a perfectly green graph, I assume
it's been gamed. Even if the commits are real, I'm confident many days will
have useless commits in them. Given the political firepower currently carried
by "exclusionary", I don't think it's worth flinging it at this problem. It's
a stupid metric like your level on Google Play or the count of Platinum
trophies you have on your Sony account, making only a small percentage of
people do something they otherwise wouldn't, not something preventing anyone
from getting into programming or something.

~~~
whichdan
Okay, that's a fair point. I do think you bring up something important: we're
all aware that a perfectly green graph means that it's either been gamed, or
that the person spends an inordinate amount of time coding, but someone new to
the field would have no idea.

~~~
mitchty
I guess I'm glad that my github graph looks like the end of a minesweeper
game. >.<

Its not that I'm not working, just that most of the stuff I do I tend to
either cleanup and squash commits for, or they tend to be very much research
project type deals that sure I can commit something but most of the time it
would end up as: "this didn't work", "neither did this".

I'd love to commit something meaningful every day but honestly can't be arsed
most of the time. If I'm sitting there at a serial terminal figuring out why I
can't boot on an arm board, what silly thing should i commit? I have org notes
that document that stuff, commits are for semi useful things not a measure of
work/worth.

------
p4wnc6
As I mentioned in another comment, I've had interviewers grill me about gaps
in my contribution history before.

I sometimes will link to a pedagogical Python package that I maintain to show
how I work with Python/Cython, and also that I know the ropes with packaging,
complex travis-ci scripts, and workflow management on GitHub.

I expect them to ask about that project, or the handful of other open source
contributions I've made, but would never expect them to go hunt down my
contribution history and nitpick.

In one case it was a non-technical HR interviewer who thought it was clever to
grill me about why I hadn't made a commit to a certain repo in several months.
It was the repo where I store configuration files, like .emacs, and I just
didn't have any config updates in that time period. However politely I tried
to say that's just not the sort of repo that would reflect regular
engineering, she did not seem willing to drop it, and went on about how they
want to hire "passionate" developers who code "because it's in their DNA."

O_o

I really wish GitHub would allow users to disable the contribution tracking if
they wish. I don't like the idea that an interviewer, or a boss, can go
digging around and maybe even try to use it against me (e.g. you said you
couldn't come in to work this weekend, but I see that you were able to commit
something on an open source project...)

Even if that risk is low, why should we have zero ability to choose not to
bear it?

The saddest part is that when this has happened in interviews, it's been with
two major US tech companies that are popular and widely regarded as places
that many people want to work. So it's not as easy as dismissing a recruiter
who snoops through your GitHub contributions. The company they represent may
be widely known to be excellent.

------
takno
The reason sites do gamelike features like this is because it makes some
people care and therefore participate more. Setting a metric which causes poor
quality contributions or is damaging to participants is a bad thing. I'd guess
a steak of 4 day weeks would be more productive.

Personally if I cared about this metric I would just set something up which
held onto Friday's commits and pushed them out over the weekend.

------
phkahler
>> The contribution graph and the statistics on it, prominent on everyone's
profile, basically rewards people for doing work on as many different days as
possible, generally making more contributions, and making contributions on
multiple days in a row without a break.

If you're concerned about those things, you need to do some deep introspection
and fix whatever issues you have inside yourself.

~~~
phkahler
Same thing regarding the downvote ;-) But seriously, it's open source.
Everyone has their reasons for contributing, but if you're trying to
manipulate your stats in order to satisfy some psychological issue, well then
you've got an issue. Why not address it instead of trying to feed it?

~~~
phasmantistes
You're presenting a false dichotomy. Yes, it may be true that people whose
lives are made worse by their internal need to make their chart all green have
deeper problems to deal with. But that doesn't mean that GitHub and the rest
of the community have to continue to rub it in their face and aggravate those
issues with a constant reminder that they "should be contributing more".

Recognizing that people may have problems, recognizing that the activity graph
and streak metric may _aggravate_ those problems, and then saying that the
charts shouldn't be removed and the people should just deal with it themselves
is not particularly empathetic.

~~~
phkahler
>> But that doesn't mean that GitHub and the rest of the community have to
continue to rub it in their face and aggravate those issues with a constant
reminder that they "should be contributing more".

That's the problem, the stats are just that. Anyone interpreting them as an
indicator of "should be contributing more" should chill. But I do see your
point.

>> Recognizing that people may have problems, recognizing that the activity
graph and streak metric may aggravate those problems, and then saying that the
charts shouldn't be removed and the people should just deal with it themselves
is not particularly empathetic.

To be honest, I didn't read the entire piece, I just got far enough to cringe
at this whole notion of people trying to play games with the stats and wanted
to comment.

I have been looking inward myself lately, and while I have found it very
challenging or even painful at times, it is one of the best things I've ever
done. Highly recommended. We've all got our issues...

------
tombert
I guess I can see this being an issue, but as someone who generally has a
pretty "green" contribution chart, I find people look more at how many stars I
have more than anything.

~~~
prezjordan
Which is another discussion all together :-\

I used to be all about stars, not very explicitly, but it definitely went into
my decision-making process when working on side projects whether I wanted to
admit it or not.

Sadly this has caused me to not ship silly-little-experiments-that-no-one-
will-care-about like I used to before my "stars." The bar's a little higher
now.

------
bjourne
Everybody should know that working on free software in general is not healthy.
:) There is no way that the fame, name recognition in the community,
gratefulness received, CV padding or whatever makes up for your hours of free
work. The time investment wont pay off.

BUT if it is the _act of writing code_ you like, then that doesn't matter. The
"work" itself is the reward.

~~~
cyphar
> Everybody should know that working on free software in general is not
> healthy. :) There is no way that the fame, name recognition in the
> community, gratefulness received, CV padding or whatever makes up for your
> hours of free work. The time investment wont pay off.

How about personal satisfaction? That's definitely worth a lot. Not to mention
that I got my first job from free software contributions alone. That's also
worth something and did pay off (of course that's not why I contributed to
free software).

------
altotrees
Have I made pithy comments or tiny modifications occasionally to keep a streak
alive? Maybe...

but that was pretty much limited to my earlier days of using Github. Now, I
think one or two days of quality commits a week (on personal projects) is far
superior to straining to make tiny changes for the sake of a streak.

------
dubcanada
Has to be a joke... I mean if you really care you can just checkout the repo
and generate your own graphs.

~~~
_1
But then no one else is going to see your graphs. That's what gamification is
about.

------
schoen
When I saw this title, I thought it was going to be about privacy rather than
about incentives and motivation! I was envisioning something about Orthodox
Jews who secretly code on shabbat and had other people notice because of their
contribution graph, or maybe people whose employers thought an employee's
graph reflected too much or too little effort or effort at the wrong time or
something. ("Why are you working on the weekends?" or "why are you _not_
working on the weekends?", maybe.)

On the other hand, the privacy argument might be hard to sustain because an
external site or tool can regenerate much of it from the user's individual git
commits.

------
frewsxcv
To me, coding is fun. Stockholm syndrome? Maybe? Regardless, I don't think
people aren't in a position to tell others what is/isn't fun.

[https://xkcd.com/359/](https://xkcd.com/359/)

~~~
emodendroket
I like reading books, but I don't want to spend every waking hour reading
either.

------
ocdtrekkie
I use the contribution graph and streak count to encourage me to keep working
on a side project of mine. I don't do development for my job, and my side
projects I regularly abandon.

Trying to use the GitHub streaks feature to encourage me to make at least a
small commit to my side project every day has actually led to me getting much
further on it and working much more on it than I ever expected. It keeps me
looking at and going back to my code.

Yes, it's irrelevant and frivolous. Yes, it's easy to cheat on (if you feel
like cheating yourself). But you can use it for good if you want to, and I'm
glad it's there.

------
zenogais
Even though this may just be an April Fool's joke. My 2 cents.

This is a "give a man a fish" solution that doesn't address the root cause of
the issue (and that parable is all about fixing root causes). This likely has
more to do with the inability of some individuals to create personal
boundaries and regulate their own behaviours than it does with the presence of
an infographic. That individual inability will still be around even if the
infographic goes away, because as in the parable if you don't fix the root
cause the other person is in the same situation again tomorrow.

~~~
phasmantistes
I'm not sure the analogy holds.

Yep, some people have difficulty building boundaries between their work life
and their non-work life, or between their coding life and their non-coding
life. (Some people don't want to build those boundaries, and that's fine, but
some people do want to build them and yet have a hard time doing so.)

But just because they have a hard time doing something other people find easy
doesn't mean we shouldn't make it even easier.

Removing the graph or the streaks metric isn't "giving someone a fish". It is
realizing that they have difficulty catching fish when they try, and giving
them a net to make it easier.

~~~
zenogais
This isn't an issue of making something easier for everyone. Sadly it's not
that cut and dried.

This is a request to destroy or completely disfigure, to the point of
uselessness, a UI element that some people and teams legitimately find useful,
all for the sake of protecting people (we don't know who or how many) who
might plausibly harm themselves using it because of a lack of self control.
Control that other people clearly demonstrate can be developed.

------
siegecraft
Does no one else just run a script to put amusing pixel-based graphics on
their contributor chart? Sadly they decay as time passes and/or I make real
commits. But such is the temporary nature of art.

------
jkot
I think its irrelevant stat. Single commit can take 1 second or several weeks
of work.

And several people have cron jobs for website synchronization etc...

------
hippich
Last year I had new year resolution to have each square in my graph to become
some shade of green.

Did I contribute very many very small commits? Yes.

Did I think about everything I do daily from a global/sharable/modular
perspective? Absolutely!

Did it make a dent in the world? No.

Yes, it was stressful at times. But I still think I became a bit better at
approaching problems from re-usability perspective.

------
vdnkh
Occasionally I'm motivated to do some work so I don't "break the chain". I try
not to sweat it though.

------
dreamdu5t
Please start naming employers that ask why you have gaps in the graph. I'd
like to know who they are.

------
dsmithatx
My response on Github:

I haven't made my first commit to a public Github however, it seems to me you
can easily keep your streak with minimal effort. Why not just stash a small
commit during the week and have a cronjob commit it for you on Saturday and
another Sunday?

~~~
phasmantistes
Because now you're gaming the system. If the incentives put in place by the
system are so perverse that the best advice is to -- for lack of a better word
-- "cheat", then the incentives need to be changed.

~~~
dsmithatx
But if there is no tangible reward are you gaming the system? Isn't this
really just about someone wanting to get a "streak" to satisfy their own inner
desire or are they cheating at some game I'm not really aware of? I'm not
saying you should cheat just saying spread your work out to make a graph
pretty.

Maybe you code 18 hours M-F. Is a guy who codes 5 minutes 7 days a week
cheating because he gets a streak and you don't? Whose to decide if he is
gaming the system by barely contributing.

~~~
phasmantistes
There are actually tangible rewards: multiple people in this thread have
talked about how they've had discussions with recruiters who examined their
activity history and commit streaks. So maybe having longer streaks helps you
get a job, and maybe having shorter ones hurts. It's anecdotal, yes, but it's
not intangible.

But I think your second paragraph addresses the real problem: contributing
18hrs/weekday and contributing 5mins/day are both legitimate open source
contribution styles. But the "streaks" metric removes all subtlety -- how many
contributions are they actually making; are the changes meaty or trivial; do
the changes break CI; do the changes address Issues in their respective repos
-- and so I don't believe it is a helpful metric to display.

Personally, I believe it does more harm that good, by encouraging people to
maintain streaks even if doing so actually decreases their true productivity
or happiness. But no matter how much or how little harm it does, I think it is
hard to argue that it does much good, since it is such a high-level
distillation of complex information.

------
leshow
If you're worried about someone else's commit graph. The solution isn't to end
the commit graph, it's for you to stop caring about what other people are
doing.

------
coleifer
Who cares, this is some real 4chan bait if you ask me.

------
evook
I create a fresh github throw away accounts every time I contribute to a
project. Is something wrong with me?

------
cirosantilli
Look, ma, no graph!
[https://github.com/cirosantilli](https://github.com/cirosantilli) |
[https://web.archive.org/web/20151021135921/https://github.co...](https://web.archive.org/web/20151021135921/https://github.com/cirosantilli/)

~~~
hobo_mark
Ok I'll bite, how?

~~~
cirosantilli
[http://stackoverflow.com/questions/20099235/who-is-the-
user-...](http://stackoverflow.com/questions/20099235/who-is-the-user-with-
the-longest-streak-on-github/27742165#27742165)

------
mattkrea
He should be focused on fixing the problems with npm.. not nonsense like this.

~~~
jacobwg
isaacs owns the repo, but it's just a community place to discuss issues with
GitHub. You can find more info at
[https://github.com/isaacs/github](https://github.com/isaacs/github).

------
pksadiq
Hm... Absolutely true for me. Mostly because my code is hosted at GitLab, and
I don't usually mirror at GitHub. ;-)

------
rambos
"Stop rewarding those who worker harder than me"

~~~
wambotron
I know people who commit CONSTANTLY. They may not push for a while, so they
can end up with a small pull request that has 100+ commits. It has nothing to
do with how hard someone works, and more to do with how often they commit.

I don't care about the community aspect of it, but I worked at a corporation
that did care about those graphs when they're completely meaningless. When
your bonus depends on how many commits you make, why not commit once per line?

~~~
rambos
thats not the argument made in the issue

------
ihsw
The problem is people are using it as a signal for measuring someone's worth.

There are so many other signals -- learning new programming languages, fixing
broken tests, creating awesome new features, cleaning up crufty API libraries,
and so forth -- but GitHub isn't showing them on profile pages.

Clearly there is a desire for such signals as people are either 1) using it to
elevate one's perceived stature 2) using it to measure other people's
perceived stature.

Personally I think this is an opportunity for GitHub to obviate such a signal,
one that accurately measures someone's quality of work.

~~~
emodendroket
I don't think "obviate" is the right word here, nor do I know how you would
measure those other things programmatically.

