世界を動かす技術を、日本語で。

Caddyプロジェクトのメンテナンス管理に向けた次のステップ

概要

Caddyプロジェクトの創設者Matt Holtが、運営体制の変更を発表。 メンテナーチームにリリース権限を移譲し、コミュニティ主導へ移行。 成長に伴う課題と自身の負担増加、ボトルネック解消を説明。 今後は貢献者やスポンサーへの感謝を強調し、プロジェクトの持続的発展を目指す。 本人は引き続き関与しつつ、役割を再定義する方針。

Caddyプロジェクト運営体制の転換

  • Caddyは11年の歴史 を持つ人気Webサーバープロジェクト
  • 創設者Matt Holt が全てのコメント・Issue・PRを個人で管理してきた現状
  • メンテナーチームへタグ・リリース権限を委譲 し、運営体制を分散化
  • コミュニティ主導のリーダーシップ を強化、バスファクター1からの脱却
  • Matt自身がボトルネック となりつつある現状の打破が狙い
  • プロジェクトのスケーラビリティ向上 を目指す方針

これまでの運営体制

  • 毎日数件のGitHub通知 を確認し、個別に対応する日課
  • バグや機能追加の判断が明確 で、対応も迅速
  • Caddy v2リリース後も、新規性と開発初期の明確なビジョンにより運営が容易
  • 通知ボックスが事実上のTODOリスト、常時1ページ未満(約25件)に管理
  • コミュニティフォーラム設立後も、1日1〜3件の投稿に全て目を通す体制

成長と変化

  • ドキュメントの充実 や、コミュニティによる知識の蓄積
  • 経験豊富な貢献者の登場 (@Whitestrake, @francislavoie, @elcore, 他多数)
  • フォーラムの質問がニッチ化 し、専門性が高まる傾向
  • GitHub通知が急増、200件近い未処理通知・200件のIssue・50件超のPR
  • バグ報告の難易度上昇、再現や修正に高度な専門知識が必要
  • 機能要望もより複雑化、大規模な新機能はほぼ実装済み

現状の課題

  • 通知・対応件数の増加による負担増、精神的ストレスと家庭への影響
  • 全ての新規活動に即応できない状況、プロジェクト成長の妨げ
  • バグや要望の複雑化 により、1人での管理が限界

今後の方針

  • GitHubやフォーラムの通知を大幅に削減、自分にしかできない作業へ集中
  • 既存のTODOリストを手動で整理、200件超のバックログ解消
  • メンテナーチームにリリース権限を移譲、2名以上の承認で新リリース
  • メンテナーチーム・コラボレーターの拡大、貢献実績重視の招待制
  • セキュリティ強化(2FA必須)、アクセス権限の適切な管理
  • バスファクター向上とボトルネック解消、Mattの負担軽減と品質維持

コミュニティ・スポンサーへの感謝

  • 全ての貢献者・協力者への深い感謝
  • スポンサー支援がプロジェクト存続の鍵、今後も継続的なサポートを希望
  • Matt自身もプロジェクトへ積極的に関与継続、役割の再定義を強調
  • 今後もコミュニティ主導での発展を目指す姿勢

Hackerたちの意見

Caddyは素晴らしいね。マット、コントロールを手放してくれてありがとう。

https://caddyserver.com/ > The Ultimate Server > あなたのサイトを他のどのソリューションよりも安全で、信頼性が高く、スケーラブルにします。これはnginxの代替になるの?

ApacheやnginxのようなHTTPサーバーだよ。特に目立つ特徴はACMEサポートが内蔵されていることで、かなり優れたリバースプロキシでもある。Caddyを使って、顧客のドメイン用に証明書を大量に発行している組織を見たけど、すごく良い結果が出てたよ。

そうだね。でも、Caddyは主にTraefikの代替として見かけることが多いかな。

