イベント
ハイブリッドで開催されたGitHub Universe 2022、CEOによる初日基調講演や2日目の事例講演などをレポート
2022年11月18日 06:15
GitHubは米国時間11月9~10日に、年次イベント「GitHub Universe 2022」を、リアルイベントとオンラインを併用して開催した。今回のテーマは「Let's build from here」。
リアルイベントの会場は、サンフランシスコ市内のYerba Buena Center For The Arts(イエルバ・ブエナ芸術センター、YBCA)。大規模カンファレンスで使われるMoscone Centerに隣接した公園Yerba Buena Gardensの一角であり、サンフランシスコ近代美術館(SFMOMA)の向かいでもある。ちなみに、YBCAは日本人建築家の槇文彦氏の設計による。
カンファレンスは通常のホールのほか、屋外にもフェスのようなステージが常設されるなど、遊び心のある趣向で行われた。
Thomas Dohmke氏:開発者が使うものがベストで幸せなものであるべき
初日の基調講演では、2021年11月にCEOに就任したThomas Dohmke(トーマス・ドームケ)氏が登場した。
Dohmke氏は冒頭で「I'm Thomas, and I'm a developer(私はThomas、私は開発者)」と名乗った。また、子供のころにはBASICを使い、大学ではSUSE LinuxとEmacsを使っていたこと、そしてエンジニアとしての職歴を紹介した。
そうした過去に比べ、「インターネットとオープンソースがエンジンとなって、すべてが変わった。オープンソースが世界の力の源となっている」とし、大小を問わず企業がGitHubを使い、コミュニティとともに大きなアイデアから新しいものを生み出していると語った。
GitHubがソフトウェア開発者の活動をまとめたレポート「Octoverse」では、10年前には開発者数が280万人だったが、今は9400万人に成長したことをDohmke氏は紹介し、会場の喝采(かっさい)を浴びた。そして、GitHubが大きくなっても、より大きな変化を続けていると述べた。
氏はMark Andreesen氏の有名な「Software is eating the world」(ソフトウェアが世界を飲み込んでいる(世界がソフトウェアで動いている))という言葉をもとに「この数年で、世界は今でもソフトウェアに飲み込まれ続けていることが皆にわかった」と語る。
そのうえで「ソフトウェアを作り(build)、動かし、メンテナンスすることが、これまでになく複雑になっている」と指摘。一方で、セキュアで、早く、1日に100回も作り、それを毎日繰り返すことが開発者に求められているとも語った。
それに対してDohmke氏は、「今は開発者体験の変革のとき」として、「開発者が使うものがベストで幸せなものであるべき」だと主張。そこから、新しいツールやサービスの発表につなげた。
なお、基調講演でアナウンスされた新機能については、本誌で既報の記事を参照されたい。
インタビュー取材での話によると、Thomas Dohmke氏はドイツ出身。モバイルアプリのテスト版配布やクラッシュレポート収集のサービス「HockeyApp」を開発し、それが2014年にMicrosoftに買収されたことで、Microsoftに入社した。そのときに上司だったのがNat Friedman氏で、2018年にFriedman氏がGitHubのCEOに就任するときに、誘われていっしょに入社したとのことだった。
GitHubではVP of Strategic Programとして、Dependabot(依存ライブラリの更新を自動的にプルリクエストするサービス)や、Semmle(CodeQLを含む脆弱性診断ツール)、npm(Node.jsのパッケージマネージャー)の買収にも携わった。そして2021年にCEOのオファーを受けて就任した。
Dohmke氏は、GitHub Universe 2022でリアル開催が復活したことについて、「開発者が直接会うのは、励みになるし、エキサイティングだ。セッションを聞くだけでなく、開発者同士で話して人脈を広げられる」と語った。
余談となるが、Dohmke氏がGitHubやTwitterなどで使っている「ashtom」という名前の由来について尋ねたところ、「Thomas」のアナグラムだと図を描いて教えてくれた。そのほか、基調講演で「I'm a developer」と名乗ったことについて、今でもコードを書いているかと尋ねると、日々の運動の結果を自動的にGitHubにアップロードするプログラムなどを書いていることをうれしそうに語るなど、いい意味でギークな部分を持ったCEOだと感じた。
難民支援からジェイムズ・ウェッブ宇宙望遠鏡までのOSS活用事例
2日目のオープニング講演では、「From right here, right now, to galaxies far away」と題して、OSSやGitHubが社会貢献や科学に利用されている例を、GitHubのVP of CommunitiesのStormy Peters氏が紹介し、「皆さんのコードが1行から世界を変えられる」と語った。
ウクライナ難民などの難民支援をしているノルウェーの「Norwegian Refugee Council(NRC)」は、人や物、事件、レポートなどに関するデータを管理するためのシステムをPythonで内製開発しており、ソースコードをGitHubで共有している。
壇上に登場したNRCの開発者のBen McAlindin氏は、Pythonのライブラリやツールなどのオープンソースエコシステムに助けられていることを紹介した。また、データからの洞察や資金分配の部分でローコードのワークフローを採用しており、GitHub Copilotも大きな助けになるだろうと語った。
2つめの事例は、WHO(World Health Organization、世界保健機関)が設立したOpen Source Program Office(OSPO)だ。OSPOとは、企業や組織におけるOSSの利用やコミュニティとの関係などを監督する部門を意味する。国連の組織の中でOSPOを設けるのはWHOが初めてで、設立にあたってはGitHubも支援したという。
壇上には、WHOのOSPOのリーダーであるSam Mbuthia氏が登場した。氏はもともとケニアでソフトウェア開発者としてOSSを活用し、医療関係のソフトウェアを開発するNPOに参加する中で、オープンソースのツールやコミュニティの価値について学んだという。
Mbuthia氏はWHOにおけるOSSの長所として、同じツールが多くの医療組織に広がることや、オープンソースコミュニティによる改善などを挙げ、さらに組織間のコラボレーションが新型コロナ禍における情報共有にもつながったと語った。また、GitHub Discussionsで人々が声を上げたり助けあったりしていることも紹介した。
3つめの事例は、映画業界のOSS開発を会社を超えて推進するASWF(Academy Software Foundation)だ。ASWFはThe Linux Foundation傘下の組織である。
動画で登場したIL&MのR&D SupervisorのRachel Rose氏は、映画のさまざまなCG効果を製作している様子をバックに、業界で使われているOSSツールの標準化や、使われているOSSツールの質と量の向上など、ASWFの意義を語った。
4つめの事例は、ロボットの分野と、その標準プラットフォームRobot Operating System(ROS)、そしてROSの上のマニピュレーター制御ライブラリMoveItが紹介された。
壇上にはMoveItを開発するPickNik RoboticsのCEOのDeve Coleman氏が登場した。氏は学生時代のインターンのときに、ロボット業界がROSやMoveItをはじめとするOSSに支えられていることを知り、やがてMoveItをOSSとしてGitHubで公開することになったと語った。
Coleman氏は壇上で実際にロボットマニピュレーターを操作。マニピュレーターに付けられたカメラの映像や、おもちゃのラバーダックを器用につまみ上げるところを見せた。
最後の事例は、ハッブル宇宙望遠鏡やジェイムズ・ウェッブ宇宙望遠鏡などを運用するSTScI(Space Telescope Science Institute:宇宙望遠鏡科学研究所)だ。
動画で登場したSTScIのCamilla Pacifici博士は、宇宙望遠鏡がとらえた宇宙の映像を紹介。そして、ジェイムズ・ウェッブ宇宙望遠鏡のデータを処理する「JWST Science Calibration Pipeline」をOSSとして開発したことを紹介した。特定のケースで十分ではない部分について、パッチなどを送ることができるという。
そのほかPeters氏は、ブラックホールを撮影したイベントホライズンテレスコープでOSSが使われていることや、LinuxとOSSを搭載した火星探査機Perseveranceなどを紹介して、「オープンソースの未来は明るい」と締めくくった。
Stormy Peters氏はコミュニティ担当として、ユーザーが開発者に寄付できる「GitHub Sponsors」や、今回発表された「GitHub Accelerator」「GitHub Fund」なども担当している。インタビューで、Peters氏はこうした取り組みについて、「個人開発者などを金銭面で支援することにより、ソフトウェアが安全でセキュアになれば、企業にとっても喜ばしいこと」と説明した。
また、教育分野では大学でコンピュータサイエンスを学ぶ学生などの支援も担当している。そのプログラムである「Campus Expert」に選ばれた学生の作品として、Peters氏が下げていた“Gamable”な名札も見せてくれた。マイコンを内蔵してプログラムを動かせるという。
コマンドラインや、コードの修正、プルリクエストにもCopilotの技術が応用
今回のGitHub Universeで披露されて広く話題となったものに、GitHub Copilotの技術により音声による指示でプログラミングできる「Hey GitHub!」がある。Hey GitHub!は、GitHubの中で次世代技術を開発するGitHub Nextチームによる実験プロダクトだ。
こうしたGitHub Nextの実験プロダクトについて、GitHubのVP of Strategy & Chief of Staff to the CEOであるKyle Daigle氏が「Building with :heart: How GitHub creates, innovates, and builds for the future」と題した講演で紹介した。
まず「GitHub Copilot CLI」は、Copilot的な自然言語による記述からコマンドライン操作を実行するものだ。コマンドラインで「?? list ts files」を実行すると、該当する操作の中から、findコマンドで*.tsファイルを表示するコマンドを実行できる。サブコマンドやオプションが複雑なgitコマンドについては、「git? delete a branch」で該当する操作を実行できる。GitHubをコマンドライン操作するghコマンドも、「gh? list open issues on tailwindlabs/tailsindcss」のように実行できる。
「GitHub Copilot Labs extension」は、コードを自動修正するVSCodeのプラグインで、Daigle氏は「フォトレタッチソフトのブラシのようなもの」と説明する。ソースコードの一部を選択し、より読みやすい形に書き換えたり、変数名の間違いのような簡単なバグを修正したり、JavaScriptのコードをTypeScriptに変換したりできる。デモ動画ではそのほか、HTMLのフォームの記述部分を選択して、「makes this form more accessible」と指示することで、アクセシビリティを考慮したHTMLに書き換えるところも見せた。
「AI for Pull Requests」は、GitHubのプルリクエストをCopilotのように自然言語から作るものだ。デモ動画では、プルリクエストのタイトルに「Replace TensorFlow with Pythorch」入力し、コメント本文に「/prbot how」と投稿すると、タイトルの内容に該当する一般的なコード例がボットにより投稿される。さらに「/prbot suggest」と投稿すると、リポジトリのコードを調べて変更個所を割り出し、プルリクエストが作られる。さらに、「/prbot describe」と投稿すると、そのプルリクエストの説明が作られる。
Kyle Daigle氏はインタビューで、こうした機能について、CEOのThomas Dohmke氏による基調講演の言葉から「開発者の幸せ」のためのものだと説明。例えばCopilotによって人間の書くコードが少なくなったぶん、人間はイノベーションに専念できるのだと語った。
Daigl氏は「今回のGitHub Universeで新しいエクスペリエンスのマイルストーンが示され、これまででベストなGitHubとなっていると思う」と語った。
非公開で脆弱性を報告する機能でOSSをよりセキュアに
また大きな発表の1つに、「Private vulnerability reporting(プライベートな脆弱性レポート)」がある。脆弱性を発見したセキュリティ研究者が、非公開な形でプロジェクトに報告できる機能だ。
GitHubのVice President of ProductのGrey Baker氏はインタビューで、この機能について、OSSをよりセキュアにするものであり「realy love」だと語った。
Baker氏は、現在では多くの企業がOSSを使っているが、OSSのセキュリティを保つのはメンテナーにとっては簡単ではないと指摘する。そしてOSSのメンテナーの仕事をできるだけ簡単ににするのがGitHubの役割であり、脆弱性データベースなどを提供していることを紹介。そのうえで、Private vulnerability reportingは以前から欲しいと思っていたが、メンテナーとセキュリティ研究者との調整に時間がかかったと説明した。
また今回のGitHub Universeでは、コードの脆弱性をSQL風のクエリで調査できるCodeQLにおいて、プログラミング言語RubyのサポートがGA(一般提供開始)となった。GitHubは最初Ruby on Railsで開発されたサービスであり、Rubyは重要な言語であるはずだが、なぜ今になったのかを質問してみた。
Baker氏は、CodeQLはSemmle社の買収によってGitHubに加わった技術であって、その時点ではRubyに対応していなかったことや、コードの静的解析による脆弱性診断で新しい言語に対応するには、その言語に対する深い理解が必要になったことから時間がかかったと答えた。なお、次はCotlinやSwiftを予定しているという。
今後のセキュリティ関連の機能の予定としては、プルリクエストやイシューへのセキュリティスキャンや、シークレットスキャン(コード中に書かれてしまったアクセスキーなどの秘密情報を検出する機能)をより使いやすくすることをBaker氏は紹介した。
氏は最後に、GitHubはセキュリティが開発の通常の部分であるよう、開発者にとって簡単なものにしていくと語った。
コンピュータサイエンス教育でもCodespacesが採用
また、今回のGitHub Universeで注目を浴びた発表の1つとして、クラウド上のIDEおよび開発環境「GitHub Codespaces」において、個人ユーザーが1か月に最大60時間まで無料で利用できるようになったことがある。
インタビューしたGitHub VP, Product ManagementのJeremy Epling氏によると、GitHubでもGitHub Codespacesを使って開発しているという。GitHub Codespacesにより同じ開発環境をすぐに構築できるため、新しいプロジェクトに参加したりほかのプロジェクトに助けに入ったりするのが簡単になるとのことだった。
コンピュータサイエンスなどの教育においてもGitHub Codespacesの利用事例が増えているとEpling氏は紹介した。今回のGitHub Universeでもハーバード大学のコンピュータサイエンスのクラスでの事例を紹介するセッションも行われている。最近ではJupyter Notebooksのサポートや、GPUサポートが整備され、データサイエンティスト教育にも使われていることも氏は語った。
Epling氏は、GitHub Codespacesをはじめとして、コーディング、ビルド、CI/CD、セキュリティなど、GitHubではソフトウェア開発のための機能がそろってきてエキサイティングだと言った。そして、GitHub CopilotやCodeSpacesのGPUサポートなど、AIにより大きな変化が起きていると語った。