GitHub は本日、ソフトウェア開発者がさまざまなプログラミング言語向けのパブリックまたはプライベート ソフトウェア パッケージを公開および管理できるようにするサービスである GitHub Package Registry を導入します。
ソフトウェアパッケージとは、アプリケーション開発者に特定の機能を提供するコード、スクリプト、その他のリソースの集合体です。Docker(Dockerイメージ)、Maven(Java)、NPM(JavaScript)、NuGet(.NET)、RubyGems(Ruby)など、様々なプログラミング言語に対応したパッケージレジストリやパッケージ管理ツールを提供する、コミュニティ主導の組織や企業が既に存在します。
GitHub Package Registryは、これらのサービスに関連するパッケージ管理クライアントをサポートします。GitHubのオープンソース製品管理ディレクターであるブライアン・クラーク氏は、数時間前にThe Registerとの電話インタビューで、既存のレジストリを補完することを目的としていると述べました。
ただし、開発者が既存のレジストリ操作に不信任票を投じたい場合は、パッケージを GitHub にのみアップロードするという選択肢があります。
NPM Inc.の最近のレイオフに対するJavaScriptコミュニティの不満を考えると、このような選択的なパッケージ配布は、Twitterのパロディアカウントを超えて不満を表明する手段となる可能性があります。NPM Inc.は、何百万人ものプログラマーがパッケージをダウンロードしてアプリに組み込むために使用しており、そのnpmクライアントは広く使用されているNode.jsのデフォルトのパッケージマネージャーです。
「この分野では多くの価値を提供できますし、それは顧客がずっと求めていたことでもあります」とGitHubのクラーク氏は語った。
この価値には、パッケージの使用状況に関する統計データ、GitHub の ID および権限システム、GitHub の検索、閲覧、管理ツールが含まれます。GitHub は、Webhook や GitHub Actions を介したプログラムによるワークフローを可能にする自動化ツールも提供しています。
以下は、NPM Inc の JavaScript レジストリではなく、GitHub パッケージ レジストリで npm クライアントを使用する方法を示すスクリーンショットです。
GitHubは、脆弱な依存関係に対するセキュリティアラートを通じて、ソフトウェアパッケージのセキュリティを向上させる立場にあります。クラーク氏によると、マイクロソフト傘下のGitHubは、今月下旬にドイツのベルリンで開催されるSatelliteカンファレンスにおいて、パッケージレジストリに関するセキュリティに関する発表を行う予定です。
GitHub Package Registryは他のレジストリを補完する可能性がある一方で、エンタープライズ顧客にとっては大きな競合となる可能性があります。企業は、ソースコードのバージョン管理やCI/CDに既に利用している可能性が高いGitHubを、NPMやDockerではなく、プライベートパッケージホスティングの料金を支払うことを好むかもしれません。
クラーク氏によると、GitHubは今後、より多くのプログラミング言語をサポートし、コミュニティの関与を高めていく計画だという。「夏頃には、サーバーコンポーネントをオープンソース化することを目指しています」と彼は語った。
GitHub Package Registryは限定的なベータサービスとして提供され、オープンソースとして無料でご利用いただけます。その他のライセンスモデルおよび用途に関する価格詳細は、近日中に公開予定です。®