Innotekが仮想化ソフトウェアをオープンソース化
ドイツのInnoTek Systemberatung GmbHの事業は、IBMのインフラストラクチャを実行していた企業や金融機関の支援から始まった。「そうした企業の多くはOS/2のような時代遅れのプラットフォームを使い続けていた。そうした巨大なインフラストラクチャはおいそれと気軽に置き換えることができないため、仮想化技術はごく自然なソリューションだった」と語るのはInnotekの総括責任者Achim Hasenmueller氏である。Innotekはずいぶん前に仮想化のビジネスに着手し、現在のMicrosoft Virtual PCにもかなりの貢献をした、ともHasenmueller氏は言う。「現在、当社が抱えている仮想化のエキスパート集団はヨーロッパで最大の規模を誇る」
VirtualBoxは特殊用途のツールとして生まれ、官公庁や企業でもう何年も使われている。「当社は比較的小さな企業なので、製品のオープンソース化はその名を広めるきっかけになるだけでなく、外部の人々から協力を得る格好の機会にもなり、もしかするとやがては当社に入ろうと考えている優秀なプログラマが見つかるかもしれない」とHasenmueller氏は言う。
本日からVirtualBoxは2通りの形で入手できるようになる。VirtualBoxのバイナリは個人の利用者なら無料で入手できるが、それらを教育機関以外の組織や企業に転用することは認められない。もう1つの選択肢がVirtualBox OSEで、こちらはすべてのソースコードがGNU General Public License 2の下で利用できる。
VirtualBoxをVMwareに匹敵するパフォーマンスと評したあるレビュー記事(ドイツ語)を取り上げ、Hasenmueller氏は次のように話す。「我々がねらっていたのはこれだ。機能面ではVMwareやVirtual PCのような“メジャーな”クローズドソースのプログラムに我々は決して負けていない。我々の目標は、変更されていないそのままのゲストOSを優れたパフォーマンスで実行し、サーバ、デスクトップ、組み込みの用途で使えるようにすることだ」
Hasenmueller氏は、すべての仮想化機能をCOM/XPCOM APIで公開するVirtualBoxの「洗練されたクライアント/サーバ設計」を大いにアピールしている。これにより、仮想化エンジンに対する独自のフロントエンドの設計が可能になっている。「すでに我々は3つのグラフィカル・フロントエンドと1つのコマンドラインインタフェースを用意しており、これらは連携させることができる。すると、たとえば、ポイントアンドクリック式のGUIから仮想マシンを起動した後、コマンドラインまたはリモートから仮想マシンの停止、保存、復元が行える。こうした柔軟性は他の仮想化ソフトウェアにはない」と彼は言う。
「我々は任意のUSBデバイスをサポートし(USBコントローラを仮想化しているため)、Remote Desktop Protocol(RDP)を介した仮想マシンへのリモート接続、さらにRDP経由でのUSBデバイス参照までサポートしている。つまり、リモート仮想マシンのRDPデータを表示しているローカルマシンに何らかのUSBデバイスを接続すると、リモートの仮想マシンはこのUSBデバイスを使って作業できるのだ。また、VirtualBoxではiSCSI対応機器を仮想ハードディスクとして利用することもできる。つまり、iSCSI対応のストレージサーバがあれば、そこに仮想ハードディスクを置くことで通常の仮想ディスクファイルに伴う相当な量のオーバーヘッドを回避できるわけだ。もちろん、通常の仮想ディスクファイルも一応サポートはしているがね」(Hasenmueller氏)
ただし、後半で説明した仮想USBコントローラ以降の機能は、オープンソース版であるOSEには含まれない。「こうした機能はすべて基本的に企業を対象としたものだ。VirtualBoxの開発を継続するためには何らかの収益が必要であるため、企業の方々にはフルリリース版を購入してもらえるようにOSEのほうは機能を制限している。とはいえ、これらの機能のテストは誰でも行える。評価目的のほか、個人および教育用途であれば無料でフルリリース版のバイナリが使えるからだ」
Hasenmueller氏によると、Innotekではこれらの機能をUSBや共有フォルダの機能を皮切りに、段階的にオープンソースとしてリリースしていく予定だという。
InnotekはIRCチャンネル(irc.freenode.orgの#vbox)とメーリングリストを介してユーザサポートを提供している。
GPLライセンスの下でソースコードを公開したことにより、VirtualBoxの開発にはより多くの人々が協力するようになるだろうとHasenmueller氏は期待する。Innotekは協力募集のページに協力を求めている分野を列挙して勧誘を行っている。
なお、協力者はすでに殺到しているという。「ドイツの雑誌に掲載記事が出てからわずか数時間のうちに、機能の追加を申し出る人々がIRCチャンネルに押し寄せ始めたことに、我々は非常に嬉しい驚きを感じた。さらにVirtualBoxに向けられる彼らの意気込みは、我々の期待を上回っているようだ」(Hasenmueller氏)
コミュニティの貢献を得たいのはもちろんだが、Innotekは独立系ソフトウェアベンダ(ISV)にもVirtualBoxの柔軟性を印象づけたいと考えている。Hasenmueller氏が期待しているのは、VirtualBox周辺で独自のソリューションを構築できるISVの参画である。「十分にテストされた仮想化ソリューションを構築したいと考えている開発者にとって、VirtualBoxは理想的なインフラストラクチャだ」
これ以降の製品に対するリリースサイクルは決まっていないが、Innotekはすでに自動同期化(automatic synchronization)を実施している。これにより、Innotekの内部ツリーに起因するすべての変更はすぐさまOSEのSubversionサーバに反映される。
VirtualBoxは移植が容易であり、Mac OS Xや64ビットプラットフォーム向けの移植版もこの四半期後半でのリリースが予想されている、とHasenmueller氏は言う。「またもちろん、ソフトウェア仮想化技術にはパフォーマンスの向上と特定の問題解決の余地が常にある。これらは我々が継続的に取り組んでいる課題だ」