github の無料化って何それ美味しいの?って話

技術・開発

コロナで大騒ぎの 2020年4月14日、GitHubから「チームでも使える機能が基本無料になったよ」というニュースが届きました。

今まで “free” プランでは、プライベート(非公開)リポジトリは共同作業者数が3ユーザーまでとの制限があり、4人以上のチーム開発では使用できませんでした。
この制限が撤廃されたようです。

さらに、”Pro” プランが月額が $7 から $4 へとほぼ半額に下がり、また同様に “Team”プランでユーザー1人あたり月額が $7 から $4 へ下がったことも嬉しいニュースです。

しかし・・・不思議なことに、私が使っていた “Pro” プランは、新規の契約画面では出てこなくなりました。

Proプラン自体が無くなっているわけでは無さそうなのですが、あれれ・・・?これって Free にダウングレードしてもいいの?とお悩みの方に “Free” と “Pro” の違いを解説します。

この嬉しい(と思われる)ニュースで1つだけ困ったことがあります。

今回の制限撤廃によって、githubのプラン比較ページで ProプランとFreeプランの比較ができなくなってしまいました。

これでは Pro プランのユーザーにとって、今回の変更が「嬉しい」のか、それとも「すごく嬉しい」のかが分からない・・・。

FreeとProプランとの違い

この違いを詳しく比較してくれる他の非公式サイトも見つからなかったのですが、githubのアカウント設定ページで実際に Pro から Free へダウングレードしようとすると、以下の警告(最終確認)ダイアログが出てきます。

ダウングレード確認ダイアログ

これによると、ProからFreeにダウングレードしたとき、プライベート・リポジトリでは以下のような制限が入るようです。

  • 保護ブランチが使えない
  • ドラフト・プルリクエストが使えない
  • コードオーナーが使えない
  • GitHub Pages および Wiki がパブリック公開のみになる
  • assignees(担当者), reviewers(レビュー担当) が複数登録できない
  • GitHub Action や ストレージの使用量が制限される

され、それぞれの制限はチーム開発上でどのような影響が出るのでしょうか・・・。

それぞれの項目について解説します。

保護ブランチが使えない

保護ブランチとは、直接のコミットを特定のブランチで禁止する機能のことです。
よくある運用としては master ブランチに直接のコミットを禁止してプルリクエストの承認を必須にするとか、 Release ブランチにはCIによる自動テストを通ったものだけコミット可能にするとかですね。

大規模開発でプロジェクトの関わりが薄い人も参加するようなケースや、本番デプロイまで自動化しているような環境では有効だと思います。

そこまでの規模でないなら、 master に直接コミットしないようメンバーに周知する、といった運用だけでカバーできそうです。

ドラフト・プルリクエストが使えない

ドラフトPR(プルリクエスト)とは、まだ作業中だからマージしないでね、というPRのことです。

これは、PRのタイトルに [WIP] と入れる運用でいけそうです。ちなみに WIP とは Work In Progress (=作業中) の略です。

コードオーナーが使えない

コードオーナーとは、特定のソースファイルを特定の担当者に紐づけて、その特定担当者が承認しないとマージできないようにする機能です。

危険なファイルを、よく知らない人が触ってバグを埋め込むことを防ぐ目的で使われますが、これも運用で対応できそうですね。

GitHub Pages および Wiki がパブリック公開のみになる

GitHub Pages は、Github上のリポジトリに紐つくブログです。

WikiはもちろんWikiです。どちらもリポジトリに1つずつ持つことができますが、持てるけれど非公開には設定できないようです。

プロジェクトの情報集約としてブログやWikiを活用すると大いに役立ちますが、せっかくのプライベートリポジトリなのに情報がすべて公開されるというのは困ったことです。

・・・が、これには抜け道があります。

実は、プライベートリポジトリ内部に Docs フォルダなどを作成し、そこへマークダウン形式(*.md)のファイルを置いておけば、権限ある人だけがURL指定すればブラウザ上で閲覧できるんです。

そのマークダウンファイルに情報を書いて、ソースファイル同様にコミットやブランチやPRを作れば良いだけですね。
もちろん github にログインしていればブラウザ上で編集も可能です。

非ログイン状態であれば 404 ページになるのでセキュリティ的にも問題有りません。

assignees(担当者), reviewers(レビュー担当) が複数登録できない

これは良い代替案が無いので、少し痛いですね。

複数の担当者やレビュワーが必要なときは PRのコメント欄でメンション(@担当者 という構文) を入れる形でカバーする運用しかなさそうです。

GitHub Action や ストレージの使用量が制限される

ここでいうストレージというのはリポジトリ本体のストレージではないので安心してください。
アクションで使うことのできるストレージ領域のことです。

このあたりはいわゆる CI の領域ですね。

がっつり自動化してデプロイや自動テスト、メンバーへの通知などを運用している場合はあると便利です。

ただ、完全に禁止されたわけではなく、許可された使用量がそれぞれ減らされているだけなので、その制限量を超えるほどアクションを組み込んでいるなら、もうそれは間違いなく github に完全に依存している状況だと思います。

それならいっそ Pro の $4 をお布施して末永くお付き合いするほうが健全なのかもしれません・・・。

結論

ここまでの比較のとおり、ほとんどは運用でカバーできる範囲です。

ということで私は早速 Free にダウングレードしました。使ってみて、不便だったらまたProに上げようと思います。

月700円ちょいという僅かな金額ではありますが、それが0円になりました!

ですので結論は・・・少なくとも私にとって今回の変更は「超すごく嬉しい」でした! (^^)

コメント

タイトルとURLをコピーしました