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オペレーティングシステムの決定的な特徴は、既に旧世代OS化していた従来の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に繋がるcolumn viewのようなものも含まれていた。

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で既に致命的なほどにOS開発戦略に失敗していたAppleにとってモダンOSの機能を急ピッチで強引に取り込むための唯一の手段と思われたが、上記の通りAPIに互換が無いために従来のClassic Mac OS用のアプリはそのままでは動作しないという欠点も持っていた。そのため、Rhapsodyはサーバおよびハイエンド向けのMac OSとして用意し、それと別に従来のMac OSもコンシューマー向けにアップデートしていくという戦略的なアナウンスがされていた。

エミュレーション環境内で発生する不具合等を回避し、Rhapsodyの機能を最大限に活用するには、Yellow Boxでプログラムを一から書き直さなければならなかったので、従来からの開発者の支持を得ることができなかった。アドビシステムズやマイクロソフトを含むMacintoshの大手ソフト会社からの、事実上対応版を出さないという表明と同様の異論が出たこともあって、結局Rhapsody開発計画は1998年5月時点で中止され、AppleのOS戦略から除外された。その後、Rhapsodyとは全く別にRhapsodyとClassic Mac OSの両方の要素が混ざったMac OS Xが開発された。

なお、Machマイクロカーネルや4.4BSDの機能、OpenStep仕様などの各種技術はその後のMac OS開発に引き継がれた。APIのCarbonやマルチメディア技術のQuickTimeやスクリプト言語のAppleScriptなどいくつかは実際のmacOSのコアであるDarwinでも採用されている。

## 名称

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 Release | Grail1Z4 | 1997年8月31日 | Rhapsody 5.0 |
| Rhapsody Developer Release 2 | Titan1U | 1998年5月14日 | Rhapsody 5.1 |
| Rhapsody Premier |  | 1998年 | Rhapsody 5.2 |
| Mac OS X Server 1.0 | Hera1O9 | 1999年3月16日 | Rhapsody 5.3 |
| Mac OS X Server 1.0.1 | Hera1O9 | 1999年4月15日 | Rhapsody 5.4 |
| Mac OS X Server 1.0.2 | Hera1O9+Loki2G1 | 1999年7月29日 | Rhapsody 5.5 |
| Mac OS X Server 1.2 | Pele1Q10 | 2000年1月14日 | Rhapsody 5.6 |
| Mac OS X Server 1.2 v3 | Medusa1E3 | 2000年10月27日 | Rhapsody 5.6 |