OS X client の仮想化は禁止されていない by Apple Care

結論はタイトルの通りです。ただし、Apple Care を信じる場合に限る。もう少し詳しく知りたい方は、最後まで目を通して下さい。

MacIntel 製の CPU を採用してから、VMware FusionParallels Desktop を使っての OS 仮想化がかなり一般的になりました。WindowsLinux仮想マシンとして走らせるのに加えて、Mac OS X を同じ OS X 上で走らせるということも可能です。

Vmware Fusion 日本版 アクト・ツー版

Vmware Fusion 日本版 アクト・ツー版

しかし VMware Fusion の対応ゲスト OS としては

Mac OS X Server 10.6 Snow Leopard および 10.5 Leopard
http://www.act2.com/products/fusion3.html#tab4

と書かれてあり、また Parallels Desktop のほうでも

http://www.parallels.com/jp/products/desktop/resources/sr/

と書かれています。つまり、OS X Server はゲスト OS として使えるけれど、OS X Client (通常の安いほうの OS X) は走らせることができません。

この原因として、OS X のライセンスにその根拠があり、client OS のほうはライセンス上、Apple Inc. から仮想化を許可されていないという説があります。しかし、かつてそのような公式発表を Apple Inc. はしたことがなく、またライセンスにも仮想化については明示的に書かれていません。

Apple Care からの回答

Apple Inc. やアップルジャパンと直接やり取りするのは困難なので、先日、Apple Care に電話で質問してみました*1。大ざっぱな流れは以下の通り。枝葉末節は異なるでしょうが、これが Apple Care のクオリティかつ公式回答です

Q. VMware を使って仮想化する場合の、OS X Server と OS X Client のライセンスについて伺いたいのですが。
A. OS X Server の質問でしたら、Xserve の担当部署のほうへ回します。
Q. (再度同じ質問)
A. (少し待たされた後) 部署内にはVMware という外部ソフトを知っている人間が一人もおらず、どのようなソフトなのかも分からないので、サードパーティ製品については技術的な回答はできません
Q. VMware というのは非常に有名なソフトなのですが、本当に誰も知らないのですか?
A. (再び待たされた後) やはり知っている者が誰もいません。またサードパーティ製品についての質問は回答しかねます。
Q. それでは、OS X の仮想化について質問させて下さい。
A. 仮想化というものが何なのか分かりません。
Q. 仮想化というのは、1 台の Mac 上で複数の OS X を同時実行する技術です。このような使用は、OS X のライセンスで禁止されているのでしょうか。
A. OS X Client、OS X Serverともに、正規のライセンスを購入していれば、1 台の同一のMac上で、購入した数だけのライセンスを同時にインストールすることは問題ありません。
Q. それは、仮想化して同時実行しても問題ないということでしょうか。
A. アップルとしては、パーティションの分割を想定しており、お客様の仰るような同時実行については想定していません。またパーティションを分割して dual boot する以外に、そのようなことが技術的に可能だということを把握していません。
Q. それは禁止していないということでしょうか。
A. 想定していないため、禁止はしていません

ということで、OS X Client を仮想化するのは禁止されていないそうです*2

ネット上の情報

さて、禁止されていないというので一安心なのですが、あまりにサポートの回答の質が低かったため、不安は残ります。ネット上の情報を見てみましょう。次の文は、VMware の開発者である Pat Lee 氏が VMware の blog で書き込んだものです。

Oliver: VMware currently only supports running Mac OS X Leopard Server on Apple Hardware that is running Mac OS X or Mac OS X Server.

Paul: Apple does not permit Mac OS X client as virtual machines, only Mac OS X Leopard Server as virtual machines. Only Leopard Server is support in virtual machines to match Apple's policy.

Posted by: Pat Lee | June 14, 2008 at 07:24 AM

日本語訳は以下の通りです。

オリバー:VMware は現在のところ、Mac OS X もしくは Mac OS X Server の走っている Apple 製のハードウェア上での、Mac OS X Leopard Server の実行のみをサポートしています。

ポール:AppleMac OS X client を仮想マシンとしては許可しておらず、Mac OS X Leopard Server のみ仮想マシンとして許可されています。Apple のポリシーに合致させるため、Leopard Server のみが (VMware では) 仮想マシンとしてサポートされます。

