GitHub is a code sharing and publishing platform founded in February 2008 at San Francisco. As of August 22, 2014, GitHub reports having 6.7 million users across 15 million repositories. It is believed to be the largest and most popular Git project hosting provider - and it surely is, everyone knows it and most developers use it.
In my view, GitHub isn't all about tea parties and unicorns where people contribute code, ideas and free software to the world. I won't go into practical usability issues - there are far more than enough blog articles about those. Instead, I'm going talk about some real and concerning issues that persist around GitHub.
GitHub as a company
GitHub isn't just a platform for hosting and managing Git projects, but GitHub is also a company. This company is commercial, and makes money from users, companies and enterprises. Registration and public repositories are free, but with money users can get upgraded accounts with private repositories.
What's wrong with this is that like many other companies, GitHub wants to control your projects on GitHub. That's how they maintain power over the users. As more people are using GitHub, a certain social pressure increases to give more people incentive to use it. This issue has been noted before and also poses other issues.
It's almost shameful for me that developers have
become enslaved by a large company telling
them how to do their project management while the
company makes money from it. Sorry, I won't judge
you. Imagine some day you are leading a large project and
then GitHub tells you
no, you can't
lead this project anymore. Read more and you'll
see that this has already happened before.
There have been few incidents that have been covered in media where code repositories have been falsely targeted with censorship from GitHub. The problem is that GitHub leaves false takedowns for users to resolve. Such and any false censorship is unacceptable.
Third-party WhatsApp applications
On a company many people know as WhatsApp sent a DMCA takedown notice to GitHub. GitHub complied with WhatsApp's request - on an issue concerning a trademark, not copyright. Here's what Boing Boing has to say about it (emphasis mine):
Part of a reason is to blame WhatsApp here. However while GitHub has restored many of the repositories, some of them remain censored to date. See 2014-02-12-WhatsApp.md for the takedown notice.
Another incident of censorship comes from Qualcomm. On , Qualcomm issued DMCA takedown notices for 116 GitHub repositories – including their own. Here's what Ausdroid reported, again with extra added emphasis:
Fortunately, GitHub seems to have restored most or all of the repositories by now. Some errors may happen and the DMCA is abused often, but this is another fine example on how whole repositories were taken down for one file.
On , GitHub complied with another false DMCA claim concerning the Bukkit project, a popular Minecraft server mod licensed under the free GPLv3+ license. To date, the Bukkit project's repositories remain censored on GitHub under false DMCA claims.
This incident created much controversy. Wesley Wolfe abusively acted on behalf of Mojang AB and made false claims that the proprietary Minecraft server software was included in CraftBukkit, and that was violating his copyrights. Mojang later published a community announcement defending the Bukkit project against Wolfe's false claims, quoted below.
See also: GitHub takedown notice, Bukkit takedown notice.
Terms of Service
GitHub's Terms of Service might be the biggest compelling reason to refuse using GitHub. Some of GitHub's terms are quite concerning and alarming. A summary is available at TOS;DR. Here I'll list some things of concern, starting from the top of GitHub's terms.
Users must provide a name on signup
GitHub requires your (legal) name on signup. This name is publicly displayed on profiles. You can still use a pseudonym, however.
GitHub takes no liability for account security
GitHub states in their Terms of Service that they are not liable for your account's security. This means that if the error is on GitHub's side, GitHub may not take responsibility for it.
Accounts can be suspended for any reason
GitHub can also suspend your account and delete your data at any time for any reason, which is very broad in terms of what GitHub can do.
Changes can happen any time and without notice
GitHub can change their Terms of Service at any time without notice. This is very concerning because it gives GitHub very broad powers for what it can do without telling the users. The term is hidden, and even if they do not mention it I can share from my own experience that they do not notify users of changes to terms.
You shall defend and indemnify GitHub
Finally, you also surrender your rights against a fair court battle by defending and indemnifying GitHub.
These are many of the compelling reasons why I refuse to contribute on GitHub and why you should also refuse. There are many other ways you can contribute to GitHub projects without using GitHub, for example most maintainers reply to issues and accept patches by email or IRC.
If you are a project manager, consider hosting your own Git server for your current and future projects. If you need help, ask your friends or collegues to set up one. The internet was made to be more decentralized.
Finally, a disclaimer: I have a GitHub account, which I may occassionally use to tag missing repository licenses. I feel this justified as a last case scenario, because it also helps people to redistribute free software from other channels and also helps me to acquire a copy.
For those developers who still value and keep fighting to protect our freedoms, thank you.