互換性

提供: miniwiki
2019/2/28/ (木) 19:19時点におけるw>KEINOSによる版 (互換性の種類: 多くの「スーパーセット」のリンク先が「互換性」になっているものの言及がなかったので追記。)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
移動先:案内検索

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

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

互換性の種類

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

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

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

これらの語はしばしば混同される。前方・後方は時系列についてであり(前方が未来を、後方が過去を意味し、一般的な前後と逆になる)、上位・下位は機能および性能の比較である。何を比較するか、そしてどちらを比較基準にするかを取り違えることのないよう明確にするべきである。

またソフトウェアにおいては、異なる規格間で仕様に互換がある場合、上位集合的互換性を持つものを「スーパーセット」と呼び、部分集合的互換を持つものを「サブセット」とも呼ぶことがある。例えば、データ形式の1つであるYAMLJSONのスーパーセットであり、JSONはYAMLのサブセットであったり、画像形式の1つであるMNGPNGのスーパセットであるなど。

互換性の実現

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

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

利点・欠点

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

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

脚注

関連項目

no:Datakompatibilitet