これを読むと、AppleOS X client の仮想化を許可していないと読めます。しかも VMware の開発者という立場の、相当な専門家の書き込みです。しかし、AppleVMware の関係はともかく、本当にこんなことがライセンスに書いてあるんでしょうか。

自分でライセンスを「解釈」してみる

さて、禁止されていないのか禁止されているのか、混乱してきました。念のために OS X Server と OS X Client のライセンスを読み直してみましょう。田中俊光さんの blog でも、「解釈」が行われているので参考にして下さい。

以下に、Mac OS X Snow LeopardMac OS X Server Snow LeopardMac OS X LeopardMac OS X Server Leopard のライセンスの抜粋を載せます。仮想化に関連しそうな箇所のみ、英文、日本語ともに抜き出しました。複数台の Mac へのインストールや、Apple 製品以外へのインストールの禁止は自明なので、引用を割愛してあります。

2. Permitted License Uses and Restrictions.
A. Single Use License. Subject to the terms and conditions of this License, unless you have purchased a Family Pack or Upgrade license for the Apple Software, you are granted a limited non-exclusive license to install, use and run one (1) copy of the Apple Software on a single Apple-branded computer at a time.

2.許諾された使用方法およびその制限
A. シングルユースライセンス 本契約の契約条件に従って、お客様がAppleソフトウェアのファミリーパックライセンスかアップグレードライセンスをご購入された場合を除いて、お客様は、一回につき一台のAppleのブランドが付されたコンピュータにAppleソフトウェアを1部インストールし、使用し、稼働させることができる制限的、非独占的ライセンスを付与されます。

Mac OS X Snow Leopard 使用許諾契約書

2. Permitted License Uses and Restrictions.
A. Mac OS X Server Software. Subject to the terms and conditions of this License, you are granted a limited non-exclusive license to install and use one copy of the Mac OS X Server software (the “Mac OS X Server Software”) on a single Apple-branded computer. You may also install and use other copies of Mac OS X Server Software on the same Apple-branded computer, provided that you acquire an individual and valid license from Apple for each of these other copies of Mac OS X Server Software.

2.許諾された使用方法及びその制限
A. Mac OS X Serverソフトウェア  本契約の契約条件に従って、お客様は、Appleのブランドが付されたコンピュータ一台につきMac OS X Serverソフトウェア(以下「Mac OS X Serverソフトウェア」といいます)を1部インストールし、使用することができる制限的、非独占的ライセンスを付与されます。お客様はその1部以外にもMac OS X Serverソフトウェアを同じAppleのブランドが付されたコンピュータにインストールし、使用することができます。ただし、インストールされるMac OS X Serverに対してそれぞれ個別に有効なライセンスを取得しなければなりません。

Mac OS X Snow Leopard Server 使用許諾契約書

2. Permitted License Uses and Restrictions.
A. Single Use. This License allows you to install, use and run one (1) copy of the Apple Software on a single Apple-labeled computer at a time. You agree not to install, use or run the Apple Software on any non-Apple-labeled computer, or to enable others to do so.

2.許諾された使用方法およびその制限
A. シングルユース 本契約により、お客様は、一回につき一台のApple商標が付されたコンピュータにAppleソフトウェアを1部インストールし、使用し、稼働させることができます。お客様は、Apple商標が付されたコンピュータ以外のコンピュータにAppleソフトウェアをインストールし、使用し、稼働させないこと、または他の者にこれを行なわせないことに同意されたものとします。

Mac OS X Leopard 使用許諾契約書

2. Permitted License Uses and Restrictions.
A. Mac OS X Server Software. This License allows you to install and use one copy of the Mac OS X Server software (the “Mac OS X Server Software”) on a single Apple-labeled computer. You may also install and use other copies of Mac OS X Server Software on the same Apple-labeled computer, provided that you acquire an individual and valid license from Apple for each of these other copies of Mac OS X Server Software.

2.許諾された使用方法及びその制限  
A. Mac OS X Serverソフトウェア 本契約により、お客様は、アップル商標が付されたコンピュータ一台につきMac OS X Serverソフトウェア(以下「Mac OS X Serverソフトウェア」といいます)を1部インストールし、使用することができます。お客様はその1部以外にもMac OS X Serverソフトウェアを同じアップル商標が付されたコンピュータにインストールし、使用することができます。ただし、インストールされるMac OS X Serverに対してそれぞれ個別に有効なライセンスを取得しなければなりません。

Mac OS X Leopard Server 使用許諾契約書

さて、以下は自分なりの解釈です。

