GitHub is a code hosting and collaboration platform created in February 2008 by four co-founders and is currently headquartered in San Francisco. Today, GitHub has over 190 million repositories and over 40 million users, making it the largest host of source code in the world. The site’s features include the ability to host code in private or public repositories, commit history, Pages (a static web hosting service), Gist (pastebin-like snippet sharing), a marketplace for service integrations, and GitHub Sponsors. Its features, policies, and pricing have made it extremely popular for developers who want to host their code and also for open source projects seeking a platform.
Like many other content hosting platforms, GitHub does still have a set of community guidelines that it expects users to follow. Moderation of repositories and discussions is mostly left to the repository owners (which can be individuals or organizations), and GitHub claims that it “[does] not actively seek out content to moderate.” Even then, GitHub’s moderation tools are limited to editing or deleting comments (not code), locking conversations, and blocking users. GitHub will only step in to remove content or ban users when they are reported and their content violations are more serious, such as threads of violence, doxxing, sexually obscene or violent content, etc. In this way, GitHub shifts much of the finer details of regulation to its users, and the result is that different projects create their own communities with their own defined expectations, usually in the form of a README in the root of the repository.
Despite GitHub being a large draw for open source projects, a majority of repositories on GitHub are private. Many of the tools that the service offers are available for free. However, GitHub locks the ability to create a private repository or turn a public repository into a private one behind a small subscription fee ($4/month), and it also offers a few price tiers for teams depending on their needs (starting from $4/user/month). Private repositories are useful for groups that are working on proprietary software or developers working on their own pet projects.
As open as it is, GitHub still sometimes has to apply strict regulations to its users due to external pressure from governments and the trademark and copyrights laws that they levy. In 2014, Russia blocked access to the site in response to GitHub being found to host a file related to suicide, which gave some satirical suggestions on how to commit suicide and seemed to mock Russian authority. Russia’s response was to ISP block the site entirely, and GitHub ultimately buckled to the country’s demands by geo-blocking the file in Russia. Similar cases of blocking or banning have occurred, including GitHub’s blocking of services to users in Iran, Syria, and Crimea due to a need to comply with US trade sanctions. In 2015, GitHub was the target of the largest denial-of-service attack in history, which seemed to originate from China and targeted two Chinese anti-censorship projects. Interestingly enough, its unique position as both a critical business service and as a social tool means that even when governments do attempt to censor it either through takedown requests or blocking the site, pressure from users in the blocked country is immense as there are real economic impacts as well.
GitHub’s regulations, and also lack of, has contributed greatly to its desirability as a platform and it’s no wonder developers flock to it. As technology companies become more aware of and promote the open source standard for many of their projects, GitHub positioned itself as a service that can cater to the needs of those companies and to individuals looking for superior tooling and/or participation in larger code communities. It has even become the norm for many people to link their personal GitHub profile to show off their work and contributions to other projects. I think in general, the way that GitHub does not impose many restrictions on its users is beneficial to the end user and the community at large, and many projects are better for it.
There are some interesting questions about the future of the platform, though. GitHub was acquired by Microsoft in 2018, and though they reported that GitHub would operate independently from its parent company, there are concerns that GitHub may slowly become more closed-down, as evidenced by Microsoft’s history of anti-competitive practices and the fates of previous Microsoft acquisitions. As superior tooling becomes more popular and more closely linked to the platforms involved, that can also become “lock in” that increases switching costs of moving to other platforms. Locked-in users can then be leveraged, either being forced to pay more for the same tooling, or must rebuild or pay to move their content out of the platform. For now though, it seems that those concerns may have been exaggerated, and GitHub will remain a great place to collaborate on open source projects.