連載 [第6回] :
  GitHub Universe 2017レポート

GitHub UniverseでMSのエンジニアが語った「共有と協力」への険しい道

2017年11月14日(火)
松下 康之 - Yasuyuki Matsushita
かつてはLinuxやGPLを敵視していたMicrosoftが、最大のOSS貢献者となるまでの変化を内部のメンバーが語った。

いかにしてMicrosoftはLinuxラブになったのか

ソースコードリポジトリーサービス、GitHubの年次イベント、GitHub Universe 2017には様々なエンジニアがセッションを実施したが、その中でも特に興味深かったのが、Microsoftによる自社開発のリポジトリーからGitHubに移行したプレゼンテーションである。今回はその内容を紹介したい。

これは「MICROSOFT ?S OPEN SOURCE: BECOMING THE BIGGEST CONTRIBUTOR」と題されたセッションで、若干の意訳をすれば「Microsoft Loves Open Source:いかにしてMicrosoftはOSSの最大の貢献者になったか?」ということで、IT業界の謎の一つと言える「Microsoftにおけるオープンソースソフトウェアに対する180度の方向転換」の裏話を、内部の人が語るというものだった。

セッションを担当したのはEdward Thomson氏で、彼はMicrosoftが2009年に買収したSourceGearのTeampriseというソフトウェアの開発者として、買収の際にMicrosoftに移ったエンジニアだ。

Thomson氏はまず、1976年2月3日当時のMicrosoftの社長、Bill Gatesがプログラミングをホビーとしているマニアに向けて書いたとされるオープンレターの一文を紹介した。これは「ホビーイストの大多数の人たちは、自分がソフトウェアを盗んでいることを自覚すべき」という内容だ。当時のMicrosoftは、Basicのインタープリターを販売していた。パソコンのホビーイストはそのBasicのインタープリターを貸し借りしながら、プログラミングを楽しんでいたという。Bill Gatesにとってそれは、たまらなく不快なものだったのだろう。

Bill Gatesのオープンレター

Bill Gatesのオープンレター

また同じくBill GatesのGPLに対するコメント、「世の中にGPLというものがあるが、これには賛成できない」というスライド、そして極めつけはBill Gatesの後を引き継いたSteve Ballmerによる「Linuxはガンだ」を紹介。この時点ではMicrosoftはLinux、とりわけライセンスとしてのGPLを敵視していたといえるだろう。「ソフトウェアはそのようにして書くものではない」というBill Gatesの当時の哲学がよく分かるエピソードだ。

しかし次に紹介したスライドには現在のCEO、Satya Nadellaの写真を使って「Microsoft Loves Linux」、つまり態度を180度変えたことを紹介した。

ここまでは、IT業界にいる人間であれば知っている範囲の内容だ。そこからThomson氏は、具体的に現時点のMicrosoftの状態として紹介したのが、このスライドだ。

今やMicrosoftは、FacebookやGoogleよりも多くのOSSコントリビュータを抱える

今やMicrosoftは、FacebookやGoogleよりも多くのOSSコントリビュータを抱える

続いて、Thomson氏自身が買収によってMicrosoftの一員になった当時を振り返って経緯を紹介した。その当時、Teampriseという4名のプログラマーが開発していたソースコードをMicrosoftが買収した際に、関連するソフトウェアもMicrosoftに移管された。それらのソフトウェアにオープンソースソフトウェア、それもGPLのライセンスを持ったものがあったことにMicrosoftは驚愕したという。それは納得できる。なぜなら2009年はまだ、Steve BallmerがCEOとして指揮を取っていたのだから。

買収した会社がOSSを使っていたことにショックを受けたMicrosoft

買収した会社がOSSを使っていたことにショックを受けたMicrosoft

自社製バージョン管理システムからGitへ

その当時、Microsoftには自社製のソースコードバージョン管理システムが存在したという。これはTeam Foundation Serverと呼ばれるもので、「非常に大規模なプロジェクトには理想的だが、小さいプロジェクトには向かない」という特徴を備えていたという。

Team Foundation Serverの概要

Team Foundation Serverの概要

次のスライドでは、このTeam Foundation Serverがエンジニアに途轍もなく評判の悪いソフトウェアであったことが明かされた。

Team Foundation Serverの社内で評判は散々

Team Foundation Serverの社内で評判は散々

