top | item 33309969

Gamification affects software developers: Cautionary evidence from GitHub

264 points| edward | 3 years ago |arxiv.org

304 comments

order
[+] c7DJTLrn|3 years ago|reply
I really don't like how GitHub has turned into a social network of sorts. The gamified elements are encouraging people to work for free and MS probably knows this. GitHub should just be a place to host and build code, not to flex your follower or star count. Some examples of gamified elements I find quite toxic:

  * Achievements on profiles
  * Highlights on profiles
  * "Activity overview" which shows an extremely flawed gauge of the work you're doing (Code review, Issues, etc)
[+] gumby|3 years ago|reply
I saw it today in someone who announced a package and in their README had a gif of a mouse clicking to add a "star" to the repo. Like the youtube videos that ask you to "like and subscribe".
[+] r3trohack3r|3 years ago|reply
This is the social commentary where OSS and freedom respecting software intersect. It was called upfront when the split happened.

Don't build FOSS for others. Build it for yourself and package it for others. Expect contributions. It's okay to expect your users to contribute. It's okay to push back and expect them to contribute. It's okay to say no to PRS because you don't have time to review them. It's okay to not have the time to say you don't have the time.

Personally, package management solutions fall short of the FOSS goal for me. Hard to start with a package and float my own changes. Hard to fork and maintain my own version. The whole push for staying on mainline and pushing that burden of the original author is a symptom IMO.

[+] hoten|3 years ago|reply
The social aspect to GitHub is very much not front and center, so it seems very innocuous. How are badges toxic?

It certainly seems like a waste of their development time. I looks at these badges for a moment and think "neat" but nothing else. And profiles I just ignore, especially the ones people Myspace-ify...

[+] scrollaway|3 years ago|reply
… turned into?

GitHub’s motto VERY EARLY ON was “social coding”. They kept that motto for a long time.

[+] armchairhacker|3 years ago|reply
IMO this is the main thing GitHub has over GitLab. Most platforms which support GitHub also support GitLab, GitLab has equivalents for many of GitHub's features like actions, and GitLab even has comparable free tier storage (as they've decided not to delete inactive free projects [1])

If someone just wants to host and build code there are many alternatives (like Sourcehut). The only reason GitHub is so dominant is because of its already huge following and exploration / networking which relies on said following.

[1] https://news.itsfoss.com/gitlab-inactive-projects-policy/

[+] nimbius|3 years ago|reply
if i may be so bold, this is an encroaching effort from multiple large players, FAANG included. its a pretty ham-fisted, transparent attempt to get the kids excited about code in much the same way your spanish teacher tried to pump the kids up to learn with a fiesta.

The idea is to increase the number of programmers, decrease the median pay rate of the average programmer, and recapture the excess capital lost from the past 60 years of nerd-shaming that led us to consume more code and tech than we produce.

the only people whining about code not being fun and pushing gamification are the very people who shouldnt be doing it.

[+] abledon|3 years ago|reply
my first "wtf" was seeing the "pull shark" badge... really? I do like that they give you the option to disable showing your achievements in the settings.
[+] dleslie|3 years ago|reply
I'm going to buck the comment trend thus far and state that I enjoy the gamified experience.

Getting an achievement in recognition of the open source work that I've done feels great, and honestly it's more positive recognition then I would normally receive for that same effort.

I also appreciate the activity chart and graph, since they double as a way to monitor my productivity and therefore my energy. If I've felt that I had a bad week and the charts contradict this, then it's easier to stop myself from feeling down on myself.

I am just a social mammal, after all; and a life long gamer. This works for me, but maybe not everyone.

[+] smcin|3 years ago|reply
The obvious concern is not that some existing legit users mightn't enjoy it; it's that the gamification will pollute the platform by incentivizing an influx of low-grade users, attention-seeking or annoying behavior, garbage commits, pointless chatter, non-issue issues, profiles stuffed with links to add SEO juice to low-grade profiles on social-media/LI/etc.; (the repo equivalent of "Follow, Like and Subscribe!"). How badly depends on how much github incentivize it.

I guess we'll know if/when github has gone the way of FB/YT/IG is if/when people pay for fake/compensated followers to star a repo. I don't think we're there yet.

Maybe a more constructive way to have this discussion is to subdivide github's social features into those that are good vs those that are open to be abused.

[+] CapsAdmin|3 years ago|reply
I also enjoyed it, but I was only coding on my own stuff back then for fun to pass time without having or thinking about a job. I can't imagine doing this on non-solo projects with other people's opinions involved.

