GitHub Copilot for Businessを勢いだけで法人利用開始してみました【PublicOpen2日目版】

:::note warn
本記事は、2023年2月14日に公開されたGitHub Copilot for Businessを同16日に法人にて利用開始してみた記録です。仕様変更などもあり得ますので、法人で利用開始される方は必ずご自身での公式ドキュメント確認等もお願いします。
:::

# GitHub Copilot for Businessの利用を検討されている方へ

株式会社講談社のウェブメディア内製化チーム「techチーム」＆KODANSHAtech合同会社のゼネラルマネージャー、長尾です。
今回は、チーム内で以前から注目を集めていたGitHub Copilot for Businessの利用を開始してみた記録を公開したいと思います。

事前には不明点などもあり、じっくり検討を重ねてもよかったのですが、「えいや」でやってみてから考えるというスタイルで、勢い優先で利用開始しました。
導入を検討されている組織は多いと思いますので、参考になれば幸いです。

## GitHub Copilot for Businessとは？

ChatGPTで話題のOpenAI社によるAI技術をGitHubが取り入れ、コードのAIサジェストを提供してくれるのが、GitHub Copilotです。
GitHub Copilot for Businessは、企業・組織でこの機能を提供するための枠組みになります。
### 参考リンク

https://github.blog/2023-02-14-github-copilot-for-business-is-now-available/

https://github.com/features/copilot/

## 早速、手順開始。
「やってみた」系の記録記事ですので、細かいコメントはともかく記録公開を優先していきます。

### 1\. 最初の一歩

