💎 Ruby Central のオープンソース活動を Sovereign Tech Fund (STF) がサポート【翻訳】
💎 翻訳のキッカケとなった投稿
📝 以下、上記記事の日本語訳となります。
Ruby Centralのオープンソース活動をSovereign Tech Fund (STF) がサポート
私たちRuby Centralは、パートナーシップの第2弾としてドイツのSovereign Tech Fund(STF)との提携を結んだことを発表いたします。このパートナーシップの目的は、BundlerとRubyGemsにおけるRuby Centralのオープンソースの運営、開発、およびセキュリティ関連の取り組みをサポートすることです。これらのツールは、GitHubやStripe、Airbnb、Mastodonなどで働く何十万人ものRuby開発者にとって欠かすことのできないインフラストラクチャです。私たちの開発チームは2009年以来、Rubyの公共インフラストラクチャを毎年継続的に改善・強化してきた実績があります。
STFは、重要なオープンデジタルインフラストラクチャの開発・改良・メンテナンスをサポートする団体であり、セキュリティ、強靭性、技術的多様性、そしてコードを支えている多くの人々にフォーカスする形でオープンソースエコシステムの強化を目指しています。今回の投資は、STFとRuby Centralの2022年〜2023年のパイロットパートナーシップに続くものです。オープンソースエコシステムの健全性を長期的に維持するうえで、私たちの仕事が欠かせないものであると再び認めていただいたことに感謝いたします。
STFによるこの投資は、私たちの開発者たちによるBundlerとRubyGemsの広大なロードマップへの取り組みをサポートします。取り組みには以下のような項目が含まれています。
Ruby開発者たちの人生をよりよいものにする取り組み
Bundlerに新機能を追加し、ユーザーの長年の要望や問題を解決する。
例: エディタツール(別名`bundle compose`)のサポート提供
gemをメタデータで確認し、無関係なWebサイトがgemのリストに表示されないようにする。
bundle-stats gemをBundlerに統合する。
bumbler(ベンチマークツール)をBundlerに統合する。
bundle-audit(セキュリティツール)をBundlerに統合する。
extended_bundler-errorsプラグインをBundlerに統合して、gemのインストールが失敗した場合のエラーメッセージを改善する。
gemパッケージの正確な実際の内容(リポジトリ内容と異なる場合がある)を表示するコンテンツビューを作成する。
gemバージョン間の変更点を表示する差分ビューを追加し、正確な変更点がすぐわかるようにする。
広く使われているRuby Toolboxのガイド のメンテナンスおよび拡大。Ruby Toolboxは、BundlerとRubyGemsを介してインストール・利用可能なライブラリの詳細情報と提案を提供している。
rubyapi.org(ドキュメントWebサイト)を拡充し、Ruby本体のAPIドキュメントに加えてgemのドキュメントも含める。これにより、以前は有用だったが現在は衰退しているapidock.comやrdoc.infoの代わりとなる機能を提供する。
私たちのグローバルサービスの信頼性を向上させる取り組み
3〜5人の有給スタッフによる年中無休のオンコールローテーション体制構築のための資金調達。
緊急事態、インシデント、重要なセキュリティ問題に迅速に対応するため
Terraformリポジトリの更新と統合
インフラストラクチャのアップグレード。
Kubernetes、Elasticsearch、およびPostgreSQLなど
Legacy Dependency API(サービス品質低下の最もよくある原因)の非推奨化と削除
自動レビュー環境の開発。
プルリクを手軽にテストできるようにして開発プロセスを加速し、バグの発見と解決の機会を増やす
gemを公開している組織へのサポートを強化する取り組み
パーミッションレベルの追加。
他のユーザーを追加・削除する管理者権限を持たなくてもgemをプッシュする権限をユーザーに与えられるようにする
gemのパーミッションを管理するTerraformプロバイダの作成。
組織が他のクラウドパーミッションと同じ場所でgemのパーミッションを管理できるようにする
RubyGems.orgをOIDC(OpenID Connect)に統合する。
永続的な認証トークンを回避することでセキュリティ向上を図る
組織で利用できるSSO(シングルサインオン)統合の追加。
アカウント管理を容易にし、自動化する
組織で利用できる名前空間の開発。
紛らわしいgem名による名前混乱攻撃を全面的に排除する
Rubygems.orgメンテナーの人生をよりよいものにする取り組み
現在よりもシンプルかつ自動化された管理ツールを構築し、メンテナンス担当者の負荷を軽減するとともにユーザーの問題を迅速に解決できるようにする。
バージョンを指定してgemを削除する機能
名前を指定してgemを削除する機能
名前またはメールアドレスを指定してユーザーアカウントを無効化する機能
特定のユーザーアカウントのgemをすべて削除する機能
`cert`や`lock`などのgemコマンドを非推奨化および削除する。
バグ発生サーフェスを削減する
監査されていないレガシー暗号署名方式も排除する
BundlerとRubyGemsをCIからリリースするGitHubアクションの作成。
gem作者たちの人生をよりよいものにする取り組み
gemを安全にリリースするGitHubアクションの構築とリリース。
OIDCと使い捨てアクセストークンを利用する
バージョンごとの日次、週次、月次ダウンロードグラフを作成し、実際の使用状況の時間変化を表示する。
Gemstash を更新してコンパクトインデックスに対応させる。
コンパクトインデックスのリファレンス実装とドキュメントを抽出する。
`gem generate_index`を更新してコンパクトインデックスファイルを生成できるようにする。
静的サーバー(例:S3)をgemの供給ソースとして利用し、コンパクトインデックスも含めてサポートおよびドキュメント化する。
Rustで書かれた拡張を持つgemのサポートを改訂し、ドキュメントとユーザーエクスペリエンスの向上を図る。
STFの資金提供に心から感謝いたします!この投資が私たちの作業を支援し、強化されたメンテナンス体制と無料のオープンソースツールをユーザーに提供し、最終的にはRubyエコシステムを強化し、Rubyコミュニティ全体にとって役立つことを期待しています。
2023年9月27日
関連記事・参考記事
YassLab株式会社の活動に興味を持っていただければ嬉しいです。こちらからのサポートは Raisチュートリアル、Railsガイドなど各サービスの向上に役立てていきたいと思います💓