topless

先週の「BSDなひととき」で紹介された topless をいじってみました。なんか実装がしおしおで、いかにも shell script 慣れしてない人が書いたといった感じの不必要に判りにくいソースでした。特に POSIX shell に特化した記述が目立ったので Bourne shell で動かせるように改造してみました。

で、完成したんで contribute しようかとも思ったんですが、作者の書いた紹介記事にあった一言にどうしても共感出来なかったので放置プレイ中。「意味もなく互換性を考慮しても、使いにくくなるだけです。」だそうな。
使いにくいかどうかは使う人が決めるべきことで、作る人はそんなこと言っちゃ駄目だと思います。作る人が使いにくいと思っても使う人がそう思わないならそこは使う人の側に合わせるべきでしょう。それが嫌なら作ったものを公開せずに local にしまい込んでおくことですね。ソフトウェアを公開するってことの責任が判ってないと得てしてこういう態度を取ってしまいます。
勿論、たった一人のユーザのわがままなニーズのために、他の大勢のユーザの使いにくさを招いてしまう可能性は否めないので、ニーズを無条件に飲む必要はありません。でも、互換性みたいな客観的な観点に対して「意味もなく」とか言っちゃう神経は如何なものか。

そもそもこういうのは「互換性 (compatibility)」ではなく「可搬性 (portability)」と言います。複数の環境と、それらの環境の上で動作する単一のモノとがあって、ある環境の上で動いているモノが別の環境でも動くかどうかを問うた時、環境の側で合わせようとするアプローチを「互換性」と言って、モノの側で合わせようとするアプローチは「可搬性」と言います。
つまりこの場合、topless が動くように開発環境である FreeBSD と可換な環境を用意することが「互換性」で、toplessFreeBSD 以外の環境でも動くように手を加えることが「可搬性」になります。
言葉の定義はともかく、こういうフェーズで「互換性」と言っちゃうセンスがなんだかなーといった感じ。

とゆー訳で、自分さえ使えりゃいーんだ、使えない環境の人は使ってくれなくても結構、てなことを平気で言っちゃうような人は、ソフト作っても公開しないで下さい。
こういう連中がいるから、「ハッカーという人種は自己の知識や才能をひけらかしたいという利己的な目的でソフト開発やネット参加を行なっている」とか揶揄されちまうんだよってば。