互換性(ごかんせい、英語: Compatibility)とは、ある部品コンポーネント(構成要素)などを置き換えても同様に動作させることができる性質のこと。

特に工業製品では、互換性を確保することで新たなシステムを用意する必要がなくなり、設計や部品の再利用性が高まることでコストカットを見込めることや、過去の製品からの買い替えなどを進めることができたりする。ただし、古に縛られてしまうために技術革新の妨げとなるという側面もある。互換性を確保するために余計なコストがかかる場合は軽視されることがあるほか、メーカー間の互換性はベンダーロックインを狙うため、あえて削ぐものもある。

互換性の種類

編集

互換性はその性質により、以下のような種類がある。

相互互換性(英語: Interchangeability
機能・性能などが類似しており、相互に置き換えが可能なこと。交換可能性、可換性とも呼ばれる。[1]
前方互換性(英語: Forward compatibility
古いシステムでも新しいシステム向けのデータなどが破綻なく使用できること[2]。「旧システム→新システムのデータ」
後方互換性(英語: Backward compatibility
古いシステム向けのデータなどが新しいシステムでも全て使用できること。[3]。「旧システムのデータ←新システム」
上位互換性(英語: Upper compatibility, Superset)
機能・性能・グレードが上位の製品が、下位の製品の全ての機能を有すること[4]。「上位の製品(下位の製品の全ての機能)」
下位互換性(英語: Lower compatibility, Subset)
機能・性能・グレードが下位の製品が、上位の製品の一部の機能を有すること[5]。「下位の製品(上位の製品の一部の機能)」

後発の製品はそれ以前に発売された製品よりも機能や性能が優れていることが多いため、後発の製品は後方互換性・上位互換性を有することがよくある。ただし、後発の製品が以前に発売された製品の廉価版であるときなどは、この性質は成り立たない。逆に先発の製品が後発の製品と同じ機能を持っている場合は、前方互換性・下位互換性を有することもある。

上位互換性という表現は英語から輸入されたものであるが、英語圏においては「Upper compatiblility」という言い方は一般に使われず、後方互換性の「Backward compatibility」などを使うが通常である。[6]

2000年代中頃までは、任天堂やソニー、MSなどによって「下位互換性」を新しい製品が持つ後方互換性の意味で使用されており、今とは意味が逆であった[7]


またソフトウェアにおいては、異なる規格間で仕様に互換がある場合、「上位集合的互換性」を持つものを「スーパーセット(Superset)」と呼び、「部分集合的互換」を持つものを「サブセット(Subset)」とも呼ぶことがある。例えば、データ形式の1つであるYAMLJSONのスーパーセットであり、逆にJSONはYAMLのサブセットである。画像形式の1つであるMNGPNGのスーパセットになる。なお「制約の集合」と「その制約を満たす何かの集合」では、サブセットとスーパーセットの対応が逆になるため、このような集合ベースの考え方もまた混乱の原因になりやすい。敢えて単純化した例を示すと「0以上の整数」と「0以上の整数で、かつ、3の倍数」を比較すると、「制限の数」は前者のほうが少ないためサブセットであり)、一方でそれが意味している「整数の数」は後者のほうが少ないためサブセットになっている。

互換性の実現

編集

相互に互換性を有する部品コンポーネント(構成要素)は、なんらかの標準化された規格にしたがっていることが多い。これは、なんらかの機関団体によって規定されたデジュリスタンダードと、市場で大きなシェアをもつものに倣ったデファクトスタンダードの2通りがあり、いずれもその規格の範囲内で互いに交換することが可能である。

また、市場のシェアや普及率が大きいことなどを理由としてのちの製品に前方・後方互換を持たせることも多い。例えばビジネスで多くの文書が作成・運用されているMicrosoft Officeは、過去のバージョン製品とファイルをやりとりできるように新しいバージョンの製品にファイル形式の前方互換および後方互換を持たせている。Office 2007以降で採用されたOffice Open XML形式ファイルは、Office 2007以降の製品間で相互にやりとりできるものの、Office 2003以前では(互換機能パックを使わない限り)利用することはできないが、Office 2007以降でも旧製品で利用可能な旧形式(Office 97 - 2003)で読み書きすることは可能である。[8]そのほか、すでに広く普及していたUSB 2.0規格の後継となるUSB 3.0ポートでも、USB 2.0までしか対応していない既存の古い周辺機器(USBメモリなど)が接続できるよう、後方互換を持たせたりといった例がある。[9]また、ユーザーの慣れやユーザビリティも互換性を確保するための大きな理由となりうる。

利点・欠点

編集

大まかに言えば既存のデータやシステム、知識などが無駄にならないことがユーザー側の視点に立ったときの利点である。

対して、より効率のいい手段・方法があるにもかかわらず古い方式(レガシーシステム)に拘束されてしまうため、互換性を確保しつづけるためのコストがかかってしまうことがメーカー側の視点に立ったときの欠点となる。PC/AT互換機BIOSのようにレガシーシステムのサポートが肥大化した結果、規格の拡張に支障を生じてしまうケースもある。

脚注

編集

関連項目

編集
  NODES
iOS 1
os 2
web 6