[サービスのトップページ](https://github.com/features/copilot/)＞ `Get Copilot for Business` とリンクを選択すると、利用開始のページに遷移します。
我々のチームの場合は、エンタープライズ契約ではなく、 organization で利用していますので、下のリンクを利用しました。

![スクリーンショット 2023-02-16 10.21.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/333795/1aea384f-a601-c2cc-1734-fceccfe653c5.png)

### 2\. Organizationの選択

利用を開始する Organization の選択。
いきなり全メンバー数（ここでは53名）が表示されるので、「強制的に全員利用開始するのか？」と不安になりますが、 **のちのステップで利用するユーザーの絞り込みが可能** でした。

![スクリーンショット 2023-02-16 10.24.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/333795/8a2b3691-70fc-15e7-41c3-68b9983194f5.png)

### 3\. 支払方法の設定

我々は法人クレジットカードを利用していますので、それを選択しました。
請求書払いの場合は、 `contact our sales team` ということで、事前に問い合わせして確認したほうがよいようです。

![スクリーンショット 2023-02-16 10.26.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/333795/6a0447d3-3e9c-4bde-2825-48a1943ce3dd.png)

### 4\. 組織の設定（ポリシー）

次に、いきなりこういう設定項目になります。

![スクリーンショット 2023-02-16 10.31.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/333795/82a791b9-7f0a-c691-3674-01e2f1804c9c.png)

選択肢はこちら。

![スクリーンショット 2023-02-16 10.32.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/333795/5d835a14-73ca-913d-45d0-43e350534828.png)

GitHub Copilot をすでに利用されている方はご存知かと思いますが、これは「GitHub上でオープンになっているコードと、前後150文字程度が一致しているコードがあれば、その元のコードをまとめてサジェストする」という機能を許可するかどうかのポリシーです。

なぜ、そのような設定が必要になるかを、自分なりの理解で説明すると、「まとめてサジェストされたコードのライセンスの扱いが、必ずしも適正とは限らないことを、組織として認めるか」という話だと思っています。
商用利用OKであるライセンスのコードだけがサジェストされるなら問題はありませんが、ライセンス上、利用してはいけないコードが業務成果物に混在することは、「仕事」としてコーディングする場面では望ましくないだろうと思われます。

注記にあるように、利用開始後にも設定は変更できるということもあり、我々は `Blocked` に設定して次に進みました。

### 5\. 利用するメンバーの絞り込み

先ほど（ステップ2）言及した、メンバーの絞り込みが、このステップで行えます。

![スクリーンショット 2023-02-16 10.42.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/333795/1519f819-d262-c4fb-ac02-fc64632ce592.png)

我々の場合、 Organization 全体では、コミット割合の低いゲストのような方も混在しているので、一律に機能提供するのは望ましくありませんでした。
そのため、 `Purchase for selected teams/users` を選択しました。
すると、下図のようなUIに切り替わります。

![スクリーンショット 2023-02-16 10.43.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/333795/5caee895-fe02-b62f-43b3-c0a76bee8427.png)

#### 参考: `Add people` を選択したときのUI

個別のユーザーを複数登録したい場合は、CSVアップロードが利用できるようです。

![スクリーンショット 2023-02-16 10.48.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/333795/6f4d4017-f45a-c266-0663-ecc9e24cbf0d.png)

#### 参考: `Add teams` を選択したときのUI

我々は、こちらを利用しました。

![スクリーンショット 2023-02-16 10.47.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/333795/012d7ccb-8c10-763e-3cc4-9f955eb65675.png)

---------

さて、どう利用者を管理しようか、ということになるわけですが、我々の場合は「 `copilot` という利用者を参加させるteamを設置し、そこに利用希望者を入れて管理する」ということを試みました。

理由としては、以下のことがあげられます。
- GitHubでは、複数の `team` に参加できるので、プロジェクトごとのチーム分けと干渉しない。
- 誰がこの機能を利用しているかを個別ユーザーに対して管理しなくてよくなる（この段階では「そうだろう」という推測でしたが、最終的には推測通りだということが確認できました）。

初期の検証メンバー7名でチームを作って設定してみました。

![スクリーンショット 2023-02-16 11.01.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/333795/07c16a79-3e41-c831-0077-0fe933c8527d.png)

ちなみに、この7名は、

- すでに個人でGitHub Copilotを利用している4名
- まだ利用したことのない3名

という構成です。

下図のように、チーム単位で利用権限が設定されました。

![スクリーンショット 2023-02-16 11.02.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/333795/3a97c15a-c875-8e21-f49f-445e16165b1d.png)

### 6\. 初期設定終了

初期設定は、これで終わりです！

![スクリーンショット 2023-02-16 11.02.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/333795/8c9eb733-408c-a1a3-d047-29a4fd1ac609.png)

「1seats assigned of 53 org members」という記述で、「え、チームで設定したのに1seat?」と疑問を感じましたが、どうやらこれは「1teamをアサインした」という趣旨のようです。

## 利用開始で起こったことを観察してみた

GitHub Copilot for Business の利用設定を行ったことで、何が起こったかを観察してみました。

### Organizationの設定はどうなったか

Copilot関連の組織での設定項目は、 `Access` と `Policies` です。
`Access` では、設定通り、チーム単位で利用権限が設定されました。
チームに参加している人にはCopilotの利用権限が与えられ、チームを抜けると権限がなくなる、ということが ~~UIから想定されます（未検証ですが、今後検証できたら追記したいと思います）~~ 確認できました。

![スクリーンショット 2023-02-16 11.04.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/333795/ce7adcc4-81ac-f54e-65a3-261243151d03.png)

`Policies` にあるのは、先ほどのサジェストの範囲の設定だけです。

![スクリーンショット 2023-02-16 11.05.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/333795/888d3902-81a9-9dd4-56bb-9db3ffca92c0.png)

`Billing` にも関連項目がありますが、ここではチームメンバー数どおり、 `7seats` と書かれています。

![スクリーンショット 2023-02-16 11.07.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/333795/5f81ee5a-acb8-d0cc-67c4-ce13e67fa438.png)


### すでに個人で利用していた人に起こったこと

すでに個人で利用していた人の場合、 `Policies` の設定が各人ではできなくなります。

![スクリーンショット 2023-02-16 11.03.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/333795/bd58bdd0-f3e8-abb6-4b5a-fc4574ca367b.png)

`Billing` でもキャンセル扱いになっていました。

![スクリーンショット 2023-02-16 12.33.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/333795/bd6c9093-28eb-c723-434f-0e214fec86e6.png)

このキャンセルによって、Refundがある方には、メール通知も来るようです。
Refundの通知メール（下図）と、Refundの領収書？が添付されたものの2通が届きました。

![スクリーンショット 2023-02-16 11.29.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/333795/0567b063-1e98-792d-60ea-b361fdecf681.png)

### はじめて利用開始する人に起こったこと

利用開始の案内が入ったメールが届いたようです。

![スクリーンショット 2023-02-16 11.31.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/333795/60e590cf-eb9b-a35b-a8b9-4c57cdb6c22d.png)

## おわりに

今回の実験で、下記のようなことが確認できました。

- 組織内で、すでに個人でGitHub Copilotを利用している人がいても、とくに問題なく利用開始できる。
- 組織内の誰に権限を付与するかなどは、比較的柔軟に設定可能である様子。

あとは個々人で、VSCodeなどのセッティングをすれば、快適なAIコーディングライフがはじめられそうですね。

本記事が、利用を検討されている方々の参考になれば幸いです！

----------

[KODANSHAtech合同会社](https://kodansha.tech/ja)では、メディア開発・コンテンツサービス開発に興味のあるエンジニア、デザイナーを随時募集しています！
入社・転職以外でも、講談社のメディア開発にフリーランスで参加してみたい、といった方も、ご遠慮なくお問合せください。