Islands in the byte stream

Technical notes by a software engineer

github.comのアカウントは仕事用と私用で分ける方がいいの?

追記(2019/04/11): sonots氏がGitHubの方と相談しつつ設計した運用方法が公開されました。

全社的に会社用GitHubアカウントを廃止した件 - ZOZO Technologies TECH BLOG

このガイドラインは今後のデファクトスタンダードになると思うのでtl;drを引用します。

  1. 個人で会社用と私用の2つの無料GitHubアカウントを持つことはGitHubの規約「非」準拠だった
  2. 会社用GitHubアカウントを廃止し私用GitHubアカウントを利用する規定に変更した
  3. セキュリティを担保するためGitHubのSSO機能を利用した

GitHubの規約的には、おそらく「会社として会社用アカウントを pro版にする」「個人が身バレを防ぐために個人アカウントをpro版にして会社用アカウントを別途作る」などの運用も可能だとは思います。しかし、GitHubというサービス自体マルチアカウントで使うような設計になっていないため、よほどのことでもないかぎりはこの「アカウントを分けない」というガイドラインでやっていくのが王道だということが示されたと思います。

以下もともとの本文は、記録のために そのまま 残しておきます(下記エントリにある「会社用アカウント」は、sonots氏のエントリによれば、(個別にpro版にしないかぎりは)フリーアカウントに該当するということが示されています)。


一行まとめ:分ける理由・分けない理由両方あるのでどちらにすべきということはない

会社で github.com (not GHE) を採用するにあたって、アカウントについてガイドラインを制定すべきなのかどうか悩んでいます*1。とりあえず現状把握のためにアンケートを取ってみました。

だいたい 1対2くらいで「分けている」と「分けてない」に別れる結果となりました。私のアカウントは「分けていない」し、周りでも分けている人をあまり見かけなかったので、分けないのが普通と思っていたのですが、意外と分けている人が多く「分けないのが普通」とはいえないなというのが第一印象です。

分けないメリットは個人にも会社にもあると思います:

  • アカウント所有者にとっては管理が単純
    • github.com はアカウント切り替えが簡単ではない(2FAを有効にしていると特に)のでなおさら
  • 「仕事でOSSにコミットする」というケースを個人の成果として積み上げられる
  • 「プライベートでOSSにコミットする」というケースを会社のポジティブなイメージに繋げられる

一方で、分ける方も言い分はあります。

  • 仕事とプライベートの活動を混在させたくないという思いはあって当然だと考えられる
  • 実際、家にいる時も会社のリポジトリの通知やアクティビティが見えてしまうのは嫌だという意見を聞いた
  • アカウントを分けないと実名とネット上のアイデンティティが紐付けられやすくなり、プライバシーの問題が起きうる
    • 会社のorganizationを管理する側としては、アカウント名は自由でよくても見えるところに本名を設定してほしいという願いがある
    • その結果、「会社としては、本名とハンドルネームをひも付けてほしい」ということになる(それをルールにするかどうかは別として)
    • 「身バレしたくない」という個人の願いと「管理しやすい状態であってほしい」という会社の願いが矛盾する
      • その結果として生まれるのが アカウント管理台帳 だとしたら哀しい世界だが…
  • 一般論として、クラウドサービスのアカウントは個人用と会社用で分けるべきという考えもある
    • たとえば、Google accountなどは分かれていてしかるべき(たとえGoogle Apps for Workを採用していないとしても)
    • ただしこの点では github.com は「会社としても個人としても分けないメリットがある」という性質をもつので一般論を適用する必要はないと思っています

無難なとところとしては、会社としてはルールは作らず、GitHubのアカウント管理方法を説明して「どちらでもよい」とするしかないのかなという気がします。

ここで上げていない分ける理由、分けない理由もあると思うので、もし思いついたらコメントなどいただけると幸いです。

*1:https://help.github.com/articles/github-terms-of-service/ によると、複数のfree accountは認められないとありますが、会社用アカウントはfree accountではないと考えられるのでここではアカウントを分けることは利用規約に準拠していると解釈して話をしています。