Rhapsody (オペレーティングシステム)

Rhapsodyは、1996年後半のAppleのNeXT買収から1998年のMac OS Xが発表されるまでの間における、Appleの次世代オペレーティングシステムの開発コードネーム。

Rhapsodyは、よりMacらしく見えるようにする新しいGUIと一緒にPower Macに移植されたOPENSTEPオペレーティングシステムによって概ね成り立っている。QuickTimeとAppleSearchを含むいくつかのClassic Mac OSの技術もRhapsodyに移植した。Rhapsodyは、エミュレーション層のBlue Boxを使ってMac OS 8も実行できた。また、Yellow Boxと呼ばれたオブジェクト指向を備えたAPI群によって、Macintoshだけでなく、PC/AT互換機でも動作させるマルチプラットフォームを指向していた。

 歴史 
Rhapsodyは1997年のWWDCで最初のデモンストレーション（デモ）を行なった。インテルのx86のCPU版とPowerPCのCPU版の2つの開発者版のデモが引き続いて行なわれた。この後、Blue BoxがPowerPC上である程度使用可能になるPremier版と、続く1998年の第2四半期にPowerPC上のBlue Boxが完全に装備される完全なUnified版が登場すると発表した。2つの非常に異なるシステムの機能を統合させるAppleの開発スケジュールは、今後のリリースの機能を予測困難なものにした。1998年5月のニューヨークのMacWorld Expoにおいて、スティーブ・ジョブズは、Rhapsodyは(1999年に出荷される)Mac OS X Server 1.0に名称を変更し、サーバー向けOSとしてリリースされることを発表した。このバージョンのRhapsodyは、あくまでサーバのプラットフォームでしかなく、Macintosh用アプリケーションを動かすための製品ではないため、一般ユーザ向けではなかった。そのソースコードから、Darwinとオープンソース部分がMac OS Xへフォークされた。

 企画・設計 
Rhapsodyオペレーティングシステムは、旧世代のMac OSとは根本から異なる。決定的な特徴は、Mach 2.5 マイクロカーネルを採用し、4.4BSDのシステム、NeXTで開発されたOPENSTEP仕様準拠のオブジェクト指向API群のYellow Box、従来のMac OSと互換性のあるインタフェースClassicとJava仮想マシンが搭載されることであった。

そのユーザインタフェースは後にMac OS 8のプラチナアピアランス（アピアランスとはデスクトップやウィンドウの外観を変えることができる機能。この場合、プラチナ調のアピアランスのこと）でモデル化された。以前のバージョンのMac OSのFinderによるファイル管理機能はOPENSTEPのWorkspace Managerに替わって制御されることとなった。従来のMac OSのFinderには見られないOPENSTEPから継承された追加機能は、後のmacOSのFinderに繋がるのようなものも含まれていた。

Power Macのアーキテクチャ上で実行されている場合にのみ使用できるRhapsodyのBlue Box環境は、Classic Mac OSアプリケーションとランタイムライブラリの互換性を提供する責任があった。後にMac OS Xで実装される、より合理的で統合されたClassic互換レイヤと比較すると、Blue Boxのインターフェイスは、エミュレートされたClassic Mac OSアプリケーションとRhapsodyのネイティブなアプリケーションの間に明確な壁があることをユーザに痛感させるものであった。すべてのエミュレートされたアプリケーションとその関連する作業用ウィンドウを、ネイティブなYellow BoxのAPIを使用したアプリケーションを点在させる代わりに、1つのBlue Boxのエミュレーション用ウィンドウにカプセル化する仕組みだった。これはクロス環境の相互運用性を制限し、様々なユーザインタフェースの不具合を発生させた。

「UNIX上で駆動するMacインタフェース」といえるこの仕様は、Copland計画で致命的な失敗していたAppleにとってモダンOSの機能を急ピッチで強引に取り込むための唯一の手段と思われたが、上記の通りAPIに互換が無いために従来のClassic Mac OS用のアプリはそのままでは動作しないという欠点も持っていた。そのため、Rhapsodyはサーバおよびハイエンド向けのMac OSとして用意し、それと別に従来のMac OSもコンシューマー向けにアップデートしていくという戦略的なアナウンスがされた。

エミュレーション環境内で発生する不具合等を回避し、Rhapsodyの機能を最大限に活用するには、Yellow Boxでプログラムを一から書き直さなければならなかったので、従来からの開発者の支持を得ることができなかった。アドビシステムズやマイクロソフトを含むMacintoshの大手ソフト会社からの、事実上対応版を出さないという表明と同様の異論が出たこともあって、結局Rhapsody開発計画は1998年5月時点で変更され、AppleのコンシューマOS戦略から外された。その後、RhapsodyをベースにClassic Mac OSの要素がCarbon APIとして搭載されたMac OS Xが開発された。Machマイクロカーネルや4.4BSDの機能、OPENSTEP仕様などの各種技術はその後のMac OS X開発に引き継がれた。マルチメディア技術のQuickTimeやスクリプト言語のAppleScriptなどいくつかは実際のMac OS Xでも採用されている。

 名称 
Rhapsodyの名称の由来はラプソディから来ており、Appleが1990年代にリリースしたオペレーティングシステムに、音楽に関連するコードネームを名付けたパターンに習ったものである。未完に終わったAppleのもう1つのオペレーティングシステムであるCoplandのコードネームのGershwinは『ラプソディ・イン・ブルー (Rhapsody in Blue)』の作曲家のジョージ・ガーシュウィン (George Gershwin) から名付けられた。Coplandという名称自体は別のアメリカ人作曲家のアーロン・コープランド(Aaron Copland)から名付けられている。他の音楽に由来したAppleのオペレーティングシステムのコードネームには、Harmony (Mac OS 7.6)、Tempo (Mac OS 8)、Allegro (Mac OS 8.5)、Sonata (Mac OS 9)がある。

 バージョン史 
バージョンコードネームリリース日OS名Rhapsody Developer ReleaseGrail1Z41997年8月31日Rhapsody 5.0Rhapsody Developer Release 2Titan1U1998年5月14日Rhapsody 5.1Rhapsody Premier1998年Rhapsody 5.2Mac OS X Server 1.0Hera1O91999年3月16日Rhapsody 5.3Mac OS X Server 1.0.1Hera1O91999年4月15日Rhapsody 5.4Mac OS X Server 1.0.2Hera1O9+Loki2G11999年7月29日Rhapsody 5.5Mac OS X Server 1.2Pele1Q102000年1月14日Rhapsody 5.6Mac OS X Server 1.2 v3Medusa1E32000年10月27日Rhapsody 5.6