At the same time I'm glad it's gone as it seemed to cause more harm than good for other developers.

[+] ddxv|3 years ago|reply
As a very casual coder who wants 'in' to more coding, I really enjoy the gamification. I wish the mobile app had more of it, really has helped me progress and feel like I'm accomplishing something. I know they're just green dots but really helps me stay on track and keep practicing.
[+] martinwoodward|3 years ago|reply
Martin from GitHub here. I think we’d consider this very much ‘by design’ in removing the streak counter so I’m glad it had the desired affect. Coding 100 days straight with no breaks isn’t good for anyone.
[+] aliqot|3 years ago|reply
Martin thanks for jumping in, the thing I'd love most is when I'm logged in and go to github.com, just take me to my repository list. I'd pay money for that.
[+] nuc1e0n|3 years ago|reply
The commit graph should at lest have a disclaimer of some kind. Plus I think the lines of code added/removed are a better indicator than number of commits. Perhaps with some heuristic to detect whether a lot of lines were being changed similarly, such as if code was changed by a wizard or from a find and replace.

A colleague once showed me a tool to produce back dated commits in bogus git repos so you can draw pictures on your commit graph. You should know that people are gaming the gamification.

[+] systemvoltage|3 years ago|reply
> Coding 100 days straight with no breaks isn’t good for anyone.

Why? I've done that and it has been amazing for me. I don't want other people telling me what's good or not. Absolute statements like this is just social malaise and not based in objectivity in the slightest.

The current social bandwagon can be summarized as: “Work is bad. Hard work is toxic. Perseverance is not healthy”.

HN is just reflecting r/antiwork ethics.

Complete and utter social non-sense. People have just stopped thinking for themselves.

[+] ipaddr|3 years ago|reply
I'm a believer in code everyday. It doesn't need to be more than a few seconds long for it to count. Leave an editor open and add a function if that's all you have today.
[+] Kiro|3 years ago|reply
I want to code every single day for the rest of my life. I have no interest in vacations, traveling or any of that nonsense.
[+] ehnto|3 years ago|reply
Whenever I see someone with a very limited GitHub presence, what I actually think is "Ah, this person has a job."

I've been in the industry for a while now and I even use github, but my profile is blank, because all my work is for private companies.

[+] DerekBickerton|3 years ago|reply
I've always maintained: if you put a number next to someone's name, then that person will try everything to try and increase that number. GitHub is no different than any other social media platform, and has various metrics (Stars, Followers, Contributions, etc) that people relentlessly try to game.
[+] juunpp|3 years ago|reply
Do you mean like how HN puts a number next to your name?
[+] no_butterscotch|3 years ago|reply
Yup I always cringe a little bit when I see developers on their repos or social media asking for follows or stars to their repo. If it's good people will do that anyways.

It seems like it can be a resume builder for some people though. I've seen resumes where people list their open-source repos and display "Over 500 stars on github" as one of the line-items.

[+] meken|3 years ago|reply
Yeah, I didn’t see any mention of status in the abstract, which seems like an important driver.
[+] toimtoimtoim|3 years ago|reply
As a maintainer for quite popular Go repo (20k+ stars) I find really annoyed by the amount of trivial PRs (started at start of 2022 or some time like that). Especially then some random dude starts to "improve" tests by checking errors etc and submit multiple different PRs where each PR "fixes" only one file.

this crap makes my life harder as I do this stuff from my spare time. Doing comprehensive review takes me 30min to 1h sometime more couple of hours to provide alternatives with examples etc.

I have not seen almost no rise of useful PRs that add features or fix bugs since that change in early 2022. Only rise of trivial nononse PRs.

[+] aliqot|3 years ago|reply
A good idea is to create a file called CONTRIBUTING, and then inside put 5 of your top bullet points for what you expect form a PR. I thought it was dumb at first, but people actually used them to my surprise. Hope it works out for you! Also it helps if you don't tag your repos for the hackathon things.
[+] maximilianroos|3 years ago|reply
As a maintainer for two less popular repos (3K & 5K stars), I'm very happy to get small PRs with incremental changes. Many of our large contributors have started this way.

We have a robust test and linting suite on both, so we often don't need much human engagement for reviews — code looks reasonable, tests pass, smash "Merge".

Out of interest — do you find they're not actually improving the code? Or it's just not worth the time to review it?

