TL;DR
2021年5月時点では raw.githubusercontent.com
や gcr.io
はGFW内からアクセスできません。
開発しているOSSを広いユーザに利用してもらいたい場合は、こうしたドメインへの強い依存は避けることを検討しても良いかもしれません。
中国インターネットから見たOSS開発体制
中国本土でOSS開発をしていると、以下のようにバッジが壊れているGitHubリポジトリによく遭遇します:
これはバッジが使っているドメイン raw.githubusercontent.com
にアクセスできないことから生じます。バッジなら大して影響ないのですが、開発体制構築がこれに依存していると厄介です。
例えばYarn v2のインストール手順は、JSONファイルを raw.githubusercontent.com
からダウンロードするためにうまく実行できません。このためGitHub Issuesでユーザ側による回避策の適用が推奨されています:
GitHubが中国本土からアクセス可能なのは有名な話だと思いますが、それでもこうした一部ドメインへの制限があったり、Web画面にもたまにアクセスできなかったりもします。
同様に gcr.io
もアクセスできません。Jibがかつて標準で利用していたベースイメージであるDistrolessのダウンロードが行えません。ただJibが利用するベースイメージはv3からDocker Hubに置いてあるAdoptopenjdkに変わったので、だいぶ使いやすくなりました。
試してませんがStackoverflowの投稿によるとfirestoreも一癖あるっぽいですね。
どのような回避・緩和策があるのか
GFW内からもアクセス可能なドメインを使う
バッジやJSONファイルを配布する場合、2021年5月時点では shields.io
やGitHub Pages、Netlifyなどで代用が可能です。
おそらく最も運用が軽い対策になると思います。
2021年5月26日追記:GitHub Releasesに添付されたファイルもダウンロード可能でした。
ミラーサイトを用意する
Mavenやnpmなどのパッケージダウンロードが遅い場合は、中国国内に大手が提供するミラーサイトが利用できます。通信自体は可能なので必須ではありませんが、開発体験を向上できる場合があります。
このように、ミラーを用意してそちらを使ってもらう手は一応あります。ただ個人的にはXcodeGhostの1件があったので、ミラーの利用をコミュニティとして推奨するのは避けたいなぁとは思っています。少なくとも公式サイトからチェックサムを確認できるようにする必要があるかと。なおGradleはv6から依存のチェックサムを自動的に検証できるようになりました。
hostsを書き換えてもらう
以下のように、中国語ブログでよく紹介されているのがこれです。詳細は割愛。
まとめ:そんなに気を使わなくても良いかも
こういうことを気にできると確かにInclusiveなOSS開発体制の構築には貢献すると思いますが、今見たらant-designも普通に raw.githubusercontent.com
を使っていたので、気にしなくても問題ないレベルかもしれません。