アップルが新たに採用
15年6月、アップルのデべロッパ・コミュニティにとって非常に大きな発表があった。それは、アップルが次期主力プログラミング環境として開発を行っている言語「スウィフト(Swift)」をオープンソース化するというものだった。そして12月上旬、予告どおりソースコードの公開が始まった。数多くのエンジニアがいま、夢中になってスウィフトの未来をアップルとともに作り出し始め、早くもさまざまな活用事例が出始めている。このエコシステムの広がりはかつてないほど速く、改めてオープンソース文化の強さを感じる事例として多くのメディアでも取り上げられている。
しかし、実際のところアップルのソフトウェア資産のオープンソース化というのは珍しいことではない。OS Xのコア・カーネルは、カーネギーメロン大学を中心に開発された「FreeBSD」というUNIXシステムをベースに開発されている。また、OS Xで取り入れられている多くの技術はオープンソースを源流としており、アップル製品に最適化された形で使われている。その成果は公式に開示されており、誰でも利用できるようになっている。
そういった意味でも、スウィフトの事例において注目すべきなのは、オープンソース化という「手段」ではなく、むしろ新たな公開先として「ギットハブ(GitHub)」を選んだことだった。
なぜアップルはギットハブで活動することを決めたのか。今回ギットハブ共同創業者の1人であるスコット・チャコン氏にインタビューする機会を得たので、その真意を聞いた。
ギットハブは、バージョン管理システムの1つである「ギット(Git)」を利用したソフトウェア開発プロジェクトのための共有WEBサービスだ。ここにアップロードされた各プロジェクトは「リポジトリ」と呼ばれ、メンバーの間で共同作業が可能になる。公開されたリポジトリは、メンバー以外でも好きなように利用できる「フォーク」というプロジェクトを分家する機能があり、自由に手を加えてカスタマイズしたり改良を加えることができる。さらに、この変更を本家のリポジトリにも反映するように提案する「プルリクエスト」を使うことで、それぞれのリポジトリの長所を積極的に「マージ(統合)」できる。このようにプロジェクトをオープンにし、多くの人の意見を取り入れやすい環境を作ることで開発を活発化させることで、速いスピードでより良いものを作り出すコミュニティへとギットハブは成長した。
こうしたサービスを、アップルが利用することで、さまざまなメリットが出てくるのは間違いない。というのも、アップルに先駆けて同じような取り組みを行い、すでに成功している企業がある。同じソフトウェア企業の巨人、マイクロソフトだ。
マイクロソフトは2014年秋から同社の持つ「ドットネット(.NET)フレームワーク」をギットハブ上に公開。これが反響を呼び、多くの開発者がリポジトリをフォークし、改善案をリクエストしていった。チャコン氏によれば、ここ半年の修正はすでにマイクロソフト社員よりも、外部からコミュニティに参加した一般の開発者のほうがはるかに多いという。こうした成果を取り入れやすいのはソーシャルサイトならではの利点だ。
ギットハブの共同創業者の1人であるスコット・チャコン氏。2008年にサンフランシスコで設立されたギットハブは、現在ユーザ数1千万人以上を抱える世界最大のソフトウェア開発共有サービスへと成長した。Apple Store, Ginza © Yoshinobu Kobayashi
有り余るメリット
また、スウィフトが新しい言語だったことも影響している。近年もっともモダンな開発言語といわれているスウィフトが世に出てまだ2年ほどだが、その開発コミュニティの多くはギットハブ上にプロジェクトを展開し、コードを共有している。現時点で登録されているリポジトリは9万を超えた。「もっともホットな開発言語なのは間違いない」とチャコン氏も太鼓判を押す。
このように追い風の吹くスウィフトを、アップルがギットハブに置くメリットは有り余るほどだろう。実際にアップルがリポジトリを公開してからわずか1カ月だが、すでに500を超えるプルリクエストがあり、そのうちの60%以上が承認され、オリジナルのスウィフトのコードに反映されている。またアップル自身も日に数十の変更を行いながら改良を続け、すでに述べ3万回を超えるコミット(データ更新)が行われている。これはアップル史上もっとも急速に成長を続けることに成功したプロジェクトといえるだろう。
これほどまでに高い人気が出たのはもちろん、開発者にもメリットがあるからだ。スウィフトのオープンソース化にあたり、アップルはコードが最低限動作する環境を用意した。加えて、スウィフトの中心部といえるコアライブラリやコンパイラといった基礎技術、さらにはコミュニティの提案も取り入れた次世代バージョンへのロードマップを示すエボリューション(Evolution)、テストツール、コードの配布に必要なパッケージマネージャといった数多くの機能を20近いリポジトリに分けて公開している。こういった情報は従来、年に1度のWWDC(世界開発者会議)でしか公開されず、さまざまな仕様変更が一気にやってくるため大きなコスト負担となっていた事実もある。その点でもこのオープンソース化は、アップルと開発者双方にメリットのある出来事なのだ。そしてこの成功はひとえにオープンソースコミュニティから厚い信頼を得やすい土壌を持つ、ギットハブというプラットフォームを使ったからこそ得られた結果にほかならない。
未来を変えるサービス
多大なポテンシャルを持つギットハブだが、今後はどういった方向に進んでいくのか。その問いに対し「ギットハブの基本はソースコードの共有。そしてプログラミングの裾野を広げていくことを考えたい」とチャコン氏は答えてくれた。
現在、教育分野においてプログラミングの導入が急速に増えている。「パイソン(Python)」や「ルビー(Ruby)」、スウィフトのような軽量なスクリプト言語は初期導入から応用まで末長く使える優秀な言語だ。こういった言語を取得するのにもギットハブは有効で、数多く存在するリポジトリ、そしてコミュニティに参加することで実践的にコードを学び、貢献することができる。リポジトリをフォークして、変更・改良をコミットし、その成果をオリジナルにプルリクエストして反映してもらう。この作法だけ覚えれば、ギットハブにある3千万以上のリポジトリに貢献することができる。これを広めていくことで、ユーザがギットハブを使う可能性・有用性を広げることができるのだ。
「最初は小さな貢献でも構わない。ドキュメントを編集したり、誤字や文法の間違いなどから始めるのもいい」とチャコン氏は提案するが、実際にこういったコード以外の部分からスタートできるのも良い点だ。ギットハブには「イシュー」という問題点の報告や、改善要望などのリクエストを挙げる機能がある。イシューではスレッド単位で話し合うことができ、問題となる箇所に直接コメントを入れて指摘しながらディスカッションができるレビュー機能が備わっている。さらに、改善を確認したときにスレッドをクローズにできる「チケット」という単位で管理が可能なため、解決した問題はイシューのリストから消えていくという点でも扱いやすい。
このように、コミュニティに参加しやすく、小さな貢献が全体の大きな推進力になりやすい設計が施されているのも重要なポイントだ。チャコン氏もこの活動を重視しており「もっとコードレビュー機能を使いやすくしていく予定だ」と今後の計画に関して答えてくれた。
また、「この可能性は企業にも有益になるはずだ」とチャコン氏は考える。ギットハブのリポジトリは、関係者のみで利用ができる「プライベートリポジトリ」というオプションも用意されている。これを利用すればチーム内生産性が高まる部署が多く存在するはずで、チャコン氏も「もっとギットハブの認知度を広げるだけでも貢献できる分野はある」と今後の成長にも期待をかけている。
では、ソフトウェア開発以外の用途にはどう役立つのだろうか。「ギットハブでまず優先するべきはコーディングである」と前置きをしながらも、それ以外にも活用事例が増えているという。彼の著書である『Pro Git』はギットハブ上で無料公開されているが、本文はギットのアップデートに伴ってコミュニティの手で改訂されており、さらに日本語を含む多くの言語に翻訳されるためフォークされている。「文章を書く方法は人によってさまざまなので、ルールの統一化は難しい」という意見もあるが、オライリーや技術評論社など一般出版社での事例もある。社内ルールだけ整備すればギットハブを使った出版事業のようなワークフローも実現可能だ。
続けて、「ギットハブはWEBブラウザとデスクトップアプリの両方を使わないとサービス完結しない」という点が一般利用への普及を妨げているのでは?という疑問を投げかけると、「オールインワンのパッケージは提供していないが、API(アプリケーションプログラムインターフェイス)はある」とチャコン氏は答えてくれた。実例としては、ホワイトハウスがギットハブに公開した法令に関する意見を広く集めるために、ユーザが投稿しやすいようAPIを利用して別の投稿フォームを用意したという。
また、ギットハブ社内でもマーケティングや法務、人事といったいわゆる「ノン・プログラマー」なメンバーも存在するが、彼らの業務もギットハブ上で行われ、多くのコミュニケーションはメールなどではなく自分たちのサービスの中で完結している。ほかにも、社内で法務に仕事を依頼するときは、APIを活用したフォームを使っており、そのフォームを利用することによって法務が必要としている形式で情報が伝わるようになっているという。
今後増えていくと予想されるデスクトップPC離れとビジネスにおけるタブレット活用などを考えると、データはますますクラウドに置くスタイルに依存していくのは間違いない。そんな中で単なる「置き場」ではなく、共有してプロジェクトを進めていくコミュニティの「場」はより強く求められる傾向が強まっている。ギットハブはその先端をリードし、これからもトップブランドとして高い価値を生み出し続けるだろう。(文/氷川りそな)
2015年12月にアップルストア・銀座のイベントに登壇したチャコン氏。アップルがスウィフトをオープンソース化したことで、どのようなことが起こったのかを説明した。写真左はiOS/OS Xアプリケーション開発者の岸川克己氏。Apple Store, Ginza © Yoshinobu Kobayashi
【NewsEye】
アップルの技術のオープンソース化はこれまでも行われてきた。たとえば、ブラウザで使われるレンダリングエンジン「ウェブキット(WebKit)」やオーディオ形式「ALAC(Apple Lossless Audio Codec)」も、それぞれのコミュニティを持ち、広く使われながら開発された。
【NewsEye】
チャコン氏は創業者であると同時に、ギットそのもののエヴァンジェリストであり、ギットの公式サイトの管理者でもある。彼の著書である『Pro Git』は、ギットハブ上でも無料で公開されているが、書籍として出版もされている。