誰も消防車を呼ばないのでClamTKに1行パッチを送った話

「誰も消防車を呼ばないのである」というインターネットミームがあります。
これは、火事が起こって騒ぐだけ騒ぐけれど、大勢で騒いでいると誰かがやってくれるだろうと責任を他人に転嫁し自分からは消火作業を一切行わず、結局、事態だけが進行して酷くなる傍観者効果を揶揄していますが、オープンソースソフトウェアの世界でも同じことがあります。
誰かが不具合を直してくれるだろう。
誰かが連絡してくれるだろう。
誰かが勝手にやってくれるので、自分は何もやらなくてよい。
「誰も!!!不具合を報告していないのである!!!」な状態から一歩抜きん出て、OSSの不具合を報告できる「つよいエンジニア」になれるんや! pic.twitter.com/5CeWH49JBI
— Piro/Linuxコマンド操作解説マンガ連載中 (@piro_or) February 28, 2020
そう。まさにこのような思い込みで誰も開発元に不具合報告をせず、不具合はずっと残ったままでバッドノウハウだけが都市伝説のようにぐるぐる回る状況をオープンソースソフトウェアの開発に関わっているとたまに見かけます。
先日、「萌え萌えmoebuntu 久しぶりにClamTkでウイルスチェックしたら隔離や削除ができなかった、その対処」という記事を見かけました。
読んでみると、アンチウィルスソフトClamAVのGUIフロントエンドClamTKが、日本語ロケールだと日付フォーマットが違うのでウィルスの検出はできても駆除ができないという不具合があるそうです。記事では、その不具合についての修正方法を丁寧に書かれていました。
そして、その記事には情報元であるサイト「【Ubuntu】ウィルス対策。ClamTkが上手く動作しないときの対処あれこれ。 - freefielder.jp」が書いてあり、さらにそのサイトには不具合の一番古い情報であると思われる「Ubuntu日本語フォーラム / clamtk ウイルス隔離ができない」へのリンクがありました。
2016年から不具合があるということは、みんな困ってたんですね。良かった…
とは思わないし、ちょっと待て。2016年からある不具合の原因と修正方法が分かっているなら、なぜ誰も不具合報告をしない?
オープンソースソフトウェアですよね? プロプライエタリソフトウェアなら何もできないけれど、オープンソースソフトウェアで2016年の不具合が2020年まで放置されていて、しかも修正方法も分かっているなら上流の開発元まで行かなくてもディストリビューションにバグ報告をして直してもらうとか、いろいろ修正する手段はあります。
にもかかわらず誰も何もやらないのは、どういうことですか?
記事を読んでカチンと来たので、ClamTKの開発元を探してみるとGitLabで開発しているそう。GitHubやGitLabは、ちょっとした修正ならコマンドを叩くことなくブラウザ上でフォーク、編集してプルリクエスト/マージリクエストを送ることができるので、その場でサクっと1行パッチをマージリクエストしてみた。
その返事がこちら。次回のリリースで修正を入れてくれるそう。良かったですね。
マージリクエストの作業って15分もかからなかったと思う。英語を書くのに調べてて時間がかかったけれど作業としては5分もかからなかったはず。
オープンソースへの貢献・協力って言うと尻込みする人が多いのだけど、少しの知識と手を動かす気持ちがあれば誰だってできることだし、誰かがやれば4年もかからなかったのに