リファレンス実装とは、存在そのものが仕様書である。
概要
規格を制定する際、細かいところまで仕様書を作成するわけであるが、現代の共通規格などは詳細が複雑多岐にわたっており、いざ実装するとなると組み合わせた場合の優先順位など、仕様書に書かれていることだけでは判断がつかない問題が多々発生する。時には仕様書が2通りの意味に読めたり、記述が抜けていたりすることも。
そういった時にリファレンス実装が存在すれば、リファレンス実装で確認した動作が「正しい」ということになり、規格を決める側も利用する側も仕様書の詳細を詰める手間を省いて安心して事を進めることができるのである。
実際にはリファレンス実装以外に実装が存在せず、リファレンス実装 = デファクトスタンダードというケースも少なくない。
実例
Android
Googleが主導するオープンソースOS「Android」は、各社が自社の機器向けにカスタマイズしており、動作に微妙な違いが出ることが避けられない。
Googleブランドで提供されるNexusシリーズは、Android OSのリファレンス実装(リファレンス機)としても意味合いもあるとされており、アプリ開発者はまずはこのリファレンス機で動作するようにすることが期待されている。
逆に、Appleしか製造していないiOS機器にはメーカーごとの差異が存在しないので、リファレンス機という概念も存在しない。
Java
JavaはOracleの管理下にあり、Oracleの提供するJavaがデファクトスタンダードであるが、オープンソースであるため、(主にライセンス関係の問題から)OpenJDK, IceTeaといった他の実装も存在する。
現在ではOracle版でなくOpenJDKがリファレンス実装ということになったらしいが、Oracle版のJavaがデファクトスタンダードという状況には変化がないようである。
関連項目
- 1
- 0pt