ここでThomson氏はGitの特徴である分散型のバージョン管理システムと、当時のMicrosoftが開発していた集中型のバージョン管理システムの違いを解説した。1つ前のスライドにあるように、プロジェクトが非常に大型になる場合には集中型の利点が出るが、比較的小さい規模のシステムには集中型は向かないというのがThomson氏の評価のようだ。GitベースのコードをMicrosoftのプラットフォーム上、つまりAzureやSQL Serverで再現しようと試みた頃もあったそうだが、最終的にオープンソースソフトウェアであるGitをそのまま実装したほうがずっと効率的であるという結論に達したという。つまりこの時点で車輪を再発明するよりも、今の車輪をさらに良くするほうに舵を切ったと言えるだろう。

オープンソースはゼロサムゲームではないという気付き

オープンソースはゼロサムゲームではないという気付き

ここでThomson氏は「オープンソースソフトウェアはゼロサムゲームではない(つまり誰もが勝者になれる)」というスライドを使い、とかく他社を打ち負かすことに熱心であったMicrosoftのカルチャーを、コラボレーションすることで「誰もが価値を受け取ることができる」というものに変えられたことを訴求した。

また次のスライドで「Microsoft Development Tools Legal Team Loves GitHub」と書かれた写真を紹介した。これはプログラマーだけではなく、著作権などを管理する法務チームでさえ、GitHubによるコラボレーションに賛同しているということを示している。Microsoftの法務といえば、かつては絶対に喧嘩してはいけない部門として社内からも一目を置かれていたというのが筆者の経験だが、そのチームでさえオープンソースソフトウェアによる価値を認めているというのは、変化の大きな証拠といえるだろう。

またThomson氏は、結果的にGitベースのバージョンコントロールシステムであるVisual Studio Team Services(VSTS)が非常に高い評価をうけていることを紹介。ここで、会場からも大きな笑い声とも賞賛の声ともとれるノイズが湧き上がったことをメモしておきたい。

最高の評価を受けるVSTS

最高の評価を受けるVSTS

ここからMicrosoftの組織としての変化について言及。当時のMicrosoftの社内は、各部門がお互いに敵対しあう攻撃的なものだったということを紹介。ここでも大きな笑い声が起きていた。

IT業界各社の組織を漫画チックに表現

IT業界各社の組織を漫画チックに表現

このスライドではAmazonは標準的なツリー構造、Googleは個々のエンジニアがメッシュ条のつながりを持つように描かれている。またOracleは、Engineering部門よりもLegal(法務)のほうが大きいということを表している。一方Microsoftは、事業部同士がピストルで撃ち合っているイラストで、他の部門とは基本的に敵対し合うというようすを表している。

Microsoftの組織の特徴?

Microsoftの組織の特徴?

この状態は社内共通のツールなどは存在し得ないが、One Engineering System(1ES)と言うコンセプトで社内のエンジニアが共通に使うシステムとしてのGit、つまりVisual Studio Team Servicesを位置付けることで、部門間のサイロ化がなくなり、ソースコードは社内で公開・共有され、プルリクエストを受け付けるようにカルチャーが変わったという。

1ESとVSTSが拡がる前のMicrosoftのエンジニアリングチームはサイロごとに分かれていた

1ESとVSTSが拡がる前のMicrosoftのエンジニアリングチームはサイロごとに分かれていた

Gitによるソースコード共有が始まった

Gitによるソースコード共有が始まった

ここまででMicrosoftが単にツールを変えただけではなく、社内の組織からカルチャーまで大きな変化を経験した結果として、オープンソースソフトウェアへの貢献が拡大した経緯をご理解いただけただろうか。社内の部門が競い合うことでビジネスを拡大するという方法論が有効な組織や状況もあるだろうが、ソフトウェア開発においては「公開と共有による効果を否定するべきではない」ということを教えてくれたセッションであった。

著者
松下 康之 - Yasuyuki Matsushita
フリーランスライター&マーケティングスペシャリスト。DEC、マイクロソフト、アドビ、レノボなどでのマーケティング、ビジネス誌の編集委員などを経てICT関連のトピックを追うライターに。オープンソースとセキュリティが最近の興味の中心。

連載バックナンバー

開発ツールイベント
第7回

【写真で見る】GitHub Universeが示す新しいイベントのスタイル

2017/11/16
GitHub Universe 2017レポートの最後は、IT系企業が開催するイベントの新しいスタイルという見地から会場のようすを紹介する。
開発ツールイベント
第6回

GitHub UniverseでMSのエンジニアが語った「共有と協力」への険しい道

2017/11/14
かつてはLinuxやGPLを敵視していたMicrosoftが、最大のOSS貢献者となるまでの変化を内部のメンバーが語った。
開発ツールインタビュー
第5回

GitHubにとってAPIとは? GraphQLが提供する価値とは?

2017/11/9
GitHub Universe 2017で発表されたGraphQL APIについて、Director of Ecosystem Engineeringに話を訊いてみた。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています