Kengo's blog

Technical articles about original projects, JVM, Static Analysis and TypeScript.

私がとあるOSS開発から手を引いた経緯

ホットな話題に乗っかって、私がSpotBugsというJava向け静的解析ツールのOSS開発から手を引いた理由をまとめてみます。

自分がJavaを使わなくなった

先のブログでも指摘されている通りで、自分がそのソフトウェアを必要としなくなったというのは大きな理由になりました。Kotlinに乗り換えたことでJavaを書く機会がなくなり、Kotlinが生成したclassファイルの解析はSpotBugsには向かなかったので、SpotBugsを使わなくなりました。

SpotBugsにKotlin対応させることは技術的には可能ですが、ソースコードも考慮して解析できるdetekt(ktlint, diktat)がある世界でわざわざやることではないという感想です。

リターンが無かった

自分が使わないツールのメンテナンスを継続するには、やはりある程度の見返りを求めたいというのが自分の気持ちとしてありました。Github Sponsorsをはじめてみたり、Who uses SpotBugs?をまとめてみたりしましたが、いずれも自分が納得できる程度には至りませんでした。

冗談半分で「控えめに言っても日本人で、ひょっとするとAPACでもclassファイル静的解析で片手の指に入るんじゃないですかね」とか言うことがあるんですが、これは6年間の活動の結果を分かりやすく人に伝えることで少しでもリターンを稼ぎたいなという気持ちが裏にあるわけです。

まぁ世の中にはOSS開発者を表彰するような動きもいくつかありますし、金銭的フィードバックをコントリビュータに返せているコミュニティもいくつかあるようなので、あと数年続けていれば結果が出た可能性はあります。ただ私としてはその時間を新しいことに使いたいと思い、資格試験や副業に充てることにしました。

個人的には、Javaで中~大規模開発してる会社なんてだいたいSpotBugsを使ってるだろうし、Javaバージョンを上げる際などに課題もいくつか出ているだろうし、ひとつくらいSponsorしてくれる会社が出てきてもおかしくなかったんじゃないかなぁどうかなぁとは未だに思っています。が、そういうところもSonarQubeのような有償ソリューションに鞍替えした方がトータルではベターだろうなとも思います。Java使ってる会社だと、有償ソリューションの方が稟議の通りが良さそうというかなんというか。

ユーザ対応がきつい

どこでも言われていることなので割愛します。リリース依頼を有償化する動きが一部であって、これがあたりまえになるのもひとつの解決のカタチなのかもしれないですね。

次があったらどうするか

コントリビュータを大切にする企業のプロジェクトに絞って貢献するとか、not open contributionなプロジェクトを立ち上げるとかを試してみたいと思っています。

それはそれとして課題を見つけたプロジェクトに対して“辻PR”を送る活動は続けていますし、Github Sponsorsで四半期ごとに自分の活動を報告すること自体は自分自身学びも多く継続していきたいと思っていますので。少しでも面白そうだなと思った方は、ご支援いただけると嬉しいです。スポンサーの方は報告のバックナンバーをご覧いただけるようにもしています。

追記