10年間のMockitoメンテイナーを退任します
109日前原文(github.com)
概要
- Mockitoのメンテナーを10年務めた節目で、次世代への引き継ぎを決意
- JVMエージェントの仕様変更による負担増が理由の一つ
- Kotlin対応の複雑化が今後の課題
- オープンソース活動の楽しみの変化
- 今後の引き継ぎ計画や議論は別途GitHubで実施予定
Mockitoメンテナー交代を決意した理由
- 2026年3月でMockitoメンテナー歴10年の節目
- 10年という区切りで、他の人へのバトンタッチを決断
- 引き継ぎに向けて、今後数ヶ月で準備活動を実施予定
- 今後の運営や議論は、別のGitHub Issueで案内予定
JVMエージェント変更による負担
- Mockito 5でメインアーティファクトがエージェント化される仕様変更
- JVM 22からダイナミックアタッチがフラグ付きに変更
- セキュリティ強化の観点から理解はできるが、メンテナーへの負担増
- 代替案や十分なサポートがないまま、自主対応を求められる状況
- オープンソース運営のボランティア性と、個人への過度なプレッシャー
- XKCDのジョークにもある「数人の個人に依存するOSS世界」の現実
Kotlin対応の難しさ
- Kotlin人気の高まりとMockitoの複数JVM言語対応
- 他のJVM言語と異なり、Kotlin固有の実装や分岐が必要
- mockito-core内でKotlin専用フローやAPIの重複が発生
- KotlinのJVM上の挙動の一貫性欠如(例:suspend関数)
- コードの複雑化・メンテナンス性低下
- Kotlinが主流化する将来に対し、モチベーション維持が困難
他のオープンソース活動への興味
- オープンソース活動への情熱は継続
- 最近はRust製WebエンジンServoなど他プロジェクトに魅力を感じる
- 限られた時間での活動選択で、Mockitoへの優先度が低下
- 本来ボランティア活動は「やりがい」が前提
- 義務感での活動継続は長続きしないという気づき
まとめと今後について
- 上記3点が重なり、メンテナー交代を決断
- 最初の理由で「立場を見直すきっかけ」、2つ目で「将来への不安」、3つ目で「他の楽しみの発見」
- 他のメンテナーには異なるモチベーションもあり、プロジェクトの多様性を尊重
- 10年間でMockitoを前進させたという満足感
- 今後は新しい世代にバトンタッチし、プロジェクトの発展を期待
- オープンソース活動の価値を改めて実感し、全ての貢献者に感謝