GitHub Satellite 2020で多くの新機能を発表:GitHub Discussions、Codespaces、プライベートリポジトリ内のコードセキュリティ

Image of Shanku Niyogi

GitHubには、オープンソースプロジェクトからエンタープライズレベルまで規模を問わず、何千にも及ぶソフトウェアコミュニティが存在しています。今回は、GitHubでも初となるオンラインカンファレンスとして「GitHub Satellite 2020」を開催しました。この場に世界から人々が集い、共通の問題を解決するためのツールを紹介することができました。

先日、GitHubを使用した共同作業において、コストがユーザーの負担にならないよう、GitHubのコア機能を無料で利用できるようにしました。また、開発者がオープンソースで生計を立てられるよう、GitHub Sponsorsの対象国を30か国以上へと拡大させました。モバイルアプリ「GitHub for mobile」リリースし、すでに何十万人もの開発者がこのアプリを使って、あらゆる場所からの共同作業を実現させています。また、世界最大となる開発者のためのエコシステムを構築するという実現に向け、npmをGitHubの仲間として迎え入れました

今回のカンファレンスでは、あらゆるソフトウェアコミュニティの共同作業をサポートするために、4つの新機能について発表しました。

  • Codespaces:GitHub上で開発をすぐに開始することができる開発環境
  • GitHub Discussions: コードベースでの活動の外で、ソフトウェアコミュニティが共同で作業できる新たな方法
  • コードスキャニングとシークレットスキャニング: GitHubでより安全に開発を行えるようにするための機能
  • GitHub Private Instances:厳しい規制をもつ企業ユーザー向けの開発環境

GitHub Satelliteでの発表内容や質問は、こちらのDiscussionsで確認できます

Codespaces:GitHub上で短時間に開発環境を構築するサービス

限定パブリックベータ版としてリリース

開発コラボレーションを始めるには手間がかかります。開発環境の設定がリポジトリごとに異なり、実際にコードを記述するまでにかなりの手順が必要となる場合が、少なくありません。さらに、抱えている2つのプロジェクトの環境が互いに干渉するというケースもあります。Codespacesを使うことで、GitHubから直接、全機能が完備されたクラウド開発環境を瞬時に起動できるため、短時間で開発作業に取り組むことが可能になります。

Codespacesには、コード、依存関係、開発ツール、拡張機能、dotfilesを読み込むことができ、さらに環境の切り替えも簡単です。いつでも環境から離れることができるので、次にその環境に戻ったときにはは、前回の表示が自動的に開いてくれます。

CodespacesはVisual Studioのテクノロジーを利用しており、コードエディタ「Visual Studio Code (VS Code)」ブラウザ版の全機能に加え、コード補完とナビゲーション、拡張、端末アクセスなどにも対応しています。デスクトップIDEを使用する場合は、GitHub上でCodespacesを起動させることで、利用中のデスクトップから接続することが可能になります。

Codespacesの料金プランはまだ決定していませんが、GitHubのコードエディタ機能は今後も無料でご利用いただけます。Codespacesをクラウド環境で使用する場合シンプルな従量制の料金プランを提供する予定です。現在の限定パブリックベータ版での提供期間中は、Codespacesを無料でご利用いただけます。

Codespacesの詳細はこちらをご覧ください

GitHub Discussions:新しい議論の場

近日中にパブリックリポジトリ向けベータ版をリリース予定

ソフトウェアコミュニティは、共同でコーディングしているだけではありません。機能について考えを巡らせ、新規ユーザーに方向性を伝え、最適なソフトウェアの使用方法について共同で研究しています。これまでは、GitHub内でこれらの議論を交わせる場は、IssueとPull requestsに限定されていました。ところが、IssueもPull requestsも直線的な議論ができる場として、コードのマージには適しているものの、コミュニティにおけるナレッジベースを蓄積する場としては適していませんでした。こうした議論を交わすには専用の場が必要であるため、新たな機能としてにGitHub Discussionsを用意しました。

