苦言を呈しても どうにもならない事なのですが。
読者の皆様は【互換性】とうい言葉をご存知でしょうか?
うんと簡単に言えば【共通性】とも言えます。
例えばそれは電灯の電球のようなものです。
従来の電灯は電球を使用していましたが、現在では省エネ規格で蛍光灯を内臓した電球があります。
ですがその口金は従来の電球と同じであるため、
本来は電球が使用される場所にでも蛍光灯を直接利用できます。
それは口金が同じ規格で作られているからです。
特定部分の規格を共通化させる事によって【互換性】が生まれた訳です。
ソフトウェアについても同じ事が言えます。
新しいOSをインストールしても、旧OS上で動作していたアプリが動作できるのは【互換性】があるからです。
通常はバージョンアップと称して古い機能はそのままに新しい機能を追加します。
この場合、従来の機能が維持されている事を【下位互換性がある】と言います。
ところが…。
某OS会社は、この下位互換性を無視する場合があるんですよね。
その目的は、自社製品をより多く販売することです。
下位互換性を切り捨てる事によって、販売競争の仕切りなおしができるからです。
相撲の土俵は円形と決まっています。
そして、その土俵で行われる試合は土俵が円形である事を前提に行われます。
ですが その土俵の規格を正方形に変えたらどうなるでしょう?
「土俵から出れば負ける」というルールは同じでも、力士は戦法など細かい部分が変わった影響を受け、
それこそ仕切りなおしを迫られます。
そいう事なのです。
OSの話に戻れば、アプリそのものの仕様はOSに依存し、
それが変化する訳ですから最初から作り直さなければならなくなります。
そしていち早く変化に対応した製品が優位になるわけです。
露骨に言えば「アプリはOSの掌で転がされている」とも言えるわけです。
商売上の話はともかく、下位互換性を保証しないと大変な事になるのは事実です。
それはアプリ販売業者のみならず、ユーザーとしても大問題なのです。
OSを入れ替えると古いアプリが使えなくなり、新しいアプリに入れ替える事にもなります。
対応バージョンがあればそれを購入し、無ければ似通った別のアプリを購入するハメになります。
互換性の重要性はご理解頂けたと思いますが、某OS販売会社は時として下位互換性を切り捨てます。
それが新機能追加の障害になるなら理由は成り立ちますが、その理由さえ公開されない場合が大部分です。
それは機能や仕様の問題ではなく商売上の理由だからでしょう。
この下位互換性の切り捨てで最も困るのは実はユーザーなのです。
この互換性という部分では私も悩んだ事があります。
それは まだ私がIT派遣、駆け出しだった頃の話なのです。
私は Windows XP を基準とした開発環境を所有しています。
XP 発表に先駆けて購入したのですが、派遣先では Windows NT4 を使っていたのです。
通常、下位互換性は保証されるべきなのですが、見事に裏切られたんですね。
同じNT系OSでありながらタイマーの仕様が異なるために XP や 2000 で動作する自前のツールが
NT4 では動作しなかったのです。
今では常識なのですが、当時はその情報も無く苦労しました。
某OS会社は「新しいOSを購入してください」の一点張りだったからです。
で、実は…。 現在でもその問題で悩んでいます。 私はあるソフトウェアを製作しています。
Vista でのチェックは行っていませんが、Vistaの下位互換性が保たれていれば動作は保証できる範囲です。
基準となる環境は XP ですから、それは問題ありません。
また NT は元々除外しているので考える必要はありません。
困ったのは ME なのです。 そう Windows ME です。
ME ユーザーはまだいます。
そういう私も 2000 ユーザーですが XP と2000 は根本的な部分はまるっきり同じなのです。
ME はと言うと 2000 より後発であるにも関わらず 95 系最後のOSだったのです。
互換性の面では大いに疑問なのです。
私の作品はOSを選ぶべきではないものです。
一般公開すれば誰がどんな環境で使うかわかりません。
最低限の機能だけは保証しなければなりません。
しかも某OS会社が保証もしていないのに。
こういう面から見ても新OSを販売するにあたり
ユーザーに新しいPCへの買い替えを迫るやり方はちっともエコではありません。
下位互換性を保証しつつ新機能の追加をユーザーが選べてこそのバージョンアップだと思うんですけどね。
という訳で「いまさら」な事で頭を抱えています。
PS:
今回は確かに互換性について語ってはいますが…、
サボりました。 (苦笑)
このテキスト、先に某所で公開していたのです。
という事で、次回は互換性の実現について書いてみたいと思います。
|