Log in

Appleも採用したGitHub その驚異的な成功の理由とは【topics】

オープンソースプロジェクトとして公開されたアップルの新プログラミング言語「Swift」。その使い勝手の良さから高い評価を得る今もっとも注目されている技術の1つだ。そ のコミュニティを支えているのが「GitHub」。根強い人気を誇る彼らのサービスを支える理念とは何か。その真意を聞くことができた。

アップルが新たに採用

2015年6月、アップルのデべロッパ・コミュニティにとって非常に大きな発表があった。それは、アップルが次期主力プログラミング環境として開発を行っている言語「スウィフト(Swift)」をオープンソース化するというものだった。そして12月上旬、予告どおりソースコードの公開が始まった。数多くのエンジニアがいま、夢中になってスウィフトの未来をアップルとともに作り出し始め、早くもさまざまな活用事例が出始めている。このエコシステムの広がりはかつてないほど速く、改めてオープンソース文化の強さを感じる事例として多くのメディアでも取り上げられている。

しかし、実際のところアップルのソフトウェア資産のオープンソース化というのは珍しいことではない。OS Xのコア・カーネルは、カーネギーメロン大学を中心に開発された「FreeBSD」というUNIXシステムをベースに開発されている。また、OS Xで取り入れられている多くの技術はオープンソースを源流としており、アップル製品に最適化された形で使われている。その成果は公式に開示されており、誰でも利用できるようになっている。そういった意味でも、スウィフトの事例において注目すべきなのは、オープンソース化という「手段」ではなく、むしろ新たな公開先として「ギットハブ(GitHub)」を選んだことだった。

3スウィフトをオープンソース化したアップルは、その公開先として新たにギット ハブを選択。リポジトリを公開してまだ 1 カ月だが、すでに 500 を超えるプルリ クエストがあり、そのうち 60%以上が承認されている 

なぜアップルはギットハブで活動することを決めたのか。今回ギットハブ共同創業者の1人であるスコット・チャコン氏にインタビューする機会を得たので、その真意を聞いた。

「ギットハブは、バージョン管理システムの1つである「ギット(Git)」を利用したソフトウェア開発プロジェクトのための共有WEBサービスだ。ここにアップロードされた各プロジェクトは「リポジトリ」と呼ばれ、メンバーの間で共同作業が可能になる。公開されたリポジトリは、メンバー以外でも好きなように利用できる「フォーク」というプロジェクトを分家する機能があり、自由に手を加えてカスタマイズしたり改良を加えることができる。さらに、この変更を本家のリポジトリにも反映するように提案する「プルリクエスト」を使うことで、それぞれのリポジトリの長所を積極的に「マージ(統合)」できる。このようにプロジェクトをオープンにし、多くの人の意見を取り入れやすい環境を作ることで開発を活発化させることで、速いスピードでより良いものを作り出すコミュニティへとギットハブは成長した。こうしたサービスを、アップルが利用することで、さまざまなメリットが出てくるのは間違いない。というのも、アップルに先駆けて同じような取り組みを行い、すでに成功している企業がある。同じソフトウェア企業の巨人、マイクロソフトだ。マイクロソフトは2014年秋から同社の持つ「ドットネット(.NET)フレームワーク」をギットハブ上に公開。これが反響を呼び、多くの開発者がレポジトリをフォークし、改善案をリクエストしていった。チャコン氏によれば、ここ半年の修正はすでにマイクロソフト社員よりも、外部からコミュニティに参加した一般の開発者のほうがはるかに多いという。こうした成果を取り入れやすいのはソーシャルサイトならではの利点だ」

1ギットハブの共同創業者の1人であるスコット・チャコン氏。2008年にサンフランシスコで設立された ギットハブは、現在ユーザ数1千万人以上を抱える世界最大のソフトウェア開発共有サービスへと成長した。Apple Store, Ginza © Yoshinobu Kobayashi

未来を変えるサービス 

多大なポテンシャルを持つギットハブだが、今後はどういった方向に進んでいくのか。その問いに対し「ギットハブの基本はソースコードの共有。そしてプログラミングの裾野を広げていくことを考えたい」とチャコン氏は答えてくれた。

