
Introducing Contributions - jakebellacera
https://github.com/blog/1360-introducing-contributions
======
tav
As a fanatical user of calendaraboutnothing in the past, I'm stoked to see the
streak graph on the profile page. As others have mentioned, it can be
extremely motivating!

However, I really don't care for most of my popular repos or some of the
external ones I've contributed to. My ideal would be to hide repos that I
don't care about and to highlight the ones that I want to showcase.

The "Contribution Activity" stuff is totally fine, but given how much the
public repos reflect the "personality" of an individual, I am a little
saddened that it's being lost in the sea of popularity. It'd be nice to be
able to reclaim some control over that.

Edit: To clarify, two of my popular repos with a few hundred watchers between
them are efforts I spent all of a few evenings on. I am as proud of them as
some notes I scribbled last week. In contrast, I have repos which I've poured
months of effort into which I would rather highlight.

Likewise, one of the repos to which I recently contributed is of such subpar
quality that I'd rather not be publicly associated with it so prominently.
Whilst I'm happy to help others out, knowing that it'd be displayed in such a
prominent manner acts as an anti-incentive to partake in low quality projects.

So, if any GitHubbers are listening... please replace "Popular Repositories"
with "Highlighted Repositories" and give us more control over what gets
displayed with regards repos we've contributed to. And, oh, whilst I'm at it,
perhaps "Most Recent Streak" would be more motivating than "Current Streak"
which I imagine would be at an awe-inspiring 0 for many of us way too often.

