Germany's InnoTek Systemberatung GmbH started out by supporting enterprises and financial institutions that were running IBM infrastructure. "As many of these enterprises were running outdated solutions such as OS/2, but cannot simply replace such huge infrastructures with the snap of a finger, virtualization was a natural solution to them," says Achim Hasenmueller, general manager of InnoTek. Hasenmueller adds that his company has been in the virtualization business for a long time and has also contributed substantial parts to what is now Microsoft Virtual PC. "Today we staff the largest group of virtualization experts in Europe," he says.
VirtualBox began life as a special-purpose tool and has been in use by governments and corporations for several years. "As we still are a comparably small company", Hasenmueller says, "we felt that open-sourcing the product would not only generate enough of a stir to make the product well-known, but it would also give us a chance to accept contributions from outside people and maybe find competent programmers who will eventually join the company."
From today, VirtualBox will be availablein two flavors. VirtualBox binaries are available free of charge to individuals, but they are not allowed to deploy them in an enterprise, with the exception of educational institutes. The other option is to use VirtualBox OSE, which is available with full source code under GNU General Public License 2.
Hasenmueller cites a review (in German) that shows VirtualBox's performance to be on par with that of VMware. "This is what we were aiming for," he says. "Feature-wise, we are quite comparable with the 'premier league' closed source virtualization programs like VMware and Virtual PC. Our goal is to run an unmodified guest operating system at excellent performance, for server, desktop, and embedded use."
Hasenmueller touts the product's "clean client/server design" which exposes all the virtualization functionality in a COM/XPCOM API. This allows for designing custom front ends to the virtualization engine. "Already now we have three graphical front ends and a command-line interface, and they can cooperate. So you can, for example, start a VM from the point-and-click GUI, and then freeze, save, restore it from the command line, or even remotely. No other virtualizer has this flexibility," he says.
"We support arbitrary USB devices (since we virtualize a USB controller), and we support attaching to virtual machines remotely via the Remote Desktop Protocol (RDP), and we can even support USB over RDP; that is, you connect a USB device to your local machine, which is displaying RDP data from a remote virtual machine, and the remote machine can work with the local USB device. Also, VirtualBox can use iSCSI targets as virtual hard disks. So if you have a storage server that supports iSCSI, you can put your virtual hard disks there to circumvent the substantial overhead that comes with standard virtual disk files, which we still support, of course."
But these last set of features are missing from the Open Source Edition. "All these features are primarily targeted at the enterprise," Hasenmueller says, "and as we need some sort of revenue to keep VirtualBox development going, we have held them back to give enterprises a good reason to purchase the full release. Still, anyone can test these features as the full release is available in binary form free of charge for personal and educational use as well as evaluation."
Hasenmueller says InnoTek plans to gradually release these features as open source, starting with USB and shared folders.
InnoTek supports users via an IRC channel (#vbox on irc.freenode.org) and mailing lists.
Having released the code under an the GPL license Hasenmueller expects more people to contribute to the development of VirtualBox. InnoTek has a suggestions for contributions page that lists areas where it is looking for contributions.
And the support is already pouring in, he says. "We are quite positively surprised that in the first few hours after the article appeared in a German magazine, people started pouring into the IRC channel and offering to add features. It seems people are even more excited about VirtualBox than we had hoped for."
Apart from the community contribution, InnoTek is hoping to impress independent software vendors (ISV) with VirtualBox's flexibility. Hasenmueller is looking forward to input from ISVs who can build their own solutions around VirtualBox. "If some developer wants to build a stress-tested virtualization solution, VirtualBox is the ideal infrastructure for it."
While future products don't have a fixed release cycle, InnoTek has automatic synchronization in effect already, which updates the OSE Subversion server immediately with all the changes from InnoTek's internal tree.
Hasenmueller says VirtualBox is easily portable, and ports to Mac OS X and 64-bit platforms can be expected later in this quarter. "In addition, of course, there is always room for performance improvements and fixing particular problems with software virtualization, which we are working on on a continuous basis."