はじめに
GitHub Copilotブームに乗ってCopilotデビューをしようとしたとき、GitHubやCopilotには様々なプランやアカウント、サブスクリプションがあることに気が付き、どのような種類があるのかに興味を持って色々と調べたので調査したことを本記事にまとめます。
GitHubとは
GitHubとは、バージョン管理システムであるGitを用いてソースコード管理ができるWebサービスです。GitHubを使うことで、ソースコードの保存や公開、バージョン管理、複数人での開発、コードレビュー等が可能になります。
GitHubのプラン
GitHubのプランには、個人向けと組織向けの2種類があります。
個人向けプラン
個人向けのプランには以下の2種類があります。
- GitHub Free
- GitHub Pro
個人向けプランの比較(2023年5月現在)
GitHub Codespacesとは
GitHubが提供しているクラウド上の仮想環境で開発を行うためのSaaSサービスです。VS Code Serverをコンテナとして稼働させており、Codespaces上で開発からリポジトリへのプッシュまでを行うことができます。Codespacesを使うことで、開発環境のセットアップやメンテナンスの負荷を大幅に下げることができます。https://github.co.jp/features/codespaces
組織向けプラン
組織向けプランは以下の3種類があります。
- GitHub Free
- GitHub Team
- GitHub Enterprise
組織向けプランの比較(2023年5月現在)
それぞれのプランの年間料金は、Freeが$0、Teamが$48、Enterpriseが$252になります。上の表において、GitHub TeamとGitHub EnterpriseのCodespaces関連の情報については記載が見当たらなかったため、不明とさせていただいております。
2023年11月現在、それぞれのプランの年間料金は、最初の12か月に限り、Freeが$0、Teamが$44、Enterpriseが$231になっておりました。
GitHub Enterpriseのデプロイオプション
GitHub Enterpriseには以下の2種類のデプロイオプションがあります。
- GitHub Enterprise Cloud
- GitHub Enterprise Server
GitHub Enterprise Cloudは、SAML認証、GitHub Actions、検証済みドメインにメール通知を制限する機能、プライベートに公開されたGitHub Pagesサイトなどの高度な機能を、GitHubに追加するソリューションです。また、GitHub Enterprise Serverは、エンタープライズ内のソフトウェア開発用のセルフホステッドプラットフォームです。
GitHubアカウントの種類
GitHubには、以下の3種類のアカウントが存在します。
- 個人用アカウント
- Organizationアカウント
- Enterpriseアカウント
ここで、OrganizationアカウントとEnterpriseアカウントは共に組織用アカウントに含まれます。
個人用アカウント
個人用アカウントは、リポジトリ、パッケージ、プロジェクトなどのリソースを所有できるアカウントであり、GitHubを使用するすべてのユーザーは個人用アカウントに該当します。GitHubでissueの作成やpull requestの確認など何らかのアクションを実行すると、そのアクションは個人用アカウントに帰属します。
マシンユーザーの作成
人間が使用する個人用アカウントとは別に、マシンユーザーと呼ばれるGitHubのアクティビティを自動化するアカウントの作成も可能です。マシンユーザーを使って継続的インテグレーション(CI)ワークフローを自動化することができます。
Organizationアカウント
Organizationアカウントは、複数ユーザー・複数プロジェクトでコラボレーションできる共有アカウントです。Organizationアカウントは個人用アカウントと同様に、リポジトリ、パッケージ、プロジェクトなどのリソースを直接所有できますが、Organizationにサインインすることはできません。また、個人用アカウントにサインインしたユーザーがOrganizationのリソースに対して実行するアクションはすべて、その個人用アカウントに帰属します。
Enterpriseアカウント
GitHub Enterpriseアカウントは、複数のOrganizationを管理できるアカウントです。Enterpriseアカウントの管理者は複数のOrganizationのポリシーと課金を一元的に管理し、Organization間の内部管理ができます。
GitHub Copilotとは
GitHub Copilotとは、GitHubとOpenAIが共同で開発したAI駆動のコード補完ツールです。Copilotにより、AIベースのコーディング提案を受けることができるようになります。例えば、コードやコメントを入力するとCopilotが次の行を提案してくれるようになります。そうすることで、慣れない領域でも自信をもってコーディングができるようになるため、開発の生産性を高めることができます。また、CopilotはNeovim、JetBrains IDEs、Visual Studio、Visual Studio Codeなどの好みのエディターで利用することができます。
Copilotについてもっと理解したい方は、以下のMicrosoft Learnのモジュールから概要を学んでみてください。
GitHub Copilotのサブスクリプションの種類
GitHub Copilotには、以下の2種類のサブスクリプションがあります。
- GitHub Copilot for Individuals
- GitHub Copilot for Business
GitHub Copilot for Individuals
GitHub Copilot for Individualsは個人アカウント用のサブスクリプションです。月単位または年単位のサイクルで利用でき、月単位の請求期間を選ぶと、1か月あたり$10が課金され、年単位の請求期間を選ぶと、1年あたり$100が課金されます。請求期間はいつでも変更でき、変更は次の請求期間の開始時から反映されます。
GitHub Copilotの無料サブスクリプション
学生、教師、GitHubのオープンソースリポジトリの保守担当者が利用できます。
GitHub Copilot for Business
GitHub Copilot for Businessは組織アカウント用のサブスクリプションです。月単位の期間で利用でき、ユーザーあたり1か月で$19になります。
GitHub Copilot for Individualsを契約しているユーザーにGitHub Copilot for Businessをサブスクライブした場合
GitHub Copilot for Individualsのサブスクリプションは自動的に取り消され、GitHub Copilot for Businessのサブスクリプションが有効化されます。個人サブスクリプションの現在の請求期間の残りの部分に対しては日割り計算での返金があります。
おわりに
GitHubやGitHub Copilotについて調べる前では、プランやアカウントやサブスクリプションの種類が多くて混乱していましたが、調査をして記事にまとめてみると意外と種類は少なくわかりやすいことに気が付きました。GitHubを個人で使う際には困ることは少ないと思いますが、会社で使う場合にはこれらを理解できていないと困ると思うので、参考になれば幸いです。できる限り公式ドキュメントの内容からの情報をまとめていますが、間違い等があれば教えていただけると幸いです。