Copland

背景

1988年の3月にアップルの技術マネージャー達が今後のMac OSの開発計画を策定した。カラー化の様な短期的に達成が可能なアイデアを青いインデックスカードに、マルチタスクといった中長期的な目標をピンクのインデックスカードに、そして実現が難しそうな物を赤色のインデックスカードにまとめた。これを元に、既存のOSを改修するBlueチームと、新OSを開発するPinkチームとの2つのプロジェクトに分かれてそれぞれ開発が行われた。当初は1990年から1991年にかけてBlueチームが既存のOSのアップデートをリリースし、93年頃にPinkチームが新OSをリリースする予定であった。
Blueチームは1991年の5月13日にSystem 7を発表したが、一方のPinkチームは仕様が巨大化してしまい収拾がつかなくなる、所謂セカンドシステム症候群によって遅々として開発が進まずにいた。同年10月2日にIBMとアップルの連携が発表され、その契約の1つとして合弁会社「タリジェント」を設立し、Pinkを元にオブジェクト指向型の次世代OSの開発を行うこととなった。この連携はハードウェア的には成功し、RISC型CPUのPowerPCの開発が行われ新しいMacintoshに搭載された。しかし、ソフトウェア的には失敗し、OSの開発は停滞した。事実上IBMが主導して開発することとなり、アップルの手を離れたタリジェントOSはフレームワークCommonPointと姿を変えていった。1995年12月には提携の解消に至った。
その間にもSystem 7は既に基本設計が古く様々な部分で限界が見えていた（Classic Mac OSの初版リリースは1984年）。問題点として指摘されていたのは、「メモリ保護の欠如」「プリエンプティブなマルチタスク機構の欠如」、「サードパーティーの基幹部分への機能拡張によるシステムの不安定化」、などが挙げられていた。これらの理由からシステムは非常に不安定なものとなり、クラッシュが頻発することとなった。さらに、PowerPC搭載モデルのPower Macintosh登場以降もOSコアの部分に残る68000時代のコードによる制約があり、PowerPCのスペックを十分に生かし切れないどころか、それが原因となったクラッシュも多発した。
旧来のMac OSの技術が陳腐化し、さらに次世代OSの開発が停滞する間にも、アップルの創業者であるスティーブ・ジョブズ率いるNeXTによって開発されたNeXTSTEP、 マイクロソフトのWindows NT、サン・マイクロシステムズのSolarisなど、メモリ保護機構やプリエンプティブマルチタスクを備えた堅牢な次世代OSが市場を席巻しはじめていた。
以上の背景から、次世代OSの開発の必要性に迫られ、当時の開発責任者のデビッド・ネーゲル上級副社長が中心となり、1994年に正式にCopland計画がスタートした。

歴史

