これでわかる!マイクロソフトがGitHubを買収する理由

alt

2018年6月4日、マイクロソフトがGitHubを75億ドルで買収するとのビッグニュースが飛び込んできました。

「え、、、GitHub(ギットハブ)って何?」という非SEさんでも大丈夫です。GitHubの紹介やgitを使用したサービスの買収事例も取り上げますので、最後までお読みいただけると今回の買収について理解が進むのではないかと思います。

GitHubの公式ブログより

GitHub(ギットハブ)とは?

GitHubを簡単に説明すると、「開発中のソフトウェアをインターネット上に保管するための置き場所を提供するサービス」です。ファイルの変更履歴を管理できるという特徴があります。リポジトリ(ソフトウェアの保管場所のこと)数やユーザー数によって課金される仕組みです。GitHubの有料プランですが、現在はユーザー数による料金体系になっています(参照)。

GitHubは、Chris Wanstrath(クリス・ワントラス)氏らによって開発され、2008年に法人設立されました。以前ご紹介した「Ruby on Rails」や関数型プログラミング言語のErlang(アーラン)などで実装されています。

現在、世界中で2700万人の開発者に利用されており(参照)、プログラミングを行う上で欠かせないサービスになっています。

主な機能としては、リポジトリに自分の作成したオープンソースソフトウェア(OSS)等を公開することができます。GitHubで公開したソフトウェアは、世界中の人が利用できます。また、他のユーザーがソフトウェアの修正や機能追加を提案することもできます。

このようにプログラマーが交流しながらソフトウェアを開発するというSNSのような側面がGitHubにはあります。

GitHubが普及したのはなぜか?

近年のIT業界では、「オープンソースソフトウェア(Open Source Software:通称OSS)」を利用したWebアプリケーション開発が主流となりつつあり、OSSの開発を行う個人や団体、企業などが多数存在しています。

ちなみにOSSとは、複製・修正・再配布などが自由に認められているソフトウェアのことで、無償で利用できます。

例えば、自分でカスタマイズしたブログを開設をしようとする際に、WordPress(ワードプレス)を利用される方も多いと思います。WordPressはOSSであり、WordPressが実装に使用されている言語であるPHPもOSSです。

WordPressで何らかのプラグイン(追加機能プログラム)を利用する場合も、OSSを利用することができます。また、そのようなOSSはGitHubなどで公開されており、誰もが修正・改善のチケットを発行することができ、修正依頼を出すことができます。

OSSのホスティングサービスは複数ありますが、筆者はGitHubで公開されているリポジトリを利用することがほとんどです。

GitHubにはOSSに対して、利用者が修正の提案をできるPull Requestと呼ばれる機能がありますが、2017年5月には、1億回目のPull RequestがOSSの作成者によって取り込まれたそうです(参考)

OSS開発においてGitHubが普及し一般化した理由ですが、筆者は主に以下の3つと考えます。

1.開発者にとってOSSを改変して利用するための機能「Fork」の存在
他のユーザによって公開されているリポジトリを、自分のリポジトリとして複製して利用する機能を「Fork(フォーク)」といいます。Forkの機能を利用することで、OSSに対して自身の要件にあった修正を加えることができるため、便利に使用することができます。また、独自に行った変更が他の利用者にも求められているものであれば、コピー元のリポジトリに対して、修正依頼(IssueやPull Request)を出すことができます。

2.ユーザー同士のコミニュケーションを推進する機能
リポジトリに対して作成者と利用者のコミュニケーションを円滑に行うために、作者への要望や提案を文章やコードで行うことができるIssueやPull Requestと呼ばれる機能があります。自分が作成したOSSにIssueやPull Requestがつくことは、OSSが使われている証拠であり、開発者にとってとても嬉しいことなのです。

3.gitのワークフローがOSSに適している
作業の履歴を管理したり、複数人が同時にコードを編集できるよう、歴史を分岐させて別々の作業ができるような「git(ギット)」と呼ばれるシステムをGitHubでは採用しています。

gitは、不特定多数の開発者がコードを編集するOSSに適していると筆者は考えます。そこで次に、gitとは何なのか、簡単に紹介したいと思います。

GitHubが採用するgitとは

gitは、Linuxの生みの親でもあるLinus Torvalds(リーナス・トーバルズ)氏らによって開発された「ファイルの編集履歴を保持するためのシステム」です。各ローカル環境にダウンロードして開発を行うことができる分散型の管理方法を採用しています。

