Software stewardship, together

ソフトウェアを守る。
守る人を育てる。

使われ続けているソフトウェアに、次の担い手を。
CPAN Rescueは、実際のPerlモジュールの保守を通じて、メンテナになるための経験を積めるプロジェクトです。

maintenance / first-stepCPAN RESCUE

# 最初の一歩は、テストを動かすこと。
$ perl -V
$ make test

01 環境を記録する
02 結果を共有する
03 レビューから学ぶ

小さな検証が、保守の根拠になる。

PAUSEアカウント不要最初は30〜60分一度の参加でも歓迎
What maintenance makes possible

使われ続けるために、できたこと。

保守を引き継ぎ、確かめてから届ける。
小さな変更を、安心して使い続けられる根拠に。

01 / 保守の引き継ぎ

2つのモジュールに、
次の保守担当を。

CPANでの保守権限を引き継ぎ、継続的に検証・修正できる体制づくりを進めています。

Log::Any::Adapter::Screen
Devel::CallChecker

引き継ぎと保守の記録
02 / 検証から公開へ

引き継いだコードを、
保守リリースとして届けた。

Devel::CallChecker 0.010をCPANに公開。テストだけでなく、配布物・メタデータ・下流互換性も確認してからリリースしました。

検証とリリースの記録
03 / 下流への影響

その先で使うソフトウェアも、
検証の対象に。

Devel::CallCheckerは、引き継ぎ時点で81のCPAN配布物から直接・間接に依存されていました。公開前に直接依存する配布物を検証し、基準版との比較で候補版による新たな不具合がないか確認しました。

81は引き継ぎ時点の記録です。現在の依存数や、81件すべてをテストしたという意味ではありません。下流検証の根拠
01 / In the workshop

いま、取り組んでいる保守。

修正だけでなく、調査、テスト、リリースの検証も保守の仕事です。次の作業と待ち状況を、公開しています。

01

MetaProvides family

コアの検証完了・次の検証へ

コアのCPAN版とhistorical masterをPerl 5.40 / 5.42で検証。次はPackageの公開版とmasterを比較し、下流への影響を確認します。

調査・検証の記録 #27
02

Log::Any::Adapter::Screen

採用済み・リポジトリ移管待ち

ログレベルの回帰テストと複数PerlのCIを整備。0.142の準備を進め、移管完了後に正式なリポジトリ情報を確定します。

移管と次の作業 #9
03

Devel::CallChecker

0.010 リリース済み

XSで使われる低レベル互換モジュール。自分自身のテスト、配布物、メタデータ、下流互換性を検証し、リリース後の結果を監視しています。

保守リリースの記録 #3
04

DBD::ODBC

現メンテナとの協力調整中

Wesley Hinds氏が保守を引き継ぎ済み。既存の方向性を尊重し、DBIXS互換性の調査やCIを小さな貢献として届ける準備をしています。

協力の状況 #25
05

Dist::CheckConflicts

権限申請・上流レビュー待ち

上流PR #13と採用・共同保守の申請への応答を待っています。返答後に権限とフィードバックを確認し、保守リリースの基準を固めます。

保守の状況 #1

2026年10月3日確認。情報源はCPAN Rescueリポジトリと各Issueの最新記録です。最新の進捗はGitHubをご覧ください。

02 / Your first contribution

最初は、
小さくていい。

モジュールを引き継ぐ覚悟も、リリース経験も必要ありません。テストを動かし、再現できる記録を残す。それだけでも、次の判断を支える価値ある貢献です。

最初の参加者を1名から募集しています。わからないことはIssueで相談できます。レビューとメンタリングも、活動の一部です。

初めての参加ガイド
GOOD FIRST MAINTENANCE30–60 MIN

現行Perlでテストを実行し、
結果を記録する。

対象:Log::Any::Adapter::Screen

  1. Issue #37で「やってみたい」と伝える
  2. ソースを取得し、テストを実行する
  3. OS・Perlの版・コマンド・結果を共有する

PR不要。CPANへのアップロードも不要です。

最初のタスク #37 を開く
03 / A path, not a ranking

経験に合わせて、責任を広げる。

これは順位ではなく、選べる道筋です。どの段階で止めても、役立つ保守の経験は残ります。

01 / ExploreExplorer

現状を調べる。
問題を再現する。

02 / ContributeContributor

テストや小さな修正、
CIの改善を届ける。

03 / ValidateRelease Contributor

配布物や下流を検証し、
リリースを支える。

04 / ShareCo-maintainer

経験ある保守者と、
継続的な責任を分かつ。

05 / StewardMaintainer / Steward

保守を担い、
次の人に引き継ぐ。

変える前に、理解する。

既存のAPIと振る舞いを尊重し、小さくレビューできる変更を重ねます。既存の失敗と新しい不具合を区別し、影響が大きいモジュールほど下流の検証を丁寧に行います。

責任・レビュー・引き継ぎの方針

支援するのは、継続する力。

保守を一人の善意に依存させないために、資金やスポンサーによる支援も検討しています。支援は検証・レビュー・保守の余力を支えるもの。技術的な決定権を買う仕組みにはしません。

持続可能な保守を考える #40
04 / Field notes

保守の現場から。

実行したこと、確かめたこと。
根拠を残し、次の人につなぎます。

すべての活動記録

MetaProvidesコアの現行Perl基準を確立

公開版2.002004とhistorical masterがPerl 5.40.5 / 5.42.3でPASS。依存側のテスト問題を切り分け、コアの振る舞いを変更せずに検証しました。

検証結果を見る

Log::Any::Adapter::Screenの移管準備

既存フォークをリネームし、移管時の名前の衝突を解消。0.142準備ブランチを維持し、正式な移管を待っています。

移管の記録を見る

Devel::CallChecker 0.010をCPANへ

保守権限の引き継ぎから、基準の再構築、下流の検証、配布物の確認を経て、SHINGO名義の保守リリースを公開しました。

リリースの記録を見る
Before you join

参加前の、よくある疑問。

PerlやCPANの専門家でなくても参加できますか?

最初のタスクは、ターミナルでPerlを実行でき、GitとGitHubの基本を知っている方向けです。CPANへのリリース経験やPAUSEアカウントは必要ありません。迷ったらIssueで質問してください。

参加すると、ずっと保守を続ける義務がありますか?

ありません。一つの調査や検証を終えて、そこで止めることも有効な貢献です。責任を広げるかどうかは、本人の意思と経験を確認して決めます。

CPAN以外のOSSも対象ですか?

現在の具体的な保守活動と参加タスクはPerl・CPANが中心です。実際の保守を学び、レビューと引き継ぎを通じて次の担い手を育てる考え方は、より広いOSSの保守にもつながります。

活動の最新情報はどこにありますか?

GitHubのCPAN Rescueリポジトリを情報の基準にしています。各Issueに、検証の根拠、次の作業、待ち状況が記録されています。このサイトは2026年10月3日時点の紹介です。