イベント
GitHub Universe 2023徹底レポート、今年のテーマは「AI」「Security」「開発者体験」
2023年11月16日 06:15
米GitHubの年次イベント「GitHub Universe 2023」が、11月8~9日(現地時間)に、米国サンフランシスコによる現地開催とオンライン開催のハイブリッド形式で開催された。
会場は2022年と同じイエルバ・ブエナ芸術センターだが、今年は道路を挟んだサンフランシスコ近代美術館(SFMOMA)の一部も使うなど、セッション会場数が増えていた。展示会場スペースとそのブースも増えており、参加者数も多数集め(公式発表で2100人以上)、活況を呈していた。
GitHub Universe 2023の公式サイトでは「今年のテーマ」として、「AI」「Security(セキュリティ)」「DevEx(開発者体験)」の3つが掲げられていた。
初日の基調講演は、すでにレポートしたように、生成AIを前面に押し出していた。一方、2日目の基調講演は、開発者体験を中心に展開された。そしてセキュリティは、両者ともに関連して語られた。
3つのテーマに共通するものは、GitHubが「アイデアからプロダクトまで」にわたって開発ライフサイクル全体を支援するプラットフォームである、というメッセージといえそうだ。
開発者体験、エンタープライズ、コミュニティ&教育を取り上げた2日目基調講演
2日目の基調講演に登壇したGitHubのChief Product Officer、Inbal Shani氏は、「“開発者の幸せ”は開発ツールや開発環境に強く依存する」として、自身のミッションを「最高の開発ツールを作り、GitHubプラットフォームによって開発者一人一人がイノベーションの中心になれるような力を与える」と説明した。
そして、「開発者体験はイノベーションの基礎」として「本日は、GitHubによって開発者や企業が、いかに開発者体験を人類の進歩の中心に位置づけるかについてお伝えする」と語った。そしてその要素として、「ベストの開発者体験を提供する」「企業(enterprise)に力を与える」「よりよい未来を作る」の3つを挙げた。
基調講演からいったん話がそれるが、別途Shani氏にインタビューで話を聞いた。なお氏は、AWSやMicrosoftなどを経て2022年11月から現職に就いている。
氏は、今回の発表内容などについて筆者に説明しつつ、そうしたコンポーネントを一つなぎにして合わせることで、アイデアからプロダクトまでのライフサイクルにわたって支援することを今回の構成で示したと説明した。
また、GitHubはエンタープライズでの採用は進んでおり、スケールする形で開発者体験をよくしていること、さらにそれをAIでレバレッジすることを説明した。
そして、GitHubは開発者プラットフォームのリーダーであり、開発者の生産性を上げるものであること、例えば会議や雑用などで開発にとれる時間が限られる中でも、生産性を上げることで実質的に時間を引き延ばすことができると語った。
開発者体験 - コラボレーション:どこからでもコラボレーション
さて、「ベストの開発者体験を提供する」については、GitHubのVP, Product ManagementのAsha Chakrabarty氏が語った。氏は、開発者体験を向上させ、開発者がゾーン/フロー状態を保つための要素として、「コラボレーションを強化(supercharge)する」「組み込まれたセキュリティ」「アイデアからプロダクトへの流れを加速する」の3つを挙げた。
まずコラボレーションについては、GitHubのサービススイートは、どこからでもコラボレーションできるようにし、より容易に目標を達成できるようにするとChakrabarty氏は説明した。
開発者体験 - セキュリティ:AIによりセキュリティをシフトレフト
続いてセキュリティについては、GitHubのセキュリティ機能をパックにした「GitHub Advanced Security」をChakrabarty氏は取り上げ、ほかのセキュリティソリューションとの違いとして、開発者が使いやすい(easy)ことを挙げた。
そして、初日の基調講演で発表された、「Code scanning autofix」や、「Secret scanning」のAIによる強化を紹介。そのほか、サプライチェーンセキュリティの「Dependency Scanning」や、セキュリティ インテリジェンスの「GitHub Advisory Database」を紹介した。
この分野でもう1つ、組織の全リポジトリのセキュリティリスクをまとめて確認する「Security Overview」について、ダッシュボード機能が新発表された。セキュリティリスクについて時系列でグラフ表示できる。
再び話がそれるが、「Redefining the next decade of cybersecurity: AI-powered security built to empower developers」と題した個別セッションでは、今回発表されたAIによるセキュリティ強化機能について、Chakrabarty氏を含むGitHubのメンバーが解説していた。
背景として説明されたのは、セキュリティと開発スピードを料率するために、セキュリティ対策をシフトレフト(早い段階で対策すること)して、開発段階からプロアクティブ(先取り)で対策することが必要であるということだった。そのために、AIによって開発者とってもより簡単にセキュアにできるようにするという考えだ。
別途、GitHubのVP, Deputy CSO(副CSO)のJacob Depriest氏にも、セキュリティとAIについて、インタビューで話を聞いた。
これからAIがセキュリティをどう変えるかについて尋ねると、Depriest氏は、これまでのシフトレフトでは開発者に多くの作業が発生していたのに対し、AIが副操縦士(copilot)になって手助けすることで、ソフトウェアのセキュリティが大きく改善するだろうと語った。また、開発チームもセキュリティチームも、AIによって繰り返しを減らし、専門的な仕事により時間を使えるようになるだろうとも付け加えた。
開発者体験 - アイデアからプロダクトまで:GitHub ActionsのARMやM1 macOS向けhosted runnerも登場
話を基調講演に戻すと、3つ目の「アイデアからプロダクトへの流れを加速」については、開発環境をクラウド上で簡単に構築できる「GitHub Codespaces」や、CI/CDなど作業を自動化する「GitHub Actions」をChakrabarty氏は取り上げた。
GitHub Actionsで自動化するときに、ビルドなどの動作を実行するマシンをGitHub Actionsから自動操作する。多くの場合は、GitHubの用意した「hosted runners」と呼ばれる環境で動作を実行する。
このhosted runnerについて、ARMアーキテクチャのCPUによる「ARM hosted runner」が発表された(Webでの発表は10月30日)。2024年にリリース予定。
さらに、ARMの一種であるApple Silicon(M1)CPUのmacOSによるhosted runnerが利用可能になったことも発表された(Webでの発表は10月2日)。
エンタープライズ:企業向けの機能強化やEnterprise Server次版を紹介
「企業に力を与える」については、GitHubのVP of Product StrategyのShubha Rao氏が説明。GitHub Enterprise関連について、新発表をまじえて紹介した。
氏は最近の機能や強化として、BitbucketやAzure DevOpsからの移行ツールがGA(一般提供)となったことや、アカウント管理の機能の改善、OktaやAzure ADによるエンタープライズ向けアクセス管理、Repository RulesのGAなどを紹介した。
さらに、GitHub.comにおいて、個人アカウントと企業アカウントといった複数アカウントをサインインしなおさずに切り替えるSwitch account機能が発表された(Webでの発表は10月30日)。
オンプレミスのGitHub Enterprise Serverについては、バージョン3.10が9月にリリースされている。そして、次のリリースである3.11について、ルールセットや、ワンクリックでのCode scanningのセットアップ、新しい管理コマンドライン(CLI)ツールなどが予定されているとRao氏は語った。
コミュニティと教育:GitHub AcceleratorのRound 2を2024年初頭に開始
「よりよい未来を作る」については、GitHubのVP of CommunitiesのStormy Peters氏が、コミュニティや教育などへの取り組みを説明した。
まず、オープンソースプロジェクトへの個人や企業からの寄付を募る「GitHub Sponsors」については、4万2000以上のプロジェクトが利用していることや、GitHub Sponsorsが103地域で利用可能になったことを、Peters氏は紹介した。
また、同様のスポンサーシップのサービスである「Patreon」をGitHubから利用できる機能も最近(10月3日)発表されたことも紹介された。
さらに、オープンソースの開発者やメンテナーにメンターや奨学金を提供する「GitHub Accelerator」についても、第2回である「Round 2」が発表された(Webでの発表は11月20日)。2024年初頭に開始予定。
教育については、GitHubの有料機能などを学生や教師が無償で使える「GitHub Education」をPeters氏は紹介し、「ここにもGitHub Educationな人が来ているはず」と呼びかけた。さらに、GitHub Copilotも学生は無償で使えることを紹介した。
そのほか、身体に障害のある開発者がGitHubを使って活動する様子をインタビューした動画もPeters氏は紹介した。
自然言語からコードを生成、GitHub上でリアルタイムコラボレーション ~R&D部門「GitHub Next」の実験プロジェクトを紹介
GitHub Copilotなどの先進的な機能は、GitHubのR&D部門である「GitHub Next」から生まれた。このGitHub Nextを率いるJonathan Carter氏にインタビューで、GitHub Nextで取り組んでいるプロジェクトについて聞いた話が興味深かったのでご紹介したい。
GitHub Nextは通常のプロダクトに関わる部門とは独立して設けられており、研究と開発を行っている。Carter氏はGitHub Copilotは実験的な試みが世の中で成功したよい例であり、サクセスストーリーだと語った。
GitHub NextのプロジェクトでまずCarter氏が紹介してくれたのが、初日の基調講演で発表されたGitHub Copilot Workspaceだ。GitHubのIssueからAIが実装プランを作成し、人間が手を加えつつ、実装を指示するとコードが自動的に作成される。さらに、そのコードをビルドしてテストし、デバッグするところまでAIが支援し、うまくいったらプルリクエストを作成する。
よくありそうな質問としてCopilot Workspaceは人間の開発者の仕事を奪う可能性はないか尋ねると、人間はよりサービス開発のイノベーティブなことに時間を使えるようになると回答。Copilot Workspaceは、Issueとプルリクエストの橋渡しをAIにアウトソースするものだと説明した。なおCarter氏によると、Copilot Workspaceの開発にもCopilot Workspaceが使われているという。
ほかのプロジェクトとしては「SpecLang」をCarter氏は紹介した。これは自然言語によりアプリケーションの仕様を記述すると、AIによりアプリケーションのコードが生成されるというものだ。プロジェクトの紹介ページには、HackerNewsの人気ポストを表示するクライアントの例が示されており、これはCarter氏によると実際に100%本当のものだという。
SpecLangの紹介ページはちょうどインタビューした会期2日目の11月9日に公開されており、プロジェクトメンバーにはCarter氏自身も含まれている。氏は「私はChief Dogfooding Officer(Dogfoodingは日本語のテック系スラングでいうと“人柱”)だ」とジョークを言った。
そのほか、まだWebには載っていないプロジェクトとして「Realtime GitHub」もCarter氏は紹介した。これは地理的に分散したチームがリアルタイムで共同編集したりできる仕組みだという。
実際にGitHub Next内部ではRealtime GitHubを議事録をとるのに使っているとの話だった。これにより議論のエンゲージメントを上げるとともに、文書をGitHubで管理することで来的にはリポジトリにコンテキストを付与して例えばCopilot Workspaceに意図として与えるようなことにもつながるとCarter氏は説明した。
ちなみにCarter氏の前職はMicrosoftであり、Visual StudioやVS Codeのリアルタイムペアプログラミング機能「Live Share」の開発に携わっていた人物である。
複雑なコマンドをAIが作ったり説明したりする「GitHub Copilot in the CLI」もリリース
細かいネタだが、会期初日の11月8日には、UNIX系OSのコマンドラインのインターフェイス(CLI)において、生成Aにより複雑なコマンドを組み立てたり説明してもらったりするツール「GitHub Copilot in the CLI」も、パブリックベータとしてリリースされた。
GitHub Copilot in the CLIについては、展示会場に常設された「Demo」(ミニセミナー)コーナーで説明とデモをするセッションが2日目に行われ、観客を集めていた。
GitHub Copilot in the CLIは、GitHubの公式CLIクライアントである「gh」コマンドの拡張機能としてインストールできる。それにより、複雑なコマンドを説明してくれる「gh copilot explain」と、複雑なコマンドを組み立ててくれる「gh copilot suggest」の2種類のサブコマンドが使えるようになる。
セッションでは、「chmod -r 777 /」(ちなみに危険なコマンドである)の意味をgh copilot explainで尋ねたり、gitで間違ってコミットしてしまったファイルを取り消すコマンドをgh copilot suggestで教わったりと、いくつもの例を実演していた。