MacintoshのOSは、1984年の出荷以降、System 7まで大幅に強化改良されたものの、基本的な部分はほとんど進化していなかった。1990年代に入ると、マルチメディアやネットワークの時代を迎え、従来はミニコンや大型汎用機のOSの機能であったマルチタスク（プリエンプティブマルチタスク）、メモリプロテクション（メモリ保護）、仮想メモリ、ネットワーク機能を備えた“モダンOS”が、次世代のパソコン用OSに必要だと考えられるようになった。
System 7が提供するマルチタスクも仮想メモリもあくまで擬似的なもので、モダンOSにはほど遠く、継ぎ接ぎで機能を拡張した結果、動作が不安定になりやすいという欠陥を抱えていた。いくら操作性や外観がよくとも、Mac OSは頻繁な強制再起動が強いられる不安定なOSとしての評価を受けることとなってしまう。この問題を解決するために、Apple社内では、幾度にもわたり新しいOSの作成が計画された。当時のSystem 7の機能を拡張してネットワーク機能やGUIを拡張する"Blue"計画は、System 7.5としてリリースされたが、未来志向の“オブジェクト指向OS”を作る“Pink”計画は、IBMも巻き込んで別会社を作り開発し始めたが、要求仕様だけが膨らみ続け、道半ばで頓挫した。
Pink OSの反省からやり直された新OSが開発コード「Copland」で、System 7.x系と互換性を持たせつつ、革新的なGUI、暫定的なマルチタスク機能と暫定的に改良されたメモリ管理機能を提供し、メモリ4MBのMac Plusでも動作するほどコンパクト、というふれこみであった。さらにCoplandの先には、モダンOSの条件を備えた、開発コード「Gershwin」が予定されていると発表された。
1996年5月、Appleは「Worldwide Developers ConferenceでCoplandを『Mac OS 8』として発売する」と発表した。しかし、期待されていたベータ版の配布は行われず、基調講演でアメリオが新しいFinderのデモを見せる程度で終わってしまった。このころ、Coplandは各モジュールがばらばらに開発されている状態で、OSとして組み上げられないという悲惨なものであった。また、Gershwinは名前とコンセプトの触れ込みだけで、開発はまったく手をつけられていなかった。この状況を調べ上げたCTO兼副社長のエレン・ハンコックは、Coplandが完成する見込みがないと早々に判断を下した。IBMやノベルの撤退でOpenDoc計画も中止になり、Coplandは次第に人々の記憶から消えていった。
アメリオとハンコックはCoplandの開発中止を発表し、予定されていたCoplandの機能は、1年ごとに「Tempo」「Allegro」「Sonata」（いずれも開発コード）として少しずつリリース、その合間にマイナーアップデートを提供すると発表、翌1997年1月に、「Mac OS」という呼称を初めて公式に採用したSystem7.5のマイナーアップデート版「Mac OS 7.6」が発売された。7.6登場の前後、PowerPCによる実質的なマッキントッシュ互換機のための仕様であるCHRPが策定される。CHRPは、PowerPCを搭載するマッキントッシュ上でWindows NTなどのIBM互換機で動作するOSをネイティブに動かすことができ、以後のOSに対する方向性を打ち出したものだった。しかし、互換機に対する抵抗感があるAppleは二の足を踏むこととなり、1997年にNeXT社を買収したことによるRhapsody（後述）の登場によってCHRPの存在意義がなくなってしまった。
Copland計画を白紙に戻したアメリオとハンコックは、次期Mac OSとなる新たなOSを外部から調達することを決定する。計画中止後、アップルはNeXTを買収し次世代OS計画を "Rhapsody" へと移行させる。後に "Rhapsody" 計画は変更され、代わりにMac OS Xの計画が発表される。"Rhapsody"自身は暫定的にMac OS X Serverとしてリリースされた。その間Copland技術のうち転用が可能な部分は順次Mac OS 8、9などに応用された。ファイルシステムのHFS+や、アピアランス・マネージャ（ただしプラチナ以外のアピアランスは搭載されず、アピアランスの切り替え機能はあえて使えなくされていた）、キーチェーンなどがこれにあたる。そのうちいくつかの機能は現在のmacOSにも引き継がれた。しかしこれらの機能は、本来Copland用の新しい概念のために設計された技術であり、Mac OS 8 / 9では完全に性能を生かしているとはいいがたかった。
なお、開発中止当時はMacintosh互換機が市場に登場した時期であった。市場では徐々に互換機が売り上げを伸ばし始めた時期であったが、アップルは再び方針を転換し互換機排除を決定した。この時、アップルと互換機メーカーのライセンス契約がSystem 7 (Mac OS 7) シリーズに限定されていた事を利用し、System 7.7として開発されていた従来型Mac OS（コードネーム:Tempo）にMac OS 8の名を割り当て、ライセンス契約を強行的に打ち切った。

技術的困難

Coplandの開発にあたっては様々な技術的な困難が発生した。いくつもの要因が指摘されているが、中でも完全なシングルタスクを前提としたToolbox APIは、リエントラントにすることが難しかったためだと推測される。結果としてマルチタスク環境との両立が極めて困難なものとなった（この反省は後のCarbonに生かされた）。