[+] ficklepickle|3 years ago|reply
I find a lot of typos in documentation and I never create a PR lest people think I am one of those people. They really do make things worse for everyone.
[+] cehrlich|3 years ago|reply
How many stars were you at when this began to happen? I maintain a repo with 8k stars and so far we've not gotten a single PR that felt like it was in bad faith - even with the hacktober fest tag.
[+] hjanssen|3 years ago|reply
It's very much interesting how gamification tickles the monkey parts of the brains of me and even the smartest people I know. We even know it's "stupid" or "useless" and still strive to make the number go up.

Frankly, thats terrifying, now that I think about it. What a powerful tool.

[+] contingencies|3 years ago|reply
First rule of HN club. Don't talk about the gamification. (Ssh... I pressed the triangle for you anyway.)
[+] lm28469|3 years ago|reply
Same reason why obese people keep eating junk food and smokers have a hard time stopping, we're still monkeys, if you know which buttons you have to press you can make us do really unproductive/negative things

We're still competing for food, attention, mates, &c. it's just that technology made it so convoluted and "unnatural" that we somehow don't even make the link anymore

[+] aabaker99|3 years ago|reply
I never understand people chasing daily commits to GitHub. You can push whatever git history you want to GitHub. I can rewrite all my commits so they are evenly distributed across however days I want to show up green on GitHub.
[+] ehnto|3 years ago|reply
When I see a blank history, I just assume someone has a job and all their contributions are private.
[+] jesuscript|3 years ago|reply
Gamification works until it doesn’t. Ask the most addicted gamers that exhausted games they’ve played endlessly. It burns something out in your brain and you can never truly return to said game.

Whatever. The burn out from gamification is of no consequence simply because the economy knows there are fresh bodies to take the place of the torched.

[+] Wxc2jjJmST9XWWL|3 years ago|reply
I just recently made my github activities private, also blocked part of the github UI (for example achievements, profile avatars), and removed all my stars from repositories and instead made a 'repos' bookmarks folder to put interesting projects in. (I do the same for many platforms, in the sense of bookmarking stuff instead of using platform-built-in features to 'save' something - what an illusionary save as well...).

I don't want to be locked in, I also don't want to be manipulated by shiny virtual crap. Activities also is such a poor metric. On many days I have simply one commit, because it's a night of programming followed by one push to the repo... friend of mine wrote a script that makes one-line changes to a file and pushes regularly, so his activity chart looks great... (his first idea was to have it spell something out)

The trend with github seems obvious, it'll be a linkedin dev-hiring social media crap-platform people stay on for visibility and many developers eventually won't know how to use git outside of it... (and we hear the cries of "I'd like to contribute but it's not on github..." and some projects will see it as a feature of being not on github to keep those kind of people away).

So many things are going to sh*t... and people like it, which is the worst. sourcehut.org is a nice alternative (I have an account). I also wish more people would just host their own gitea instances.

[+] einpoklum|3 years ago|reply
"GitHub removed two counters from developer profiles that tracked their current and all-time longest streaks of uninterrupted daily contributions"

Those the least significant aspect of gamification on GitHub. Stars, visits, downloads and maybe forks are what developers are interested in. And - strangely - the article seems to ignore them.

"GitHub has gamification elements in the form of badges for projects."

What, that stupid shark and cat icons? They're just embarrassing and I don't even remember what they mean. I found out I can turn them off and they were gone for good.

[+] youainti|3 years ago|reply
But those were the interventions removed so they could measure the impact.
[+] throwaway0asd|3 years ago|reply
As someone completely oblivious to gamification on GitHub what is the primary motivation? Is this some form of social validation, like resume padding, or do people contribute to this behavior for some other quality. What goal does this fulfill?
[+] k__|3 years ago|reply
Somehow, I never cared about GitHubs social media features. It's just a cheap way to host code.

On the other hand, I generally don' tend to get addicted easily.

[+] MrLeap|3 years ago|reply
Gamification affects all humans. This is why I'm making a text editor game, so people write more.
[+] nuc1e0n|3 years ago|reply
I can't understand how anyone thinks github's commit graph is in any way meaningful. All it does it increase churn.
[+] adrianhon|3 years ago|reply
Self-link: I wrote about this excellent study in my recent book critiquing gamification, You’ve Been Played: https://www.basicbooks.com/titles/adrian-hon/youve-been-play...

Gamification is significantly more widespread and influential than commonly thought. We’re aware of it in our own corners of life and work, but less aware of how it’s being used on, e.g., truck drivers, gig economy workers, school students, video game players, and more.

[+] juunpp|3 years ago|reply
"Focusing on a set of software developers that were publicly pursuing a goal to make contributions for 100 days in a row"

Clearly not contributions of very high quality. Must have been Hacktoberfest-quality commits.