~~~
funksta
Github really needs a "deprecated" flag for repositories (maybe it has one
already? I don't know of one). This wouldn't solve your specific issue with
the weekend projects (assuming the code is still serviceable), but would
really help the signal-to-noise ratios in these lists and on other areas of
the site.

~~~
justincormack
I guess you could check them into a new repo and delete the old one to lose
the watchers... Or even create an archive account.

------
moe
Terrible.

There's a good idea buried somewhere in this, but they managed to completely
miss the mark.

1\. It needs an off-switch (globally and per repo). How did this feature get
out the door without that switch? Does Zuckerberg manage product at github
now?

2\. The data is useless. What does it tell me that ednapiranha "contributed"
to X during the last month, without any quantification? Nothing.

3\. The data is useless. For most people the "popular repositories"-box shows
5 popular projects _that they have forked_...

4\. The data is useless. When I want to see what a user (or myself) has
contributed to then I want to see _all of it_ , not the last 1 month.

Github appeals to the self-improvement, tomato-timer, fitbit crowd here. Those
people will start blogging in no time about how "commit-streak tracking
changed my life", from their barefoot standing desks. For everyone else these
vanity-stats are worse than wasted space; they are visual noise that pretends
to convey useful information but doesn't.

~~~
tomchristie
> Github appeals to the self-improvement, tomato-timer, fitbit crowd here.

What a bunch of bullshit. It's a tool. Thousands upon thousands of people use
it daily because it helps them get stuff done.

If you don't happen to like the way it's presented, fine, but that's a
personal preference, not a lifestyle choice.

~~~
moe
I'm sure you also wanted to say something about the points I made but alas
your tomato timer rang before you got to it, right?

~~~
tomchristie
No not really, I wanted to say something about the attitude.

I didn't think the points merited response, because it's self-evident that the
blanket statement of 'the data is useless' simply isn't the case.

Anyway, let me be specific:

1\. I can see why folks might want to be able to turn it on or off, but
introducing visual inconsistency between different user profiles would feel
pretty wonky to me.

2\. Keeps the information dense. I don't need to know exactly what was
committed in order for the information to be broadly useful.

3\. Incorrect.

4\. Recent = relevant.

That's not to say that I think it's perfect - for example, the 'current
streak' will tend to 0 days for most users as noted by other comments, but
overall I think it hangs together pretty well.

~~~
beaumartinez
> _Introducing visual inconsistency between different user profiles would feel
> pretty wonky to me_

If GitHub made the default tab your repos instead (as it was before), all
profiles would be consistent.

The default tab on projects is source—and projects can have optional wiki and
issues tabs if they want. I think it should be the same with profiles'
contributions tab.

------
prezjordan
I've wanted this for a _very_ long time. I'm in search of a summer internship,
so I've been hoping for a way for potential employers to quickly see what I've
been working on. Not just my own projects, but also my pull requests to other
projects.

Thumbs up for GitHub, this is a welcomed feature. Very attractive, too.

~~~
int3
Indeed. It used to be that the only way to glean such information (for an
arbitrary user) would be to crawl all the projects and sift through the data
yourself.

I'm hoping that they make this info available through the API, and allow us to
see contributions over all time, instead of just in the last year / month.

~~~
emperorcezar
Even more so. The majority of my work is in organizations. Before it was
difficult to see what I was doing. Unless someone is really interested in my
emacs settings.

------
cytzol
I'm not sure I like this.

It's generally considered that there's no effective way to measure
productivity[0]. Whenever you introduce metrics, programmers end up gaming it:
pay them by lines of code, they write too many lines of code; pay them by
commit, and they're going to start committing too much.

These graphs are going to just cause programmers to both commit in too small
chunks (or splitting up a commit into several), or delaying some overnight so
that they have a longer streak. I know that the data was there already, but
now it's made visible, people are going to start commenting on how much I'm
coding.

[0]: [http://stackoverflow.com/questions/324399/what-is-a-fair-
pro...](http://stackoverflow.com/questions/324399/what-is-a-fair-productivity-
measurement-technique-for-programmers)

~~~
tomchristie
I think it works really nicely. I wouldn't necessarily treat it as a measure
of productivity, but it does help give an indication of consistency and trend.

I also like the idea of annotating it (perhaps that'll come as a feature
sometime) It'd be nice to be able to mark on coding sprints & events.

------
beaumartinez
Hm, I'm divided on this. It's cool to be able to see what someone works most
on... But at the same time, there's the privacy concern of _being able to see
what someone works most on_. I'd like the ability to turn it off—hell, you can
already decide what repos you expose to the public, so why not activity?

Of course, I realize that your activity on GitHub is public anyway—but it's
never been so _obvious_.

~~~
jaytaylor
If you visit your "contributions" page while you are logged out, you will
notice that all non-public activity is hidden.

I feel that you've raised a valid concern -- for the sake of privacy it would
be best to have the option to deactivate this feature.

~~~
snprbob86
> If you visit your "contributions" page while you are logged out, you will
> notice that all non-public activity is hidden.

This wasn't immediately clear to me, so I had to test it out with Incognito.
As it is, my own view of my profile is dominated by repositories from my prior
business for which I no longer have access to on GitHub.

In general, I'd really prefer to be able to see my _public_ profile. I guess
it makes sense to let people know how much I contribute privately, but I want
to be able to audit my public persona in much the same way Facebook has "View
Profile As ____".

~~~
Shank
Maybe just a simple "View Public?" checkbox on the page itself would do. I
agree - I have to check incognito if I want to see what I've actually done the
most work on that everyone sees.

------
rachelbythebay
I don't think I'll be using github for anything else. There's too much stuff
which can't be disabled, deleted, or otherwise hidden.

I don't like their idea of "sharing".

------
jacques_chester
I don't know whether I'm pleased that it hides my private activity or whether
-- because almost all my activity is in private repos -- to be upset by that
:D

Anyhow. Very pretty.

~~~
robryan
Would be good to have some options to expose private activity for aggregation
then also another option to expose the repo name you are committing to.

~~~
bri3d
Sounds dangerous - I don't think my employer would be okay with me exposing
how frequently I contribute to our repositories, not due to any crazy paranoia
but simply because they haven't thought about the potential outcomes or abuses
yet.

To add this feature, GitHub would probably additionally have to add the
ability to disable it on an organizational basis, and and that point a simple-
sounding feature is transformed to a pointy-haired-boss "organizational
matrix" level of potentially conflicting settings.

~~~
robryan
True, I guess I am thinking more from a personal interest perspective, like
you would glance down a rescue time breakdown, rather than a telling the
world. So one possibility would be to have your personal profile view show
both.

------
craigc
I love this. I was not crazy about some of the changes Github had been making
lately, but this is great! Way easier to see what someone has done at a quick
glance vs having to scroll through a long list of repos.

The only thing I would suggest is like @tav said. They should change "Popular
repositories" to "Featured repositories" and give users the option to edit the
list. It could offer sort options (show 5 most recently active, show 5 most
popular, show 5 most recently created) and also give an option to manually
select which 5 to showcase and put them in a specific order.

In my case popularity works fine, but considering this is a way to showcase
yourself offering some additional control is not the end of the world in my
opinion.

------
philipn
Very cool! I used calendaraboutnothing /extensively/ - it was a hugely
important motivational tool for me.

Unfortunately, it doesn't look like this counts contributions to non-master
branches? I work mostly in branches and my calenderaboutnothing streaks were
much longer.

~~~
SoftwareMaven
What is this calendaraboutnothing of which you speak? Google wasn't very
helpful here. I'm looking for a "streak-based calendar/motivational tool", and
I gather that's what you are talking about.

~~~
InAnEmergency
It used to be at <http://www.calendaraboutnothing.com/> which seems to be down
now. You can get an idea from the archives:
[http://web.archive.org/web/20110716142534/http://calendarabo...](http://web.archive.org/web/20110716142534/http://calendaraboutnothing.com/)

------
chewxy
FINALLY. I've been wanting a summary page for all the projects I'm working on.
I don't get the streak thing though

~~~
dewski
The streak is just the number of consecutive days that you've contributed at
least 1 thing to a project on GitHub.

~~~
chewxy
I have daily commits to a main branch of several of my projects but I'm on a 0
current streak.

Also, damn, the disparity between my public and private profile is huge. Imma
gonna commit more to open source!

~~~
mpdaugherty
Looks like this is doing exactly what it's supposed to, then!

------
rurounijones
Certainly makes github more recruiter friendly and more and more the techys'
CV site.

"Can I program and work in a team? am I active? Check out my github profile"

------
eps
Looks great. How can I disable this for my account?

------
guptaneil
Ha, if you look at a GitHub profile with a current streak of 0 days, the date
range is "Rock - Hard Place" :)

------
reledi
Nice! A link to your gists (e.g. <https://gist.github.com/username>) would
also be nice to have on your profile page.

~~~
saraid216
As long as it's just the public ones. I have a ton of private gists that I
_really_ don't want exposed.

(Admittedly, I need to get around to deleting them, too.)

~~~
holman
(For what it's worth, we'll _never_ publicly list out your private gists or
otherwise make them known.)

------
Shank
I love the idea of Github as a resume, and this is easily one of the best
features that push it in that direction. It allows for a quick glance at what
an author contributes the most to, which can be a quick way of identifying the
most successful projects they work on.

It really fixes the problem that organizations always had of visibility. My
commits to an org repo usually weren't visible on profile except in the feed
and as a link to the organization. This is a big improvement.

------
edna_piranha
omg that's me.

~~~
coconutrandom
Look at that! Let's all give unrequested feedback on your crypto
implementation. [puts on neckbeard]

~~~
MrMcDowall
She should also add comments...

------
telemachos
I love it overall, but it would be great if the user could fine tune it a bit.
An example: Under "Repositories contributed to" on my page, I see two repos
from a place I worked. Those repos are private, and after I left, I had my
commit rights revoked (reasonably enough!). But the odd upshot is this: those
two repos show up on my page, and yet if I follow the links, I get a 404 page
(which is how GH handles this situation: "you're trying to look at a private
repo where you are not a collaborator".).

Since that's the case, it would be great if I could manually remove those two
repos. (Note: if I logout, those repos no longer appear. So I'm not
complaining about what _others_ see - which I think is handled very well. I'm
just wishing that _I_ had more control over what I saw.)

~~~
IceyEC
If those repos are private repos, they show up to you and others that can see
the repos but not to other users. I jsut checked that on my profile and half
of my repos changed!

------
unwind
Having taken a few seconds to look at my (meager) contributions, it took me a
while to understand the vertical axis of the field of boxes.

Then it hit me: it's happily US-centric, with weeks starting with Sunday.
Aaargh. This should really be a user setting, since in my mind weeks start
with Mondays.

------
nicholassmith
Seems this has been some what divisive looking over the comments already
posted here. Kudos for GitHub trying something different, it's a small tool
that might help motivate people to keep going, in the same way fitness
trackers do.

------
deanpcmad
Wow this is great GitHub. One of my fave features so far. It was always a pain
to see my most popular repositories and to view the repos that I have
contributed to!

------
tazer
Like the idé , But don't know if it's that useful cause, It changes depending
on who you are. Example if your Anonymous you went see much. If your a member
of same Organization as the User your viewing , you will see different stats.
And you self will also see other stats. So not sure whats the use-fullness of
the feature.

------
glenjamin
I sent a support email suggesting this feature on the 17th of December -
that's either a good turnaround time or they were already working on this!

I think it's great for people who mostly contribute to others' projects,
rather than starting their own - which is arguably a better way to get
involved in open source.

------
anderspetersson
A dream for someone looking at a github profile with the purpose of see if
he/she should be hired or not.

------
jbellis
Hmm, doesn't seem to be connecting all the dots. None of the committers to
Cassandra show Contributions there on their profiles:
<https://github.com/apache/cassandra/graphs/contributors>

------
plentz
When I read this news I was expecting something like this
<http://www.ohloh.net/accounts/Stefan> (show all repos that this person had
done any commits/opened issues). Kinda sad.

------
sailfast
As someone that's been working to wrap my head around how to work with and
develop d3.js visualizations, this provides a great example of what's
possible. Looks good, and the source definitely gives me a few things to
investigate!

------
aantix
There's a repo that I am co-own, but since it was originally created by my
colleague, it's shows up as he's the owner. Wish there was a way to make a
repo equally credited on multiple profiles..

------
richo
Awesome work dudes, I've been wanting something like this for a while.

------
vassvdm
It's interesting to see where GitHub is heading these days. The combination of
software collaboration and showcasing projects / recruiter friendly profile
pages is pretty compelling...

------
nicpottier
That's an interesting visualization of every day in the year. Anybody know if
there is a standard name for them and/or any good tools for generating them in
JS?

~~~
kfl
It looks a lot like the d3 calendar view example: <http://bl.ocks.org/4063318>
<http://mbostock.github.com/d3/talk/20111018/calendar.html>

Layout inspired by Rick Wicklin and Robert Allison (<http://stat-
computing.org/dataexpo/2009/posters/>)

------
jjbohn
Very cool! It's interesting how much mine changes when I am logged in and can
see all the private repositories I've contributed to at work.

------
plg
Q: can you get these visualizations per project?

~~~
munchor
Try "Graphs".

------
mbell
Is it just me or does this only count commits to master? Nothing in branches
seems to show up for me.

~~~
holman
It only counts commits made to a master (or default) branch. Once your branch
gets merged, we'll backfill all of your contributions.

------
clobber
Streak? C'mon, what is this, Xbox Live?

Not all commits are created equal and I don't find this new 'contributions'
calendar/graph at all useful.

You still cannot get a good snapshot of contributions for users that are
members of organizations.

~~~
freditup
Agreed - it's great to see what people have been contributing to and working
on - but the number of commits and days in a row with a commit seem like
meaningless data.

~~~
TeMPOraL
Well, measuring the quality of commits is an AI-complete task, so we need some
proxies. Number of commits seems to encourage more small commits, which AFAIR
is what is preferred in Git. Days in a row is an old "don't break the chain"
trick.

> Streak? C'mon, what is this, Xbox Live?

Most likely, yes. I guess it's not about what that data means, it's more about
what it does to you. I dread to use this word, but it's gamification.

~~~
chimeracoder
> I dread to use this word, but it's gamification.

Which is the problem. I already enjoy writing code, and I don't need it to be
gamified in order to give me an incentive to do so.

Worse, gamifying it skews the incentives, reducing overall code quality in the
process.

