クリアコードではFluentdの開発に参加しています。 以前の記事でも紹介した通り多くのプラグインの開発にも参加しています。
Fluentd v0.14系がリリースされたので、最近はプラグインをFluentdのv0.14 APIに対応させるようなプルリクエストを送っています。
移行手順については公式のドキュメントに説明があり、ククログにもいくつか記事があります。なので、やろうと思えばすぐにFluentd v0.14 APIに移行することができます。
Fluentdには600以上のプラグインがありますが、中にはメンテナンスが活発でない1プラグインもあります。 今のところ足りないドキュメントがあったり、新APIに移行した事例が少なかったりして、新APIへの移行をためらっているプラグイン作者もいると思われます。
そこでFluentdのプラグインを安定してメンテナンスできる体制を構築し、Fluentdのプラグインを新しいAPIに対応する活動を活発にするためにfluent-plugins-nurseryというGitHub Organizationを作りました2。
fluent-plugins-nurseryの目的
Fluentdのプラグインのために、安定したメンテナンス体制を提供することが目的です。
元のプラグイン作者が、何らかの理由でメンテナンスできない状態になったときに、メンテンスを引き取ることができる場所を提供します。
fluent-plugins-nurseryへ参加することのメリット・デメリット
-
:+1: 元のプラグイン作者が何もしなくてもIssueやPull requestに対応する
-
:+1: 元のプラグイン作者が何もしなくてもFluentdの新機能に対応する
-
:+1: 元のプラグイン作者が何もしなくてもRubyやTravis CIの設定が最新のものに対応する
-
:+1: 差分付きコミットメールがメーリングリストに飛ぶ 3
-
:-1: fluent-plugins-nurseryチームが苦手な分野4については、対応が遅れる可能性がある
FAQ
-
:question: 乗っ取りなの?
-
:bulb: いいえ。元のプラグイン作者が望まない限りfluent-plugins-nurseryに権限が移行されることはありません。
-
:question: 元のプラグイン作者はメンテナンスもリリースもできなくなるの?
-
:bulb: いいえ。元のプラグイン作者は自身が望めば、権限を維持することができます。完全に引き継いで手を引くこともできます。
-
:question: 元のプラグイン作者が行方不明です!どうしましょう!?
-
:bulb: 落ち着いてください。インターネット上で見つかるはずなので探してみましょう。もし見つけられなかったら相談してください。
-
:question: 私、プラグイン作者なんですが、Fluentdの新機能に対応したいです!でも、どうしたらいいかわかりません。
-
:bulb: Fluentdのコミュニティで相談してください。
-
:question: Issueをたてる前に相談したい。
-
:bulb: fluent-plugins-nusery/Lobby で細かい相談ができます。
fluent-plugins-nursery への参加方法
プラグイン作者がやることは少ないです。以下の簡単なステップを実行するだけで、最新のFluentdに対応する作業、issueやPull requestへの対応をfluent-plugins-nurseryのメンバーがベストエフォートで行います。 詳細はfluent-plugins-nursery/contactを確認してください。
-
fluent-plugins-nurseryの管理者が
accepted
ラベルを付ける -
プラグイン作者がTransfer ownershipする
-
プラグイン作者がGemのownerを追加する
-
fluent-plugins-nurseryの管理者が他の管理者もGemのリリースができるようにする
まとめ
Fluentdのプラグインのメンテナンスに使う時間が足りないなー、新機能に対応したいけど難しそうだなーと思っているプラグイン作者はぜひfluent-plugins-nurseryまでご連絡ください。 もし、身の回りのプラグイン作者が、メンテナンスに困っている様子だったらfluent-pluguins-nurseryを紹介してあげてください。
-
小さなプルリクエストを送っても半年以上マージしてもらえない ↩
-
rust-lang-nurseryを参考にしました ↩
-
マイナーなウェブサービスや使うのにものすごく手間がかかるもの ↩