例えば、過去に作成したテキストファイルに対して変更しようと思った時、バックアップとして日付をファイル名に付与して管理する方は多いかと思います。ファイルが増えると管理が煩雑になり困ったことがあると思いますが、そのような問題をgitは解決してくれます。

ファイルの編集履歴を残すことができる

gitはソースコードを「いつ・だれが・何を変更したのか」といった開発過程を記録できます。バグが生じた際などは、歴史を遡って以前の状態に戻すことが可能です。また、歴史を枝分かれさせて複数管理する(ブランチ管理)こともできますし、歴史を合流させる(マージ)こともできます。

分散型のバージョン管理システムである

gitを自分のPCに環境をダウンロードして、特定の修正ポイントやブランチを指定して作業を行うことができます。そのため、一つのプロジェクトに対して複数人での使用が可能となり、他の人が作業していても影響がありません。そのためチーム開発にも幅広く利用されています。

gitの競合サービス Subversion(サブバージョン)

gitの他に有名なバージョン管理システムを挙げると「Apache Subversion(アパッチサブバージョン)」があります。gitは分散型バージョン管理システム、Subversionは集中型という違いがあります。かつては多くの企業でSubversionが導入されていましたが、現在はgitが主流となっています。筆者も今はgitを利用しています。

オープンソース戦略に舵を切ったマイクロソフト

マイクロソフト社プレスリリースよりhttps://news.microsoft.com/201...

冒頭でご紹介したとおり、2018年6月4日、マイクロソフトはGitHubを75億ドルで買収すると発表しました(参照)。

マイクロソフトといえば、WindowsやMicrosoft Officeなどが有名ですが、オープンソースとは対極な立場として囲い込み戦略型のビジネスモデルを構築してきたと筆者は考えます。

その一方、GitHubでのOSSへの貢献が企業として一番多いのはマイクロソフトと発表されており(参考)、近年のマイクロソフトは、オープンソース戦略が積極的に推進されていると想像できます。

今回の買収によって、積極的にOSSを取り込むという目的のほかに、マイクロソフトはOSS開発者に対して自社製品の販売を促進するような動きをするのではないかと想像できます。

ほかにもある!gitを利用したホスティングサービスのM&A

GitHubの他にも、gitを利用したホスティングサービスはGitHubの他にもいくつか存在します。それらの企業は、GitHubに対抗したチーム開発のためのツールとして、親和性のあるサービスや事業を買収し、サービスの価値をあげようとしているのではないか、と筆者は考えます。

その根拠として感じた2つの買収事例を紹介します。

・GitLab.orgによるGitterの買収事例(2017年)

2017年3月、GitLab.orgがGitterを買収しました。Gitterとはチャットベースのコミュニケーションを行えるサービスで、gitとの相性が良いツールです。有償プランは廃止され、GitLab上でOSSとして提供されており、今では誰もが無償で利用することができます。

・Atlassianによるbitbucket.orgの買収事例(2010年)

コミュニケーションツールやタスク管理ツールを提供するAtlassianは、2010年9月にbitbucket.orgというウェブベースのホスティングサービスを買収しました。この買収でbitbucket.orgの料金プランが変更され、無償でプライペートリポジトリを作成(GitHubは有償)することができるようになりました。

このように、GitLabとAtlassianは、コミュニケーションやタスク管理を行うツールとの連携を行うことで、デファクトスタンダードとなっているGitHubとの棲み分けを目指しているように感じます。

gitを学んでみよう

GitHubに自分の書いたコードを公開することは、エンジニアにとっては初めの一歩と言えます。学習にオススメのウェブサイトを最後に紹介します。

・サルでもわかるgit入門

gitの概念を初心者でもわかるように非常に丁寧に解説しています。筆者もgitの使い方はこのサイトをみて学びました。

https://backlog.com/ja/git-tut...

・Try GitHub(英語)

gitのコマンドライン上での使い方を実際に手を動かしながら網羅的に学ぶことができます。

https://try.GitHub.io

概念を理解するまでは苦労するかもしれませんが、慣れてしまえば難しいものではないです。エンジニア以外の方でもgitを使いこなすことで、情報整理に役に立つでしょう。

文:鶏肋 /編集:M&A Online編集部