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

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

2017年11月9日(木)
松下 康之 - Yasuyuki Matsushita
GitHub Universe 2017で発表されたGraphQL APIについて、Director of Ecosystem Engineeringに話を訊いてみた。

ソースコードリポジトリーサービスGitHubの年次イベント、GitHub Universe 2017において、数多くの新しい技術やサービスが紹介された。今回は、その中からAPIとGraphQLを取り上げ、Director of Ecosystem EngineeringのKyle Daigle氏に話を伺った。

まずKyleさんのGitHubでのキャリアを教えてください。

Daigle:私はGitHubで働き始めて、もう4年半になります。それまでエンジニアとして、インフラストラクチャーや今回発表したGraphQLなどを担当してきました。全てのAPIやマーケットプレイス、それにパートナーのエコシステムに関するエンジニアリングを担当しています。

GitHubのDirector of Ecosystem EngineeringのKyle Daigle氏

GitHubのDirector of Ecosystem EngineeringのKyle Daigle氏

キーノートでGraphQLの発表とAPIの公開が繰り返し語られましたが、特に印象に残ったのが「APIやデータは社内のエンジニアも社外のエンジニアも全く同じものを使う」という部分でした。それについて教えてください。

Daigle:これはGitHubのストラテジーなんですが、社内のアプリケーションエンジニアが使うAPIもシステムインテグレーターが使うAPIも全く同じものにしています。これは、GitHubを使うエンジニアにとって最高のエクスペリエンスを提供するという意味で重要です。つまりGitHubのエンジニアではないという理由で、セカンドクラスのエクスペリエンスを提供してしまえば、究極的に競合力が低下することになると思っているからです。

通常であれば社内向けの隠されたAPIを用意することもあると思いますが、そういうことはしないと。

Daigle:そうです。それはGitHubからのコミュニティに対する重要なコミットメントだと思います。

「Infrastructure as a code」に代表されるように、様々なシステムがコードの形で定義されていますが、GitHubとしてそれらをサポートする予定はありますか?

Daigle:これはすでに我々だけではなくGitHubのユーザーが多く実施していることですので、すでに実現していると考えて良いと思います。GitHub自身も、社内のシステム開発はDockerコンテナとKubernatesによるコンテナ環境に移行していますし、テストもインフラストラクチャーの定義も同じようにGitHubで管理されています。ただ「全てのユーザーがそうなるべき」というつもりはありません。従来型の開発をしている企業もありますし、それを無理やり変えさせる必要もないのです。様々なスタイル、多様性が実現できるというのも、GitHubの良さのひとつだと考えています。

GraphQLについて教えてください。これはAPIを通じてデータにアクセスする際の標準になるということですが。

カンファレンスで発表されたGraphQL API

カンファレンスで発表されたGraphQL API

Daigle:そうです。我々はAPIを通じて様々なソリューションが提供されることを望んでいますが、そのために全く新しい言語や独自のシステムを使うことはしないでおこうと考えていました。Facebookが開発しオープンソースソフトウェアとして公開しているGraphQLは、GitHubが提供するAPIの目的にはピッタリのものでした。GitHubとしてもGraphQLの開発に協力していますし、これによってより開発が効率良く行えるはずです。日本の開発者にもぜひ、GraphQLを使ってGitHubを活用してもらえたらと思っています。

2008年から開発が進められていたという

2008年から開発が進められていたという

松下:GitHubに関する日本語の情報も増えてきていると思いますが、このオープンなAPIを使うためにはGraphQLの技術が必要であると。ただオープンソースソフトウェアであれば、他にも応用ができるということになりますね。

最後にちょっと変わった質問をさせてください。GitHubの普通のエンジニアは普段、どういう生活をしているのですか?

Daigle:私はサンフランシスコではなくコネティカットに住んでいますので、GitHubの仕事は全てリモートで行っています。妻と2人の子供、それにネコがいますので、朝、子供をデイケアに送ってから自宅で仕事をします。その意味ではとても自由な環境ですね。GitHubは様々なスタイルの働き方を許容しているので、世界中にエンジニアがいて非同期に仕事をしている感じです。ただ月曜日はチームのミーティング、水曜日の夕方はJamと称してもっとカジュアルに話をする時間を用意しています。他にもマンスリーで「オープンソースFriday」のような、オープンソースソフトウェアについて情報を交換し合うイベントなども行われています。

全員が顔を合わせる機会がないと、今後6ヶ月に何をするのか? といった長期のことは決められないのでは?

Daigle:そのために各チームではミニサミットと称して、何かのイベントの時に一緒に顔を合わせて話をする機会を作っています。今回のGitHub Universeでも、色々なチームがミニサミットを実施していると思います。そこでちょっと先の計画を立てたりするのです。他にもペアプログラミングをやるなど、どのチームもいろいろと工夫をしています。GitHubのオフィスも拡張して図書館のようなスペースができましたが、だからと言って全員が集まるわけではなく、チームの自主的なやり方に任されています。

GitHubのオフィスはとてもクリエイティブなインテリアで素晴らしく、特に犬にもとても優しいオフィスですが、ネコ好きには不満があるのではないですか?

Daigle:ああ、そうですね(笑)。ネコは歓迎されていないようです(笑)。

APIとマーケットプレイスのエンジニアリングを担当しているというKyle Daigle氏のチームは、これから外部に向けて地味ではあるが大きな貢献をすることになるだろう。特にGraphQLに関しては10月25日、26日の2日間、サンフランシスコにて開かれるGraphQL SummitにGitHubのエンジニアも参加することがすでに発表されている。GitHubとしても、GraphQLの成長を積極的に支援していくという表れだろう。

参考:GRAPHQL SUMMIT SPEAKERS

なおGitHubは、GraphQL Explorerを公開している。ここでGitHubのIDを持っていれば、GitHubからのデータを試すことができる。

GraphQL API Explorer | GitHub Developer Guide

1年後のGitHub Universeで、GitHub社員以外のプログラマーがGraphQLを使ってどんなソリューションを実装しているのか、今から楽しみである。

著者
松下 康之 - 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メルマガ会員のサービス内容を見る

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