Discussionsは、プロジェクトリポジトリに格納されているため、コミュニティが共同で作業を行っている場所から、そのままアクセスできます。スレッド形式を採用しているので、議論の開始、返答、内容の整理などを簡単に行うことができます。回答済みの質問にマークを付けることで、コミュニティのナレッジベースが自動的に拡大されていきます。Discussionsで交わされる議論は、Issuesのようにクローズされないため、よくある質問などの共有文献を管理する場所としても容易に使えます。コミュニティ内で交わされる議論も、コーディングと同様にプロジェクトへの貢献です。そのため、ユーザーのコントリビューショングラフにDisucussionsでの議論を反映するようになっています。

Discussionsは現在、一部のオープンソースコミュニティによって、ベータ版をテスト中です。まもなく、他のプロジェクト向けにもリリースされる予定です。

DiscussionsでSatelliteに関する情報を検索する

コードスキャニングとシークレットスキャニング:安全なコーディング

新機能のベータ版をリリース

ソフトウェアコミュニティ内でのコラボレーションには、コードを安全に使用し、開発するためのツールとともに、自身によるミスが他者に影響を与えることを防ぐツールが必要です。昨年、GitHubはSemmleの買収を発表し、GitHubの開発ワークフローにコードセキュリティを取り入れました。また、GitHubがCVE採番機関として認定されただけでなく、GitHub Advanced Securityの提供も開始しました。今回、新たにクラウド機能のベータ版を2つリリースし、GitHubの機能を拡張しました。

コードスキャニング: GitHubが提供するネイティブ機能として統合しました。コードスキャニングが有効な場合、git pushコマンドを実行するたびに潜在的なセキュリティの脆弱性が精査され、その結果が直接Pull Requestに表示されます。このコードスキャニングには、実際の脆弱性の検知において他に類を見ない記録を持つ、世界最先端のセマンティック解析エンジン「CodeQL」を使用しています。また、オープンソース向けには本機能は無料で提供し、世界でも極めて重要なソフトウェアのセキュリティを担保します。パブリックプロジェクトであれば、どなたでもベータ版に登録し、利用いただけます。

  • シークレットスキャニング(旧トークンスキャニング): プライベートリポジトリでも利用できるようになりました。この機能は、2018年からパブリックリポジトリ向けに提供されてきました。GitHubは、AWS、Azure、Google Cloud、npm、Stripe、Twilioなどの多くのパートナーと協力し、その対応範囲を拡大させてきました。意図せずに公開されている可能性がある情報が、1千万件以上も検知されていることから、お客様からプライベートコード向けにも同様の機能が求められていました。そのため、プライベートリポジトリ内についても、既知のシークレット形式に基づく情報の存在を監視し、そのような情報が見つかれば、速やかにディベロッパーに通知するように、シークレットスキャニングを強化しました。

コードスキャニングとシークレットスキャニングは、すべてのパブリックリポジトリ向けに無料で提供されています。また、GitHub Advanced Securityにも搭載されました。

プライベートリポジトリでのベータ版に登録する

GitHub Private Instances:コンプライアンスとセキュリティを重視する企業向けの新たなオプション

近日中にリリース予定

企業も、GitHubコミュニティを活用してソフトウェアを開発しています。どれほど厳格なセキュリティやコンプライアンスの要件が課されていたとしても、すべての企業が安心してソフトウェアを開発し、使用できるようにしたいと、GitHubは考えています。本日、企業向けとして新たなフルマネージドのオプション「GitHub Private Instances」について発表しました。GitHub Private Instancesは、Bring-Your- Own-Key(BYOK)型の暗号化、バックアップのアーカイブ、各地域のデータ保護要件への準拠など、セキュリティ、コンプライアンス、ポリシー関連の機能を強化します。

その他の情報

これらの発表のほか、世界各地から50人以上のスピーカーによるセキュリティ、DevOps、共同作業などに関するセッションの内容については、GitHub Satelliteの基調講演の録画をご覧ください。

GitHub Satelliteを視聴する