OS X client では、Snow LeopardLeopard で若干表現が違うものの、以下のような記述があります。

you are granted a limited non-exclusive license to install, use and run one (1) copy of the Apple Software on a single Apple-branded computer at a time.

This License allows you to install, use and run one (1) copy of the Apple Software on a single Apple-labeled computer at a time.

したがって、一度に 1 部しか "the Apple Software" を同時実行することができません*3。"the Apple Software" は明らかにそのライセンスの付随するソフトウェアのことですから、OS X Leopard の場合は Leopard を指し、Snow Leopard のことは指しません*4。つまり、複数の OS X Leopard を同時実行したり、複数の Snow Leopard を同時実行することはできませんが、OS X LeopardSnow Leopard を 1 部ずつ同時実行するのであれば問題ありません*5

次に OS X Server の方は、以下の記述が Snow Leopard Server、Leopard Server ともにあります*6

You may also install and use other copies of Mac OS X Server Software on the same Apple-branded computer, provided that you acquire an individual and valid license from Apple for each of these other copies of Mac OS X Server Software.

ライセンスさえ持っていれば、他のコピーも install して使って良いという記述があるため、これが「OS X Server ならば仮想化して良い」という世間的な解釈に繋がっていると考えられます。そのような解釈自体は間違っておらず、ゲスト OS もホスト OS も OS X Server であれば、何台でも同時実行可能なわけです。

ややこしいのは、OS X client と OS X Server が混在するときでしょう。現状の VMware では、OS X client を OS X server 上で走らせることは出来ず、その逆のみが可能になっています。しかしこれはライセンスを読む限り、全く禁止されるような行為では無いわけです。なぜなら、OS X client と OS X Server は異なるソフトウェアだからです。

私の解釈をまとめると、OK な例と NG な例は以下のような場合があります*7OS X Server Snow LeopardOS X Server LeopardOS X Snow LeopardOS X Leopard を、Server SL、Server L、SL、L と略します。

OK な例
  1. Server on Server (LeopardSnow Leopard の何でも良い。)
  2. Server SL on SL (もしくはこの逆)
  3. Server L on SL (もしくはこの逆)
  4. Server SL on L (もしくはこの逆)
  5. Server L on L (もしくはこの逆)
  6. L on SL (もしくはこの逆)
  7. Server L & L on SL (他の組み合わせでも、Snow Leopard client と Leopard client が最大 1 部ずつであれば OK)
NG な例
  1. L on L
  2. SL on SL
  3. SL & SL on Server L (他の組み合わせでも、同一の OS X client が入っている場合)

追記

最新の田中俊光さんの記事を読んで思い出しましたが、Snow Leopard にはアップグレードライセンスと通常のライセンスがあります。前者は 3,000 円くらいの奴で、後者は Snow Leopard がプリインストールされている Mac か、Mac Box Set を買わないと入手できません。前者の場合、

C. Leopard Upgrade Licenses. If you have purchased an Upgrade for Mac OS X Leopard license, then subject to the terms and conditions of this License, you are granted a limited non-exclusive license to install, use and run one (1) copy of the Apple Software on a single Apple-branded computer as long as that computer has a properly licensed copy of Mac OS X Leopard already installed on it.

とあるので、Leopard が既にインストールされたマシンにしか Snow Leopard をインストールできません。したがって、Leopard on Leopard を作成してから Snow Leopard on Leopard にすることは禁止されます。アップグレードライセンスを使って両者を同時実行したい場合は、まずホスト側を Leopard から Snow Leopard にし、そしてゲストとして Leopard をインストールするしかないでしょう。

*1:0120-27753-5 に電話して Xserve 担当部署の○○さんとお話しました。

*2:ただし、少なくとも VMwareOS X Client を仮想化するたためには、少し下準備が必要です。ネットで検索して下さい。

*3:日本語の「一回につき」は "at a time" の誤訳でしょう。「一度に」とか「同時に」と訳すのが適切です。

*4:もしも "the Apple Software" が LeopardSnow Leopard も指すのであれば、iTunesiWork を同時実行できないことになります。同様の表現がそれらのソフトのライセンスにも書かれているからです。

*5:仮想マシンが複数あり、同時実行しなければ OK です。

*6:"Apple-branded" と "Apple-labeld" という言葉の違いだけです。

*7:ソフトウェア的に、VMwareparallels が対応しているかは別です。