ニュース

GitHubが新機能を説明、セキュリティや管理だけでなく“スポンサーシップ”機能にも注目

 GitHub Japanは21日、記者説明会を開催した。5月にドイツで開催されたイベント「GitHub Satellite」にて発表された新機能を説明するもので、GitHub本社のデヴォン・ツェーゲル(Devon Zuegel)氏(オープンソースエコノミー担当プロダクトマネージャー)が、セキュリティ、エンタープライズ、コミュニティの3分野に分けて新機能を紹介した。

 冒頭でツェーゲル氏は「自分たちのコードでオープンソースソフトウェア(OSS)のライブラリをインポートするということは、ライブラリの開発者がチームに参加するのと同じようなものだ。コードを書くのは一人きりというイメージがあるが、実際には連携したコミュニティの中にある。そうしたコラボレーションを推進するためのプラットフォームを作っていきたい」と、OSS開発のプラットフォームとしてのGitHubについて語った。

米GitHubのデヴォン・ツェーゲル(Devon Zuegel)氏(オープンソースエコノミー担当プロダクトマネージャー)
セキュリティ、エンタープライズ、コミュニティの3分野に分けて新機能を紹介
OSSのライブラリをインポートするのは、開発者がチームに参加するようなもの

脆弱性のチェックや自動パッチなどセキュリティ関連の機能

 最初はセキュリティ分野の新機能だ。ツェーゲル氏は、広く使われているNode.jsのevent-streamモジュールに、ビットコインを盗むコードを含むライブラリへの依存が追加された事件を例に挙げながら、OSSも安全で信頼がある必要があると語った。

 セキュリティ分野で1つめに紹介された機能は、2017年11月にリリースされたセキュリティ脆弱性アラートだ。GitHubにホストされたコードを自動的にスキャンして、依存関係を確認し、既知の脆弱性が発見されれば警告するというもの。12カ月で約2700万のアラートを送った実績があるという。このセキュリティ脆弱性アラートが、企業のオンプレミスにインストールして使う「GitHub Enterprise Server」でも利用可能になった。

セキュリティ脆弱性アラート。GitHub Enterprise Serverでも利用可能に

 続いて、WhiteSourceとのパートナーシップが5月に発表された。脆弱性のデータベースを持ち、コードを評価できるという。

WhiteSourceとのパートナーシップ

 アラートだけでなく自分たちの状態を確認するために、「ディペンデンシー・インサイト」が提供された。依存先のセキュリティ問題やライセンスなどについてダッシュボードで可視化し、レポートを作成できる。「セキュリティだけでなくコンプライアンスにも有用なツールになる」とツェーゲル氏。

ディペンデンシー・インサイトのダッシュボード

 プロジェクトのセキュリティポリシーを示す文書ファイル「SECURITY.md」が、「README.md」と同様に、GitHub上でレンダリングされて表示されるようになった。

 セキュリティポリシーという意味ではそのほか、Organization配下の全リポジトリに自動適用されるセキュリティポリシーを作成できるようになっている。

SECURITY.mdがGitHub上でレンダリングされて表示されるように

 メンテナー用セキュリティアドバイザリ(β版)は、脆弱性に遭遇したときに、メンテナーだけが参加して対話してパッチを作成できる非公開のワークスペースだ。

メンテナー用セキュリティアドバイザリ

 脆弱性に対するパッチ適用の問題もある。70%の脆弱性は発見されて1カ月以上パッチが適用されない、という調査結果をツェーゲル氏は紹介した。そこで5月に発表されたのが、Dependabot社の買収だ。Dependabotの技術では、脆弱性に対するパッチのプルリクエストを自動的に作成する。具体的には、コードが依存しているライブラリをチェックし、そのライブラリに脆弱性が発見されれば、問題ないバージョンに依存するようにパッチを作成するという。

Dependabotがパッチのプルリクエストを自動作成

エンタープライズ向けにより細かい管理機能を追加

 続いて、エンタープライズ分野の新機能だ。

 1つめは、エンタープライズアカウントの機能。企業の使っているすべてのOrganizationをグループ化して管理するアカウントとなる。

エンタープライズアカウント

 2つめはインターナルリポジトリの機能(β版)だ。これまでリポジトリの公開設定はPublic(公開)とPrivate(非公開)の2種類のみだったが、それにInternal(インターナル)が加わった。Internalでは、自社の開発者のみに公開される。

インターナルリポジトリ

 3つめは、新たなロールとパーミッション(β版)だ。これまでリポジトリのアクセス権限は、read、write、adminの3段階だった。そこに新たに、readとwriteの間に「triage」が、writeとadminに「maintain」が新しく追加された。triageは、write権限はないがissueに対応できるもので、maintainは、ほぼadminと同じだがリポジトリ削除などの危険な権限はないものだという。

新たなロールとパーミッション

 4つめは、オーガニゼーションインサイト(β版)だ。企業内において、GitHub上でどのようなコラボレーションが行われているか、ワークフローのどの部分に時間を使っているか、などを把握できるという。「まだ始まったばかりの機能だが、ライフサイクルのダッシュボードを作りたい」とツェーゲル氏は語った。

オーガニゼーションインサイト

開発者にGitHubから寄付できる「GitHub Sponsors」

 コミュニティの分野では、新たに「GitHub Sponsors」(β版)と「GitHub Sponsors Matching Fund」が発表された。

 GitHub Sponsorsは、オープンソース開発者にGitHubサイトから寄付できる機能だ。ツェーゲル氏は、バンクーバー在住のPythonコア開発者のMariatta氏を例に説明した。「Sponsor」ボタンをクリックすると、自分がやっていることを説明したスポンサーシップのページが表示され、寄付のコースを選べる。ちょうど、クラウドファンディング型寄付サイトのPatreonがGitHubに内蔵されているような感じだ。そして、Mariatta氏のグラフ表示から、ツェーゲル氏がスポンサーとして表示されているところを示した。

 ツェーゲル氏によると、1カ月たってちょうど寄付のお金が振り込まれたタイミングなので、Twitterで「振り込まれた」といった報告が盛り上がっているところだという。

GitHub Sponsorsの発表
スポンサーシップを受ける開発者の申し込み
プロフィール画像の下に「Sponsor」ボタンが表示される
スポンサーシップのページ

 また、GitHub Sponsors Matching Fundは、GitHub Sponsorsに関連した基金だ。初年度は、GitHub Sponsorsで受けたスポンサーシップと同じ額が、GitHub Sponsors Matching Fundから開発者に与えられるという。

GitHub Sponsors Matching Fund

 「いままでプロジェクトに貢献するのはコードしかなかったが、GitHub Sponsorsにより、お金でも貢献できるようになる」とツェーゲル氏。「これはシンプルなことだが、大きな目標がある。開発コミュニティとオープンソースを拡大していくことを目指している」。