mixiユーザー(id:1726250)

2010年10月02日00:48

95 view

オプソとフリーソフトの違い

(なぜ今?というツッコミはさておき。自分でもよく解らない。珍しくパパーッと書いたノリでうp)

「ダダで手に入る」という結果特性は似ている、が。

フリーウェアと言うと、だいたいバイナリ配布のモノを指す。
一方、オプソとは「ソースが公開されていること」であり、普通バイナリ配布はされない。

オプソとフリーウェアでは、品質が違う。
何もかもがそうではないが、メジャー作品や規格品については、概ねそう言えるだろう。

フリーソフトのユーザーが作者に「良かった。アンタスゴイな!」もしくは「ここ、おかしくない?」等とメールするとして、それは所詮ファンレター程度のものだ。

オプソの場合、人に見せるのが前提だから、同業者に笑われそうなおかしなコードは、恥ずかしくて書けない。この動機付けは、フリーソフトには無いものだ。
「ここ、おかしくない?」「何?じゃぁお前がやれよ!ていうか最近忙しいし、正直飽きちゃったんだよね」で、他の人が開発を引き継ぐことも出来る。

だから、Webサーバー、RDB、果てはOSそのものまで、大規模なものがしばしば現れる。フリーウェアではそういうことは起きない。

DNSや、Web、メールのサーバーなどは、挙動が規格で決まっている。
その実装見本として、大学の講義にそのまま使われる様な、標準コードが既にある。
ソフトを、サポート付きの商用製品にしたいからといって、隠す意味が無いのだ。
そういったものについては、「商品だから見せられません」と言っているソフトと、
その「標準コード」とで、どちらが信頼性が高いかは、明々白々だ。

ネットで不具合等情報を集めるとして、当然オプソの方が良い情報が得られる。
「商品だから見せられません」と言っているソフトでは、真相は決して明らかにならない。

フリーウェアは通常、無保証である。だから、何かあった場合の担保が欲しい場合、使えない。*
オプソも、コード書いた人は保証などしてくれない。だがフリーウェアと違い、それは当たり前のことだ。
何故なら、リリース責任者はmakeしたユーザー(かSI)自身だから。
動くかどうかは、コードを書いた人ではなく、コンパイルしたヤツが決めることだからだ。
これはへ理屈ではない。処理内容が100%開示されており、期待通り動かなくても、最悪は自分で何とか出来る、手段も権利も有するからである。
(因みに、英語でいう Free の真の意味は、そこにある。)
オプソでないソフトには、そのどちらも無く、何かあったら、100%人に頼らなければならない。
商用製品ならカネで解決出来るが、フリーウェアではそれすら出来ないのだ。

*コンシューマー向けの場合、商用ソフトも結局は同じ(使用した結果生じた一切について責任は負わないし、不具合があったとしても直すとは限りませんよ、と書いてある)なのだが、業務で使うなら、「カネは払うから、何かあったら死ぬ気で助けろよ?!」という契約は出来る。

「ソースを見せない以上、バグがあったら当然お前らのせいにするからな!」という担保が買えるというワケだ。
ソフトウェアを「工業商品です」と主張する以上、それはむしろ自然なことである。

そういった契約が出来ないコンシューマー向けパッケージソフトを、機能が同等なオプソプログラムがあるにも関わらず購入してしまうというのは、非常に愚かな選択かも知れない。
かつてコンシューマー向けパッケージソフトには装丁もキレイな説明書が付きものだったが、最近はコストダウンのためにそれは省かれ、結局ユーザーはネットで検索して使い方を知るのだから。

後付けのまとめ:
「build済のバイナリがタダで手に入る」ことと、
「ソースコードが手に入る」ことは、似ている様でいて、大きな違いがある。

「build済のバイナリ」の、リリース責任者は、"作者"だ。
そして作者が「何か起きても一切責任は持ちません、責任はあなた(ユーザー)にありますよ、タダなんだから。」と言っている。
「でも、中で何してるのかは見せません」なのに。

これに対し、「ソースを手に入れて、buildするのは自分」であるなら、リリース責任者は自分だ。
だから責任は自分にある、そのことに整合性があるのだ。
「実際、何をしているのか?」全て開示されているし。

同じ"Free"でも、その意味は...前者は「タダ」、後者は「自由」と解釈出来る。

また、ソースレベルで比較したとすると、
堂々と衆目に晒している後者の方が、普通に考えると信用出来そうだ。
0 0

コメント

mixiユーザー

ログインしてコメントを確認・投稿する