Social GitHub considered harmful

Social GitHub considered harmful

S. Meckler

GitHub brings an undeniable value to the FOSS movement. It's the biggest community of developers for building software with a touch of a social network: People can engage with each other, get an Activity Feed from the developers they follow, popular repositories get a lot of visibility, and much more.

GitHub even prides themselves of their social contributions and its impact[1], making the world a better place™. But not all that glitters is gold.

Harm of the social component

It's precisely the social component that starts compromising the initial idealistic values of an open source community. These social features seek to boost user engagement using gamification techniques akin to the 'Likes' in other social networks (like Facebook and Instagram) that are so addictive. These features do add some intrinsic value as they are functionality added to GitHub, true, but what is the impact of their gamification?

People on GitHub have their own profile page that they can customize to show off their achievements. People can show how many stars and forks their most popular repositories have. People can display how many contributions they had last year, including the commits from private repositories. People have a graph with the distribution of their contributions (whether they are Commits, Issues, Pull requests or Code reviews). People collect badges of the organizations they belong to.

All of these decorations add up to one social concept: Building your image on GitHub. And when GitHub is the biggest community for open source, it also means visibility to the world. Making yourself look important to other coworkers, friends or just strangers in the field. It also works as a Résumé extension, making someone more hireable, as recruiters and managers ask more and more for people's GitHub. Therefore it's normal to see many people wanting to have a more appealing profile page by pump up those shiny metrics.

However, "once a metrics become a goal, it stop being a good metric". Users chasing these goals results in harmful behavior that has been manifesting for some years already, like unnecessary extra commits just to make your contributions graph look better[2], or the spam of Pull Requests from Hacktoberfest, to get a T-shirt and show everyone that you contributed to such an open source effort[3].

Add the money component

One of the latest features in GitHub, Sponsors[4], is a catalyst to the social issue. Not only you build your own reputation on GitHub, but now you you can also get money from other people via donations!

This creates an incentive for owners of repositories to attract more donations, rather than building a project with its original purpose. People with successful and popular repositories used to pride themselves on the good impact it does to the community (effectively, making the world a better place™). Nowadays, since the Sponsors feature is popular, having a successful repository without donations it can feel like you are owed something. So many people and companies are using your work, and yet, everyone is choosing not to give back to you. The feeling can grow stronger when comparing to other repositories with similar success but way more donations.

On one hand, this makes owners of popular repositories feel more entitled to compensation for their open source contributions. This results in developers calling out companies that rightfully use your product that they should donate[5], or making public statements even just to get more attribution, even when licenses are respected[6].

On the other hand, this enforces (together with the previous social features) the vicious cycle to keep users in GitHub: People go to GitHub, because everyone is there, and you get the most visibility. On top of that, you can even get money off it. It also makes it harder to leave GitHub, because all the donations that you receive are tied to it as well. Bingo!

Once GitHub is too big

Having said that, I'm not saying that GitHub is evil and no one should use it at all. It's still a great product and that's why many people go there. But users should be aware that GitHub is not a charity, it's a private company owned by Microsoft (who uses all this data for their own benefit, but that's out of this scope).

We're building the default software engineering hub in a central place behind a private gate, and this has a cost. GitHub can kick you out, whether it's due to breaking its ToS, or for being in the wrong country[7]. This can happen without notice. Then you lose your private repositories. You lose your Bug Tracker. You lose your donations. You lose your users.


[1] https://socialimpact.github.com/

[2] https://github.com/isaacs/github/issues/627

[3] https://blog.domenic.me/hacktoberfest/

[4] https://github.com/sponsors

[5] https://github.com/retep998/winapi-rs/tree/0.3#financial-support

[6] https://news.ycombinator.com/item?id=24799660

[7] https://techcrunch.com/2019/07/29/github-ban-sanctioned-countries/


Report Page