MatsushitaTweetGitHubのCTOにインタビューを行い、正式版となったActionsとPackagesの背景にある思想を訊いた。2019では、ActionsとPackagesがともに正式版としてアナウンスされるという華々しい幕開けとなった。Warner氏にインタビューを行った。昨年のUniverseの時の肩書はまだVPであったが、今回は2019年11月にCTOという新たな肩書になったばかりという時点でのインタビューとなった。今回はActionsとPackagesがベータ版から正式版になりました。Actionsは昨年のUniverseに発表され、大きな反響を呼びましたが、今回Packagesが一緒にアナウンスされた意味を教えてください。Warner氏GitHubにとってActionsというのは、ソフトウェア開発を行う際のワークフローとして重要な意味を持っています。昨年「ActionsはCI/CDツールなのか?」という質問を多くいただきました。あなたからもそういう質問をしていた記憶があります。当時私は「ActionsはCI/CDツールでもあり、そうでもない」という回答をしたことを覚えていますが、それは変わっていません。ActionsはCI/CDのツールであるよりも、もっと大きな意味を持っていると言いたいと思います。Warner氏のインタビューその意味を教えてください。Actionsは、デベロッパーを中心に考えるGitHubのさまざまな機能を繋げる役割を担っています。ソースコードを書いてソフトウェアを開発するという仕事の中でActionsは、いろいろな機能を繋げる糊の役割を果たすのです。いう質問には「Actionsはそれよりももっと大きなモノです」という回答になるわけです。CI/CDはActionsが果たす機能のうち、バーティカルなソリューションに過ぎません。Actionsはもっと大きな部分をカバーすると言えます。一つ別の言い方をすれば、ActionsはGitHubが造る宇宙船なのです。宇宙船の中の椅子や部屋というパーツはそれぞれが別々のものですが、それらの個別のパーツを徐々に良くすることで宇宙船自体が快適なものになります。宇宙船ですから、他の椅子やパーツを使いたいという人もいるでしょう。いう人のために、TravisやJenkinsなどを組み込むことができるようになっています。いう質問をしたことがあります。そのユーザーはArtifactのキャッシングが基本機能として備わっていることがCircleCIを使う大きな理由であると言っていました。今回のActionsにもArtifactのキャッシング機能が付いています。キャッシング機能は実装されています。これはCI/CDのツールベンダーと競争しているというよりも、ユーザーが欲しいと思う機能を順に実装している、というようにとらえてください。我々はユーザーが必要としているツールを提供したいと思っています。そのために、常にユーザーの声を聞いています。同じジャンルのツールを作っているベンダーが持つすべての機能を実装するというのではなく、ユーザーの欲しいものを開発する、そしてユーザーに選択肢を与えているということです。いずれにせよ、同じ目的を果たすツールはある程度は共通の機能を持つようになります。新しいベンチャーや野心的なデベロッパーがまったく新しい独創的な機能を実装することがあるかもしれませんが、GitHubがそういうことをするとは思えません。ActionsはCI/CDに限らず他のツールとの連携を実現するものであるというのはわかりました。ソースコードのリポジトリーではなくイメージのリポジトリーであるPackagesは、JFrogと直接競合するものでは?ショーケースで大きな面積を占めていたCircleCIのブースPackagesもGitHubが考えるデベロッパー中心のワークフローを実現するという発想から出てきた製品になりますが、ソースコードを書く、そこからイメージのビルド、テスト、そして配置という流れの中でイメージのリポジトリーが必要であるということから開発が進みました。大きな視点でソフトウェア開発を眺めてみれば、最初のプランニングか始まってソースコードを書く段階、そしてビルド、テストと進んでいくわけです。その際にCI/CDは必要なプロセスですし、その成果物を収めるリポジトリーも必要なわけです。PackagesもGitHubの発想ではGitHubが開発して用意することは当然ですが、もちろんユーザーは選択の自由があります。我々のイメージリポジトリーはまだ最初のバージョンですから、すべての機能で同様のツールを作っているベンダーと並んでいるとは言えないでしょう。そこで、ユーザーがすでに使っているツールをActionsに組み込んでワークフローを利用することは可能ですし、それはこれまでと同じです。実際には多くの機能がActionsやPackagesに実装されることで、CircleCIやJFrogのビジネスを殺すことになりませんか?地味なブースのJFrog私はそうは見ていません。どのツールもある程度の共通部分があるのは仕方ないことでしょう。それはユーザーが求めている機能ということでもあります。ActionsもPackagesも、ある程度は既存のツールと共通の機能を持つことになると思います。ユーザーは、ツールを選ぶ自由があるということになります。SonatypeのブースGitHubには機械学習チームがありますが、そのチームを使ってもっとインテリジェントな機能をCI/CDに組み込むことで差別化を行おうという計画は?我々の機械学習チームは、さまざまなソフトウェアの中に機械学習の機能を追加しています。コードサーチにもセキュリティの機能にも組み込まれています。多くの機能の中に組み込まれているために、ある機能だけを機械学習だからといって強調することがないくらいには利用されていますよ。クラウドネイティブなシステムが拡がっていくなかでコンテナ化、マイクロサービス、そしてKubernetesがモダンなプラットフォームとして注目されています。GitHubとしてはそこにもっと注力するべきでは?マイクロサービスもKubernetesも大きな流れとしては理解しています。ソフトウェア開発をもっと大きな視点で見れば、マイクロサービスだけがデザインパターンではないのです。当然ですが、まだモノリシックなソフトウェアを開発しているデベロッパーもいますし、すべてがマイクロサービスになる必要もないのです。ひとつ言えば、GitHubのソフトウェアの将来について考える際に、私は常に未来を見てそこから逆算するというやり方をしています。するとソースコードリポジトリーだけではなく、Packagesのようなイメージリポジトリーも必要ですし、セキュリティも重要になります。他にもテレメトリーやログ、トレーシングも重要になるでしょう。2019年9月に発表したSemmle(コード分析プラットフォーム)の買収も、これからの製品の将来を考えると理に適っています。それの回答の一部がPackagesだと思いますが、他にも拡張の予定は?昨年のインタビューでも、「デベロッパー以外の職業の人たちにもGitHubを使ってもらいたい。そのための何をするべきか?」という話をしましたね。これも逆算の発想ですね。GitHubにはそうなるポテンシャルがあると信じていますし、この世の中で最もクールなソフトウェアカンパニーになれると思っています。なるためには、信念とそれに沿った製品が必要です。最悪のパターンはソースコード用の製品とソースコード以外のための製品、つまりデベロッパー以外の人が使う製品があって、それぞれにコネクターがあって接続する、というような方法ですね。これは最悪のパターンです。なくて、すべての人が一つのプラットフォームの上で仕事をする、コラボレーションする、というやり方が大切です。そのためにはまだ多くのことを実装する必要があります。今のところ思いつくのは、ソフトウェア開発で言えば最も初期の部分、つまりソフトウェアを企画する部分の機能と、最終的にソフトウェアをデプロイした後の運用の部分ですね。そこをカバーするべきだと思っています。プランニングの部分はソフトウェアのデザインのフェーズだと思いますので、そのところからアイデアの共有やコラボレーションが生まれるのは必要だと思います。最後の運用の部分はもうデベロッパーの領域を超えてインフラストラクチャーの部分では?しかしそれも含めてソフトウェアが成り立っているのであれば、そこはカバーするべきでしょう。Codeとも関係していきますが。するとカオスエンジニアリングなども視野に入ってくるのでしょうか?カオスエンジニアリングについても重要な領域だと思いますが、製品として成り立つにははまだ少し早いかなと思います。Universeでは「ActionsはCI/CDか?」という質問が多くのメディアから出されて多少辟易としていた風のWarner氏であったが、今年はActionsとイメージリポジトリーのPackagesが正式版となったこともあって多分にリラックスしていたように見られたインタビューとなった。CI、JenkinsのCloudBees、JFrog、Sonatypeなどが出展していた。GitHubから見ると、彼らは競合でもありエコシステムのパートナーでもあるという微妙な関係性であり、これらの競合他社に対して、GitHubが気を遣う場面を何度も見かけたことが印象的であった。この著者の記事一覧フリーランスライター&マーケティングスペシャリスト。DEC、マイクロソフト、アドビ、レノボなどでのマーケティング、ビジネス誌の編集委員などを経てICT関連のトピックを追うライターに。オープンソースとセキュリティが最近の興味の中心。開発ツールイベント第7回GitHub、エンタープライズ向けのイベントを国内で開催。2019の内容を受けて、GitHubはエンタープライズ企業向けのミニカンファレンスを東京で開催した。Lawson氏へのインタビューをお届けする。Desktopの新バージョンについて、開発責任者にインタビューを行った。Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。HatのAnsibleのAPACリーダーにインタビュー。Universe開催。Universe開催。Satellite都内で開催。ITがお届けするポッドキャストです。