現在、教育分野においてプログラミングの導入が急速に増えている。「パイソン(Python)」や「ルビー(Ruby)」、スウィフトのような軽量なスクリプト言語は初期導入から応用まで末長く使える優秀な言語だ。こういった言語を取得するのにもギットハブは有効で、数多く存在するリポジトリ、そしてコミュニティに参加することで実践的にコードを学び、貢献することができる。リポジトリをフォークして、変更・改良をコミットし、その成果をオリジナルにプルリクエストして反映してもらう。この作法だけ覚えれば、ギットハブにある3千万以上のリポジトリに貢献することができる。これを広めていくことで、ユーザがギットハブを使う可能性・有用性を広げることができるのだ。

「最初は小さな貢献でも構わない。ドキュメントを編集したり、誤字や文法の間違いなどから始めるのもいい」とチャコン氏は提案するが、実際にこういったコード以外の部分からスタートできるのも良い点だ。ギットハブには「イシュー」という問題点の報告や、改善要望などのリクエストを挙げる機能がある。イシューではスレッド単位で話し合うことができ、問題となる箇所に直接コメントを入れて指摘しながらディスカッションができるレビュー機能が備わっている。さらに、改善を確認したときにスレッドをクローズにできる「チケット」という単位で管理が可能なため、解決した問題はイシューのリストから消えていくという点でも扱いやすい。

このように、コミュニティに参加しやすく、小さな貢献が全体の大きな推進力になりやすい設計が施されているのも重要なポイントだ。チャコン氏もこの活動を重視しており「もっとコードレビュー機能を使いやすくしていく予定だ」と今後の計画に関して答えてくれた。

また、「この可能性は企業にも有益になるはずだ」とチャコン氏は考える。ギットハブのリポジトリは、関係者のみで利用ができる「プライベートリポジトリ」というオプションも用意されている。これを利用すればチーム内生産性が高まる部署が多く存在するはずで、チャコン氏も「もっとギットハブの認知度を広げるだけでも貢献できる分野はある」と今後の成長にも期待をかけている。

では、ソフトウェア開発以外の用途にはどう役立つのだろうか。「ギットハブでまず優先するべきはコーディングである」と前置きをしながらも、それ以外にも活用事例が増えているという。彼の著書である『Pro Git』はギットハブ上で無料公開されているが、本文はギットのアップデートに伴ってコミュニティの手で改訂されており、さらに日本語を含む多くの言語に翻訳されるためフォークされている。「文章を書く方法は人によってさまざまなので、ルールの統一化は難しい」という意見もあるが、オライリーや技術評論社など一般出版社での事例もある。社内ルールだけ整備すればギットハブを使った出版事業のようなワークフローも実現可能だ。

続けて、「ギットハブはWebブラウザとデスクトップアプリの両方を使わないとサービス完結しない」という点が一般利用への普及を妨げているのでは?という疑問を投げかけると、「オールインワンのパッケージは提供していないが、API(アプリケーションプログラムインターフェイス)はある」とチャコン氏は答えてくれた。実例としては、ホワイトハウスがギットハブに公開した法令に関する意見を広く集めるために、ユーザが投稿しやすいようAPIを利用して別の投稿フォームを用意したという。

また、ギットハブ社内でもマーケティングや法務、人事といったいわゆる「ノン・プログラマー」なメンバーも存在するが、彼らの業務もギットハブ上で行われ、多くのコミュニケーションはメールなどではなく自分たちのサービスの中で完結している。ほかにも、社内で法務に仕事を依頼するときは、APIを活用したフォームを使っており、そのフォームを利用することによって法務が必要としている形式で情報が伝わるようになっているという。

今後増えていくと予想されるデスクトップPC離れとビジネスにおけるタブレット活用などを考えると、データはますますクラウドに置くスタイルに依存していくのは間違いない。そんな中で単なる「置き場」ではなく、共有してプロジェクトを進めていくコミュニティの「場」はより強く求められる傾向が強まっている。ギットハブはその先端をリードし、これからもトップブランドとして高い価値を生み出し続けるだろう。

2 012015年12月にアップルストア・銀座のイベントに登壇したチャコン氏。アップルがスウィフトをオープンソース化したことで、どのようなことが起こったのかを説明した。写真左はiOS/OS Xアプリケーション開発者の岸川克己氏。Apple Store, Ginza © Yoshinobu Kobayashi 

Author:氷川りそな
初出:MacFan 3月号