GitHubが目指す開発者とコミュニティの未来
10月16・17日に開催されたGitHub最大のユーザーカンファレンス「GitHub Universe」。2日目のKeynoteでは、前日に発表された新サービス「GitHub Actions」の新たな情報、より詳しい知見を求めて多くの聴衆が耳を傾けた。
最初に登壇したJulio Avalos(Chief Strategy Officer)は、セッションの初めに「開発フローを改善・簡略化しよりコラボレーティブにすることは、開発者のQOLを改善するだけでなく生産性を上げ、より多くの『楽しさ(Fun)』をもたらす」とGitHub Actionsの意義を示し、前日に登壇したJason Warner氏に引き続き開発者ファーストを強調した。
コーディングだけではなく、開発者の全ての体験に貢献するGitHub。ここ数年GitHubは、開発者の生活や仕事を改善するのに何が役立つのか? 開発者は何が好きで、何が嫌いなのか? 開発者本来の情熱やアイデアを邪魔しているものを、どうしたら取り除けるのか? といった疑問を考え続けてきた。
「調査データによると、開発者たちは43%もの時間を、コードを書く以外のことに使っているという。この時間というのは、悪いコードやエラーの修正、メンテナンス作業やデバッグ、リファクタリング、バグを修正するためのWikiでの調べ物や、適切なツール探しなどに費やされている。これは、開発者がやりたいと熱望していることではないし、開発者として従事している目的でもない」(Avalos氏)
こうした開発フローの問題をはじめ、IT業界やソフトウェア開発の現場が直面している問題に対して、GitHubはさまざまな形でアプローチをしている。
その1つとしてAvalos氏は「われわれはテクノロジーに『Humanity(人間性)』を与え続けなければならないと考えている」と話す。ブルックリンのアーティストEartheaterの言葉、"The Internet is handmade.(インターネットは手作り)"を引用し、「インターネットは魔法ではない。誰かの手によって作られたものだが、そのことを意識・理解せずにインターネットを扱っている人が多い」という問題を指摘した。
「自分では理解できない、よく分からないテクノロジーを当てにするようになっています。私たちが日々使っているツールやサービス、テクノロジー企業は、人間が生み出したものだという認識を失ってしまっている。FacebookもGoogle検索もNetflixも(そのコードは)誰かの手によって書かれたのです」(Avalos氏)
だからこそ、サーバーがどのように機能し、Webサイトがどのように動くのか、理解しておく必要がある。Avalos氏は「テクノロジーリテラシーは基本的な公教育の要素となるべき」としたうえで、GitHubの取り組みとして「GitHub Educations」や「GitHub Learning Lab」を紹介した。
また、国際化が進み、GitHubのユーザーの80%がアメリカ国外から来ている一方、Microsoftが直近の1年間で企業では最も多い約8000ものコントリビューションを達成したことを例に挙げ、企業のオープンソースコミュニティへの参加も進んでいると話した。さらに、「別の企業が以前すでに解決している問題に、また一からチャレンジするのはナンセンス。企業のオープンソースの利用は高まっており、それはつまり企業が本来の価値提案に集中できることを意味する」と語る。オープンソースが国や地域だけでなく、企業や組織の壁を越えたコラボレーションを実現することが理想的であるとした。
Alavos氏は以上を踏まえて、「私たちが思い描くこの未来は、GitHubというコミュニティ、そしてそれを作り上げる人々なしでは実現できない。私たちは一緒になって教育しコラボレートし、有望な未来を創る責任がある」と、改めてGitHubのオープンコミュニティとしてのミッションを示した。
「GitHub Actions」で何をする? 先行ユーザーたちの使いどころ
続いて登壇したKyle Daigle氏(Director, Ecosystem)は、GitHub Actionsの誕生の背景について「ばらばらになっている開発者のワークフローの辛さを、解決したかった」と話し、さらにGitHub Actionsは、「ワークフローを構築し、シェアし、さらに自動化する新しい方法。これを使えば普段使っているツールを簡単に統合することができる。他の人が作ったアクションを使うこともできるし、全く新しいものを作成することもできる。完全にワークフローをコントロール可能」だと語った。
GitHub ActionsはGitHub Universeでの発表の2週間前に、オープンソースメンテナーや顧客、パートナーなどのコミュニティメンバーに共有された。そこではよろこばしい反応が得られたとともに、「想定していたGitHub Actionsで実現できることを広げてくれた」という。
Daigle氏は、下記の4つのサービスについて、デモを交えてGitHub Actionsとの組み合わせを紹介した。
Pulumi
「Pulumi」は、インフラをコードとして好きな言語で書けるInfrastructure as Codeのサービス。オープンソースとして無料で利用できる。
デモではコンテナ化されたRuby on Railsのアプリを例に、GitHub ActionsとPulumiを組み合わせることでデプロイのフロー全体を把握できること、自動化して簡単にできることを示した。トリガーとなるアクションを設定することで、スクリプトを記述することなしに、GitHubから自動的にあらゆるクラウドにデプロイが可能になる様子が披露された。ブログとデモ動画(英語ソース)が公開されている。
Twilio
「Twilio」は、WebサービスAPIを使って電話やテキストメッセージの送受信を可能にするサービス。これをGitHub Actionsと連携させたワークフローを、Twilioのチームが作成した。GitHub Actionsで上がったイシューをTwilio経由で通知し、さらにそのメッセージに返信すると、GitHub Actions側にレスポンスが届くというものだ。
Netlify
静的なWebプロジェクトのビルド、デプロイ、管理を行うホスティングサービス「Netlify」。同社がGitHub Actionsを利用して生成したワークフローは、複数のサイトを単一のリポジトリで管理している場合に、変更があったサイトだけにデプロイするといったものだ。
Flic
IoTボタン「Flic」との連携では、IoTボタンを押すことがトリガーとなってワークフローが走る。コマンドラインやキーボードを使わずにワークフローを実行できるのだ。会場の参加者たちには、カンファレンスバッグとともにOctocatの柄のIoTボタンが配られていた。