2012-12-09

Mac OS XのバイナリをGNU/Linuxで実行するソフトウェア

[Phoronix] A New Project To Run Mac OS X Binaries On Linux

Mac OS X用のバイナリをGNU/Linuxで実行するソフトウェアが開発されているらしい。その名をDarlingという。

Darling - The Darling Project

名前についてだが、Mac OS XのカーネルであるDarwin用のソフトウェアを実行するので、Darlingという名前らしい。

Darlingは、Windows用のバイナリをGNU/Linuxで実行するソフトウェアであるWineと同じ仕組みで、Mac OS X用のバイナリを実行する。

すなわち、バイナリを読み込んでLinuxカーネル用に適切にメモリ上にマップし、Mac OS Xが提供しているAPIとABI互換の実装を用意し、バイナリ互換を実現するものである。Mac OS XのObjective-CライブラリであるCocoaの、自由なソフトウェア実装である、GNUstepを使っているそうだ。

iOSのバイナリ互換は、今のところ目指していない。というのも、iOSはARMだからだ。

まだ時期尚早であり、今のところ、一部のコンソールプログラムを実行できる程度にとどまっているようだ。

Wineといい、Darlingといい、このような互換レイヤーは、本来必要がないのだ。というのも、我々は自由なソフトウェアのみを実行すべきであり、ほとんどのソフトウェアが不自由であるWindowsやMac OS X用の互換レイヤーは、不自由なソフトウェアの実行を容易にしてしまう。

しかし、長期的に考えると、ソフトウェア保存という点で、やはり存在していたほうがいいともいえる。というのは、不自由なソフトウェアである現行のWindowsやMac OS Xは、30年後には存在していないであろうし、現行の不自由なソフトウェアは、存在自体が人道上の罪であるとはいえ、やはり貴重な文化的財産として、等しく保存されるべきものである。ソフトウェアを保存するためには、実行環境も保存しなければならない。

実行環境の保存には、二つの方法がある。ひとつには、実行環境のOSを保存し、OSの実行は、ハードウェアのエミュレーター上で行うというものだ。もうひとつには、OSの互換ソフトウェアを作るという事だ。

GNU+Linux+Wineは、ReactOSのようなWindows互換OSではない。しかし、私はReactOSよりは、よほど現実的な実行環境の保存方法であると思う。

将来に残るものを考えよう。保存できる可能性の高いものは、有名で誰でも入手できるものだけである。Windowsのバイナリは、邪悪なEULAに同意しなければならず、しかもライセンスであり、我々は所有の権利を持たないので、我々は入手してはならないし、また入手できないというべきである。さらに、Windowsのソースコードに至っては、国家、教育機関、大企業などが、研究のためにNDAを結んで始めて閲覧できる程度だ。容易に入手できないものは、保存される可能性が低い。したがって、Windowsはバイナリ、ソースコードともども残らない。

さて、ReactOSは自由なソフトウェアであるが、有名ではない。GNU+Linux+Wineは、有名だ。したがって、GNU+Linux+Wineの方が、将来保存される可能性が高い。また、GCCも将来残る可能性が高い。したがって、将来もGNU+Linux+Wineのソースコードから、x86/x64用のバイナリを生成することができるだろう。

たとえ将来x86アーキテクチャが滅んだとしても、有名で自由な実装で、移植性の高いx86エミュレーターがある。そして、GNU+Linux+Wineもx86/x64用のバイナリを生成できるソースコードが残る。

これをもってこれをみれば、Windows用の不自由なバイナリを保存するためには、バイナリと、GNU+Linux+Wineと、GCCと、自由なソフトウェアのx86エミュレーターを一緒に保存しなければならない。

ただし、そこまでして保存する価値のあるソフトウェアは少ないし、ましてや最近のソフトウェアは、邪悪なDRMを用いて、保存を拒否している。

DRM(デジタル制限管理)は、利用者を制限し、保存を制限する人道上の罪である。もし我々の祖先が、石器や土器にDRMをかけ、数百年後に必ず砕け散るように設計していたとしたならば、今の考古学は発達しなかったであろうし、粘土板、パピルス、木簡、竹簡、羊皮紙、絹、紙などにDRMをかけ、保存できないようにし、また許可無く読めないようにしていたならば、我々は歴史というものを持たなかったであろう。

また、大量の書物を焼却したという点で、カエサル、キリスト教徒、秦の始皇帝は極悪人であり、たまたま法を犯してアレキサンドリア図書館から違法に書物を持ち出し、また書物を壁に塗りこめて焚書を逃れしめた者は、歌われぬ英雄として、現代人に多大な恩恵をもたらした正義の徒である。

歴史をみれば明らかなように、DRMのかかった非人道的なソフトウェアは、ほとんど残らないだろう。数百年後を考える。かろうじて消失を逃れたわずかなソフトウェアのうち、たまたま実行環境も保存されていて動くものだけが、歴史家によって研究されている。法を犯し、DRMを破り、ソフトウェアを保存した当時の犯罪者は、英雄として静かに尊敬されているだろう。

No comments: