China, Politics, Technology

PDC 9 – GitLab and Code Hosting Services in China

With the drama of GitLab considering no-hire policy in China unfolding, the global tech community once again saw an influx of angry Chinese developers.

This is hardly surprising considering China probably has the most number of developers on earth.

There is a thread dedicated to this issue on Zhihu (知乎, Chinese Quora) and it is getting attention from media based in mainland China.

> You can learn more about Chinese social media sites like Zhihu in my previous post.

GitLab #5555 incident thread on Zhihu

I don’t want to delve into the GitLab discussion here. Instead, I want to take this chance to explore something more interesting and factual:

Where do Chinese developers usually host their source code?

Well, apart from the reletively unknown GitLab, there is GitHub, and… Gitee (码云).

GitHub – Still the king

Despite being also a US company and offering only English interface, GitHub is the primary and preferred way of hosting code for many Chinese developers. Many big companies and popular individuals use GitHub as the primary code repository for their open-source projects:

  • Ant Design – UI library based on React developed by Ant Financial
  • Vue.js – Frontend framework developed by Evan You
  • wepy – Mini program (good topic for another time) framework developed by Tencent
  • fastjson – Java library for JSON operations developed by Alibaba
996 github
The popular 996.ICU movement in China started on GitHub

Its popularity could be due to a few main reasons:

  • GitHub has been the defacto way of hosting code since the beginning. A large part of the open-source ecosystem revolves around GitHub. So it is natural to use GitHub as the default.
  • GitHub is relatively friendly to Chinese users, not engaging in political issues like GitLab.
  • GitHub has in the past offered a safe habour for many projects that were considered sensitive within China such as ss and 996icu while still remain relatively untouched by the censorship.

However, there are also some issues with GitHub:

  • The default language of communication on GitHub is English. Chinese developers who are not fluent in English usually encounter language barrier when trying to get help or understand documentations.
  • Images and other assets on GitHub might get blocked from time to time due to some reasons. Hence it is not a reliable way to host static assets.

Gitee – The rising star

With China being accused as “copy-cat”, it is no surprise that there is a GitHub copycat in China. The biggest code hosting service in China is known as Gitee (码云).

> Gitee was recently in the Chinese new as it went down temporarily for being suspected of violating some regulations. It turned out to be false alarm and the service was restored shortly. It also became clear from this incident that Gitee itself was hosted on AliCloud.

gitee homepage
Gitee homepage showing casing its various features
gitee sample
A project called porter hosted on Gitee
github sample
The same project hosted on GitHub

Gitee has most of the core features from GitHub, such as online IDE, static page hosting, 3rd party service integrations, plus some unique features:

  • Copycat detection: Helps developers to find copycat of their code.
  • GVP: An award/recognition for the most popular/successful projects.
  • Integration with Chinese domestic cloud service such as Tencent cloud and Huawei cloud.
  • Quality analysis: Automatically score projects for the quality, based on activity, community and popularity, etc.
  • And other features such as automatic API doc generation and defaulting to README in different languages based on user’s browser language setting (pretty smart).

There are some high profile projects hosted on Gitee. However, as far as I can tell, most of the popular projects hosted on Gitee now are just a mirror of the respective GitHub repository. This means the active development (issues and pull requests) are handled on GitHub, not on Gitee.

> I did find a project called Hutool accepts PRs (pull requests) from both GitHub and Gitee, but it is quite rare.

There is a chance for Gitee to catch up or even take over GitHub’s positin in China. And it comes down to some factors:

  • Regulatory or political reasons: There is a chance that Chinese government could block GitHub more frequently and causes more disruptions, forcing Chinese developers to use Gitee instead. On the other hand, it is also possible for GitHub to do something politically intolerable for Chinese people (such as the GitLab case) and result in a GitHub boycot.
  • Government support and influence: Without banning GitHub outright, the Chinese government can still curb its influence by giving out incentives or support for domestic products such as Gitee. This could be in the form of policy, money or press. With a heavy focus on technology to stimulate growth, there is a good chance that the government will have interest in something as infrastructural as code hosting service.
  • Real innovation and usefulness: Gitee can develop some killer features that are super useful for Chinese developers that make them want to switch to using Gitee as the primary hosting platform. I imagine deeper integrations with other services like domestic cloud providers, government agencies, etc could be one area worth exploring.

Now what are you still waiting for? Go check out Gitee and leave a comment on what you think.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s