ニュース
GitHubが新機能を説明、セキュリティや管理だけでなく“スポンサーシップ”機能にも注目
2019年6月25日 06:00
GitHub Japanは21日、記者説明会を開催した。5月にドイツで開催されたイベント「GitHub Satellite」にて発表された新機能を説明するもので、GitHub本社のデヴォン・ツェーゲル(Devon Zuegel)氏(オープンソースエコノミー担当プロダクトマネージャー)が、セキュリティ、エンタープライズ、コミュニティの3分野に分けて新機能を紹介した。
冒頭でツェーゲル氏は「自分たちのコードでオープンソースソフトウェア(OSS)のライブラリをインポートするということは、ライブラリの開発者がチームに参加するのと同じようなものだ。コードを書くのは一人きりというイメージがあるが、実際には連携したコミュニティの中にある。そうしたコラボレーションを推進するためのプラットフォームを作っていきたい」と、OSS開発のプラットフォームとしてのGitHubについて語った。
脆弱性のチェックや自動パッチなどセキュリティ関連の機能
最初はセキュリティ分野の新機能だ。ツェーゲル氏は、広く使われているNode.jsのevent-streamモジュールに、ビットコインを盗むコードを含むライブラリへの依存が追加された事件を例に挙げながら、OSSも安全で信頼がある必要があると語った。
セキュリティ分野で1つめに紹介された機能は、2017年11月にリリースされたセキュリティ脆弱性アラートだ。GitHubにホストされたコードを自動的にスキャンして、依存関係を確認し、既知の脆弱性が発見されれば警告するというもの。12カ月で約2700万のアラートを送った実績があるという。このセキュリティ脆弱性アラートが、企業のオンプレミスにインストールして使う「GitHub Enterprise Server」でも利用可能になった。
続いて、WhiteSourceとのパートナーシップが5月に発表された。脆弱性のデータベースを持ち、コードを評価できるという。
アラートだけでなく自分たちの状態を確認するために、「ディペンデンシー・インサイト」が提供された。依存先のセキュリティ問題やライセンスなどについてダッシュボードで可視化し、レポートを作成できる。「セキュリティだけでなくコンプライアンスにも有用なツールになる」とツェーゲル氏。
プロジェクトのセキュリティポリシーを示す文書ファイル「SECURITY.md」が、「README.md」と同様に、GitHub上でレンダリングされて表示されるようになった。
セキュリティポリシーという意味ではそのほか、Organization配下の全リポジトリに自動適用されるセキュリティポリシーを作成できるようになっている。
メンテナー用セキュリティアドバイザリ(β版)は、脆弱性に遭遇したときに、メンテナーだけが参加して対話してパッチを作成できる非公開のワークスペースだ。
脆弱性に対するパッチ適用の問題もある。70%の脆弱性は発見されて1カ月以上パッチが適用されない、という調査結果をツェーゲル氏は紹介した。そこで5月に発表されたのが、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 Matching Fundは、GitHub Sponsorsに関連した基金だ。初年度は、GitHub Sponsorsで受けたスポンサーシップと同じ額が、GitHub Sponsors Matching Fundから開発者に与えられるという。
「いままでプロジェクトに貢献するのはコードしかなかったが、GitHub Sponsorsにより、お金でも貢献できるようになる」とツェーゲル氏。「これはシンプルなことだが、大きな目標がある。開発コミュニティとオープンソースを拡大していくことを目指している」。