プラグインを書くのをやめてしまった理由。
20220116 追記
世の中いろんな動きがあったので、記事の内容の順番を変えて、少しオープンにしています。先にご購入してくださった皆さまには大変恐縮ですが、「こんなことを書いていいのか」と、悩んでいた時期にお読みくださったこと、本当にありがとうございます。
変更点
2021年2月13日の追記を冒頭に移動して公開しています。プラグイン自体はアジャイルウェア様にご協力いただいております。アジャイルウェアの皆様、本当にありがとうございます!
もうすぐ Redmine がバージョンアップすると思いますが、プラグインが本当に必要なものだと思われるなら、たぶん各自がメンテナンスしたり、フォークしたり、プルリクエストを行ってくれると思っています。
20210213 追記
記事を読んでくださった皆様、ありがとうございます。限定+有料記事にしているため、あえて読んでくださった皆さんにはお手を煩わせてしまった形で、恐縮です。
その後もずっと心に小さなトゲを持ったままでいましたが、問題のソースコードはわたしのリポジトリでは完全にアーカイブしました。
テーマ開発も含めて停止をいたしました。
幸い、プラグインを開発してくださっている会社の方々に声をかけていただだき、その会社様の元でのオープンソースのコードとして保持していただけることになりました。アジャイルウェア様、ありがとうございました。
稚拙な箇所、実装がたくさんありましたし、実質わたしはRedmineを使っている立場には無いため、これ以上の改善はわたし単体では厳しい状況でしたので、本当にありがたい限りです。
個人に紐づく形でないため、もしご興味のある方、我こそは改善したい!という方には、新しいリポジトリの下、オープンな中でのご参加をお願いしたいなと思っています。
こうした活動は、楽しさと、厳しさの両方があります。
楽しさのみを感じてやっていけるなら、それは一番良いことです。
もし、少しだけ厳しさを感じたなら。わたしがこんなnoteを書いていたな、と思い出していただけたらと思います。
はじめに
わたしは長らくRedmineのプラグインを書いてメンテナンスしていました。Redmineとは、1管理者として使い始めてから、やがて必要を感じて自分で学習してプラグインを書くようになり、10年以上のお付き合いでした。
そんな活動も、今年に入って、いろいろ思うところがあって辞めました。
辞めたんなら黙っているほうがいいのでしょうけれど、この活動の中で、特に日本のRedmineコミュニティの方には申し訳ないけれど、このままでは開発者の苦労に対して光が当たらないので、思うところを書きたくなりました。
ただ、この内容は「知りたい方」だけに読んでいただきたいので、オープンにはしません。もちろん、漏れ伝わることもあるでしょうけれど、「あえて知りたい」と行動を起こしてくれた方だけに見て欲しいです。
※プラグインを個人で作って活動されている方には、お問い合わせいただければシェアします!
書くのを辞めた理由
一番の理由。
それは、活動に対して疑問を持つようになったことです。
変わっていくOSS
Redmine自体はオープンソース、そしてソースコードが公開されているが故に、ご自身でセットアップすれば、無料で使えるソフトウェアです。
わたしのプラグインもまた、その思想にならい、ソースコードもオープンにし、問合せも受け付けるようにしました。
何度かRedmine本体も大きいバージョンアップがあり、その度にプラグインを対応させるのはとても大変でしたが、「使ってくださっている方々がいるし」という前向きなモチベーションで、なんとか頑張っていました。
そのうちに、時代が変わってきて、Redmineも有償のホスティングサービスが出来上がったり、Redmine自体に独自改良を加えてサービスするというビジネスも増えてきました。
いわゆる、ビジネスという立場でRedmineを支える企業、団体が出てきていて、これは健全だ、むしろ喜ばしいとわたしも思っています。
関連: 20200214 #devsumi 14-C-6 Launchable 川口さん のお話
ビジネスとして、持ちつ持たれつの企業がRedmineを支援したり、開発に参加するのは当然ですし、それを通して、世界中のユーザもその恩恵を受けられますから、とても良いことです。
プラグインはどうなんだろう?
でも、プラグインはどうでしょうか?
わたしのビジネスの才能が全くないのが問題なのかとは思いますが...。
プラグイン一覧にエントリさせていただいていても、あくまで自己申告だったりするので、財団からお墨付きをもらってDonationを募ったりできそうな雰囲気ではありません(笑
べつに最初はDonationとか支援が欲しかったわけではありませんが、度重なるバージョンアップについて行くにも、個人の学習時間、手を動かす時間が取られました。
リリース以上に大変だったのが、全く関係ないのにプラグインのissueに問合せをしてきたり、セットアップのサポートを求めてくる方たち。
それから、機能上無理難題を言ってくる方たち。
まずは、こちらも自分を守るため、問合せを減らすために、打つ手を考えました。
バグをなるべく出さないように、データを壊さないように。
テストをきちんと書く、E2Eも試す。
すぐ確認できるようにDockerの環境も用意する etc....。
これら全てを、自分の時間を削ってやっています。
動いて当たり前のようでいて、そうでもないのです。
作り出すことへの対価
少しずつ徒労を感じたある時、わたしは思い立って、技術書典で本を出しました。ほんとに薄くて小さいコピー本です。
それでも、買ってくださる方がいらしたのは、どんなに有り難かったことか。
この経験を元に、Redmine勉強会で5分ほどのライトニングトークをしました。ここで、わたしはあるメッセージを込めました。
これは、わたし自身に対する大いな皮肉です。
でも、本当のことなのです。
この話を聞いていた方、もしくはこのスライドを見た方は、わたしの小さな心の叫びに、気がついたでしょうか...?
プツンと切れてしまった感情
対応していて極め付けは、「Windowsの環境がないんだったら、xxのレンタルサーバ借りて環境立てればいいじゃないんですか?」と言われた時。
だれがその費用と手間を出すんですか?
ブラウザも含めた原因調査は、Windowsの環境にRubyやRailsの「開発」のための環境も用意しないとできませんけど、本気で言ってます??
デバッグのための手順わかってますか?
本気で怒り、ガッカリしました。
.....そういうこともあるのです。
そして、どんなに苦労しても。
勉強会でランキングだなんだと紹介してもらっても。
なにもありませんでした。
むしろわたしはランキングは嫌いでした。
どんな方でも、ご自身で作って世に出している方は、等しく紹介すべきと思っていました。毎回同じネタを出してもらうより、少しでも新しく飛び込んできた方を紹介するべき、と思いました。
それから、Donationでなくても。
GitHub Starをつけてもらうだけでもいいんです。エンジニアにとって、GitHubのリポジトリは、直接その人の行動の証になります。
必ず、その開発者を助けてくれます。
でも、わたしもささやかながらStarをいただきましたが、圧倒的に日本じゃない方のほうが多かったです。
Starも無いのって、不思議でしかたなかったのですが、ある時気がつきました。「そうか、勉強会に関しては、Redmineユーザが対象であって、開発者限定というわけじゃないからだ」と。
まあそこは文化の違いもあるんだろうな、という感じです。
ただ、そんなこんなでわたしの気持ちは揺れていました。
決定的であったこと
そんな時、またある問合せを受けました。
どうやらとあるホスティングサービスにわたしのプラグインを入れているらしく、プラグインに対してのバグの問合せでした。
はっきり言って、バグは申し訳ないです。心の底から申し訳ないです。大変悩みました。
ここから先は
¥ 100
たくさんの記事の中で、目に留めてくださってありがとうございます! 気に入っていただけたら嬉しいです!