うん、個人的にはCaddyの設定やプラグインのやり方がすごく好き。nginxのこともそこそこ知ってるけど、"sysv initスクリプトとsystemdユニットファイル"に例えられるくらい、Caddyの方が好みだな。

知ってるみんながCaddyをデフォルトで使ってるから、今やNginxはCaddyの代替って感じだよ。

Caddyが好きだよ。進化していくのを見るのはいいね。うまくいくといいな。

より多くの人に責任が分散されるのを見るのはいいね。オープンソースプロジェクトはメンテナンスする人によって生き残ったり消えたりするから。Caddyは、機能の80-90%を50%の複雑さで実現できるツールの一つだよ。自分のホームラボや趣味のプロジェクトにはぴったり。設定も理にかなっていて、よくドキュメントも整備されてる。ぜひ試してみることをおすすめするよ。

私にとっては95%と5%だね。Caddyは最高だよ!

Caddy最高!普段やってるプロジェクトにはこれ以外考えられないよ。

迷ってる人には、Nginxを想像してみて。だけど、最初から設定しておきたいデフォルトが全部揃ってる感じ。これがWordpressサイト用の完全な設定ファイルだよ。 example.com { root * /var/www/wordpress php_fastcgi unix//run/php/php-version-fpm.sock file_server } これだけ。全てこれで完結。あとは他の設定も調整できるけど、もし自分でいじりたいならデフォルト値が揃ってるから安心。Caddyには本当に感謝してる。Nginxができないことはないと思うけど、使いやすさが全然違うんだよね。

現在、このプロジェクトは非常に安定して成熟していて、ほとんどのバグは再現するために広範な説明やトラブルシューティング、非常に特定の設定が必要です。それでも、サイトのフルドメイン名を使うとページが読み込まれないという簡単に再現できるバグが残っています。 https://caddyserver.com./

わかってるよ、恨みがあるんだね。でも、Caddyに関することがHNに投稿されるたびにこのコメントをする必要はないよ。変更提案したいならPRも歓迎だよ。

人生でドメインの最後にドットがあるのを見たこともないし、スラッシュ付きのドットなんてありえない。なんでそんなことでこだわるの?

フリーソフトウェアは、メンテナーが報酬を得られるように人々に貢献を促す方法を見つける必要があるね。Caddyは素晴らしいよ!

マイクをGHでスポンサーできるよ! https://github.com/sponsors/mholt

貢献者も報酬をもらえるの?

またFlattrを試す時が来たのかな?(今度は企業向けのしっかりしたオプションもね!)

過去7年間、デジタルオーシャンのドロップレットで趣味のプロジェクトにCaddyを使ってすごく楽しかったよ。自動HTTPS、複数のドメイン、特定のルートをローカルサービスにプロキシするなど、すべてが非常に読みやすい設定ファイルで管理できた。期間中にサービスが一度だけ失敗したけど、それはドロップレットのOSをアップグレードしたときの自分のミスだった。超おすすめだよ。プロジェクトをここまで成長させたマイクにおめでとう!たまにはハンドルを離しても大丈夫だね。そしてありがとう!

マイクにおめでとう... 実はマットだよ :)

KubernetesでCaddyをイングレスやゲートウェイとして使いたいんだけど、長いこと単独サーバーの設定をしてないから不安だな。

こんにちは、HNの皆さん。愛とフィードバック、ありがとう!ちょっと複雑な決断だったけど、通知をオフにするのは窓を閉めるみたいで、外に出ないと何が起きてるかわからなくなる感じ。窓を開けておくのが好きなんだけど、色々入ってきすぎたからね!これで自分の取り組みをもっと管理しやすくなると思う。とにかく、これがプロジェクトの開発面でのスケールアップに繋がることを願ってる。コミュニティは責任感を持ってるって証明してくれたし、過去10年以上の素晴らしい一部でいてくれてありがとう。

これまでのすべてに感謝!Caddyは美しい。これが君の人生をもっと楽しむ手助けになり、最終的にはCaddyの成長にも繋がるといいな。