6月6日、ソフトウェア開発プラットフォームであるGitHubの国内初カンファレンス「GitHub Constellation Tokyo 」が東京都港区海岸にあるTABLOIDにて開催されました 。本稿ではオープニング・キーノートであるJulio Avalos氏のセッションを中心に、イベントの模様をレポートします。
なお、イベントの録画 がすでに公開されています。詳しくはこちらを参照ください。
オープニング・キーノート
最初のセッションは、GitHubのChief Business Officerである、Julio Avalos氏によるオープニング・キーノートです。Julio氏は2012年にGitHubに入社 し、たくさんの開発者とそのコミュニティ、ビジネスパートナーとかかわってきました。
Julio氏ははじめに今回言いたいこととして、現在グローバル市民の立場としてたったときに見える、地政学、ナショナリズム、ポピュリズム、環境、財務といった様々な面で問題に対して、GitHubではこういった問題を機会に変えたいと言います。そして「テクノロジーやソフトウェアの将来を信じ、世界を変えるためにそれらを使っていきたい」「 コミュニティの力を借りて、多くのテクノロジーを力に変えていきたい」と述べました。
オープンなエコシステムを目指してきた
GitHub社は人を大事にしており、それはソフトウェア開発に対しても当てはまります。人がいてはじめて、ソフトウェアが役立つからです。Julio氏は「そのためにはソフトウェア開発がより簡単になり、コミュニティに貢献していくことが大事です。これを実現するために、コードを書くための様々なツールを提供しています。そうして、オープンなエコシステムを構築したい」と言います。
また近年のソフトウェア開発では、オープンなワークフローやエコシステムの採用が増えています。その下支えがオープンなものではなかったとしてもです。このような開発は、人々が集まって開発プロセスを単純化し、コミュニティを活用することが求められます。そのためにあるのがGitHubだと話しました。
あいまいになってきた、プロプライエタリとオープンソースの境界
現在、GitHubにあるリポジトリのうち87%はパブリックですが、プルリクエストが使われているリポジトリのうち79%はプライベートです。また、オープンソース・コントリビュータを持つ上位5つの組織のうち、4つの組織が企業です。このことから、プロプライエタリとオープンソースのソフトウェア開発の境界はあいまいになってきているとJulio氏は言及しました。
GitHubにおけるオープンソース・コントリビュータのもっとも多い組織はMicrosoft です。Microsoftは長年プロプライエタリなソフトウェアを開発している会社でしたが、現在は1万6千人以上のオープンソース・コントリビュータがいます。コントリビュータからの変更の提案やプルリクエストを通して、クローズとオープンの世界の境界線が消えていることが伺えると指摘しました。
こういった企業はコミュニティの勢いを活用しており、21世紀で重要な観点だと言います。そして、才能のある人を雇い、開発費を下げて効率を上げ、ソフトウェア開発やプロジェクトの最適化を行っていくわけです。
GitHub利用の拡大
企業向けのGitHubとしてはオンプレミスで構築できるGitHub Enterprise (現バージョン2.10 )を提供しており、何千もの企業が利用しています。今年3月には、そのホスティングサービスであるBusiness on GitHub.com も始まりました 。後者では、SAMLを使ったシングルサインオン、自動化されたプロビジョニング・デプロビジョニング、保証された連続稼働時間がついてきます。
日本では、たとえば、2012年からヤフーがGitHubを使っています 。大規模運用だったこともあり、GitHub社と連携を取りながら運用してきたと言います。業務以外においても、Git・GitHub初心者向けのイベントPatchwork を開催してきました。Julio氏は「必要な機能を必要なところに届けるとともに、コラボレーションのためのコミュニケーションを重要視している」と述べていました。
KDDIでもGitHubが使われています 。採用の理由として、会社全体でソフトウェア開発の情報を共有できること、それにより重複作業を発生さないようにしたかったことなど、開発の課題を払拭するためだったと言います。また、もともと個人で利用していた環境を社内で使える点や、世界中の人たちとのコミュニケーションなど、開発者のモチベーションにつながることも挙げていました。これは採用という意味でも重要だとしました。
いまではGitHub Enterpriseの顧客のうち10%は日本であり、過去1年で売上が3倍になっていす。2015年には、日本におけるGitHubの利用を拡大していくために、Github Japanもできました 。他の地域のオフィスと一貫性を持たせるために、あらゆる職種の社員を置いたと言います。これにより、日本のビジネスコミュニティに根を張っていきたいと話しました。
また、日本のウェブサイトの訪問ランキングを公開しているAlexa を見ると、GitHub.comは25位に位置しています(注:執筆時に確認したときには22位でした) 。また、日本からのアクセスは18万のDAU(1日あたりの利用者数)がありますし、日本にはOSSのメンテナー もたくさんいます。これらの事柄は、ソフトウェア開発が日本に普及している表れだと指摘しました。
Julio氏は「ソフトウェア開発をよりアクセスしやすいものにしていきたい」と言います。ビジネス的な課題としてはユーザーを増やすことが重要です。しかし冒頭で述べたように、一歩下がってグローバル市民としての立ち位置で考えると、どんな国でも懸念を抱えています。そのため、開発者ではない人がニューエコノミーにどう参画していけばいいのか。そのギャップを埋めていくことが重要だと思っていると話しました。そして「GitHubは将来、ますますアクセスしやすく、コラボレーションしやすくしていきたい。コミュニティの中の人々が中心で、GitHubでやりとりできるのがわれわれのミッション。グローバル市民として多くの人が、こういうことを求めているようになっている」と述べました。
最近公開した機能やサービス
続いて、GitHubが最近公開した、いくつかの新機能を紹介しました。Julio氏は、今後もユーザーの要求を満たしていく上で最善の柔軟性を目指していきたいと話しました。
コードレビューのリクエスト は、コードレビューの過程において柔軟性を高めるための機能です。プルリクエストを特定の人に見てもらいたいときに、簡単に割り当てられるようになります。なお、この背後では後述のGraphQLが使われています。
Projects は、GitHubのプロジェクト管理ツールです。GitHub Organizationsにあるリポジトリすべてのissueやプルリクエストをつなぐことができます。簡単にチームワークを形成して、ワークフローにそって変更することもできます。
Topics は、リポジトリの種別や使っているテクノロジーをリポジトリにラベルとしてつける機能です。これにより、自分の用途にあったものを見つけやすくなりました。検索もできるため、探してくいくこともできます。なお、TopicsではGraphQLが使われています。
そのGraphQL は、新しい方法でクエリAPIを構築できる言語です。複数のRESTリクエストを作るのではなく、シングルコールで情報を取得できます。これまでの開発経験を基づいて作られており、GitHub社のプロダクトはGraphQLが大きな役割を演じることになります。ワークフローの自動化を行う場合に、ベストインクラスのインテグレーションをアプリケーションに対して可能にしてくれくるはずだと話しました。
また、GitHub Marketplace を最近リリースしました。GitHubを使ったワークフローを拡張するツールを掲載しているサイトです。マーケットプレイスのローンチパートナーとしてはCircleCI, Rollbar, Zube, Travis CIなどがいました。今後もツールの数は増えていくとし、開発者が必要としているツールはここから探せるようになり、プロジェクトを改善できるはずだと述べました。
プラットフォームとしてのGitHub
最後に、Julio氏はプラットフォームとしてのGitHubについて話しました。
GitHubでは様々な言語、フレームワーク、ワークフロー、観点で、2,200万の人たちが毎日コードを書いています。そうして作られるソフトウェアは、どのように構築されているのか、どんなバグがあるのかがわかります。たとえば、「 プロジェクトのプログラムのバグにどんなパッチが入っているのか」「 プルリクエストや様々なメソドロジーを通して、どのようにプロジェクトやマーケットで採択されていったのか」などを特定できます。また、コミットの履歴など様々なものを一つひとつ見ることができます。
そういった情報を活用しながら、「 ソフトウェア開発のプロセスをどのように改善するのか。それによって一人ひとりがより簡単にエンジニアとして作業できるようになるのか」が重要だと言います。このことは一から作り直すことを止めることにもつながり、そしてそれはセキュリティの脆弱性の混入を防ぐこと、特許権に抵触しない開発にもつながっていくと話しました。
また、インテグレーションなどを通して、自動化されることから学べるものがあるはずだと言います。「 ソフトウェア開発をより簡単に、よりアクセスしやすくすること」「 できるだけ様々な人に使ってもらうようにするにはどうすれば良いのか」ということです。このことは「経済社会に一人ひとり参画していくなかで、開発者ではない人でも参画していくようになるときに、そのような人たちがGitHubのデータをどのように使えるようになるのか。そこからサイクルの一燃料となっていけるのか」という視点につながり、それを重視していると話しました。サービスを提供しながら、開発者の要求を満たすだけでなく、ビジネスやインテグレータの要求を満たしていこうともしているそうです。
そしてJulio氏は、次のように締めくくりました。
「これからもGitHubのプラットフォームを改善していくことで、最高のプラットフォームとして届けるようにしていきたい。よりアクセスしやすく、インテグレーションをしやすくしていく。目的はソフトウェア開発をより簡単にすること。それによって、よりたくさんの人にアクセスしてもらえるものになる。また、ロードマップ を見てもらえれば、ユーザーや顧客に必要なものをこれからも届けていくのがわかるはずだ」( Julio氏)
他のセッション(BUILDトラック)についても簡単に紹介します。
「LINEにおけるGitHub Enterpriseの活用事例とLINE Notifyについて」
LINEの長谷部良輔氏は、LINE社におけるGitHub Enterpriseの活用と、LINE Notifyの開発体制について発表しました 。LINE社では2012年からGitHubを利用しており現在ではソフトウェア開発になくてはならないものになっていること、LINE NotifyはGitHub Webhookを使ってインテグレーションを行っていることを説明しました。
「効果的にGitHubを使うために -- 開発フロー構築のためのGitHubベストプラクティス」
GitHubの池田尚史氏は、効果的にGitHubを使うためについて発表しました 。企業利用での共通する課題(Organizationsを分けすぎているなど) 、開発フロー構築のためのソリューション、意外と知られていないTipsを取り上げて、それぞれ説明しました。
「The path to GitHub Enterprise success」
GitHubの鈴木順子氏は、GitHub Enterpriseの機能、サポート体制、管理者としてのスキルについて発表しました。日本語のチケットが切られた場合でもきちんと対応できる体制になっていると説明しました。
Customer Panel Discussion 「ソフトウェア開発環境の継続的カイゼン」
GitHubを利用している企業によるパネルディスカッションが行われました。登壇者はヤフーの横山賢太郎氏、富士通研究所の高橋直人氏、サイバーエージェントの岩永翔氏と、司会のGitHubの藤田純氏です(写真を見て右からの順番です) 。各社の開発改善においてGitHubがどのように使われているのかなどを紹介しあいました。
「Mark Compact GC in MRI」
GitHubのAaron Patterson氏は、MRI(CRuby)に適用したマークスイープGCについて発表しました 。マークスイープGCがどのように行われるかを説明した後に、MRIに適用しGitHubが実際に改善されたことを報告しました。
「エンタープライズソフトウェア開発とOSS」
トレジャーデータの中村浩士氏は、エンタープライズソフトウェアと呼べる分野の開発において、OSSを使うことの利点や注意点を発表しました 。注意点として、システム連携時に起きやすいセキュリティ上の問題を挙げて詳しく説明しました。
クロージング・キーノート
クロージング・キーノートは、Women Who Code Tokyo の佐藤紘美氏の発表です。Women Who Codeはグローバルなコミュニティですが国内にはなかったので、行動を起こしてみたそうです。その結果、東京のコミュニティができたと言います。その際に利用したGitHubはベストツールだと話しました。
Cocktail Hour
全セッション終了後に、「 Cocktail Hour」と題した懇親会が開かれました。GitHubの藤田純さんが乾杯の挨拶を行った後は、皆さん交流を楽しんでいました。