Virtuozzo and OpenVZ will both benefit from community development of the free, open source product, as well as OpenVZ benefiting from development on Virtuozzo, said OpenVZ project manager Kir Kolyshkin. The open source product is aimed mostly at technically oriented users who want to see the product in action before buying the proprietary one, or simply want to help drive its development.
Both products allow server administrators to create up to 100 individual, isolated virtual servers within a single machine. The applications are designed to allow the management of virtual servers on one or several physical servers, and run in a 24-hour-a-day, seven-day-a-week environment, said Rufus Manning, spokesperson for SWsoft, the company that owns both.
Rather than OpenVZ being a fork of the Virtuozzo code, Kolyshkin said the software is the core component for Virtuozzo, and that the open source project will "drive product development" of the full, proprietary version. "Virtuozzo can be thought of as the commercial add-on to OpenVZ," he said.
"Most of the new features of OpenVZ will naturally make their way into Virtuozzo," but the company does not want to close the code to further development specifically for the proprietary software, Kolyshkin said. "We will keep developing it for OpenVZ, and both products will benefit from that effort."
SWsoft released OpenVZ under two licenses, which are meant to both allow improvement and further development of the software, as well as protect the work of developers on both the proprietary and open source versions, Kolyshkin said. The software's kernel is under the GNU General Public License (GPL), as is required of work that is a derivative of the Linux kernel. The current release of Virtuozzo, version 2.6.2, is based on Linux kernel 2.4, and OpenVZ is based on kernel 2.6.
Kolyshkin said the OpenVZ user-level tools have been released under the Q Public License (QPL). "Basically, we would like to retain control on our tools," Kolyshkin said, noting that the OpenVZ developers may be willing to change the license based on user demand. "If the community, or some vendor who wants to include OpenVZ in their distribution, does not like [the] QPL licensing terms, we may relicense our tools. We are not evil -- we are open to dialogue."
The major difference between the QPL and GPL is that, while code may be redistributed or changed, users must be alerted specifically to alterations to software under the QPL. For OpenVZ, this allows the user tools to be improved or changed, and still protects the original from flying out of the control of the original developers.
A common development practice
Calling OpenVZ a more reliable virtualization tool, Kolyshkin said the project's kernel development process uses an older version of the Linux kernel, just as large vendors such as Red Hat and Novell often do. This allows the software to be more reliable, he said. "Instead of trying to be on the edge, we stick to [an] older kernel, backporting all the security fixes, bug fixes, and updating drivers as needed. This involves a lot of work, but the result is we close all the known bugs and security holes, without getting a bunch of new ones from newer kernels."
Chris Kruger, owner and founder of the South Africa-based Kruger Networks, said that while he believes Virtuozzo is a superior product based on what he has read in the OpenVZ documentation, the price of the open source version is much more attractive and appropriate for his company's uses.
Kruger Networks, whose Web site Kruger said would go live before the company opens in March, uses OpenVZ to create virtual systems for software testing, where they would have to run tests on servers with "freshly installed" operating systems. He said the decrease in the time it takes to run these tests has made the software valuable to him and the company.
"OpenVZ is incredibly easy to deploy and maintain," Kruger said. "Other open source virtualization software ... takes longer to deploy, requires in-depth knowledge about Linux, and has more resource overhead."
The competition's view
Herbert Poetzl, main developer on the three-year-old Linux-VServer, a product similar to OpenVZ, said SWsoft might be offering the open source version in an effort to "outsource kernel development" so it can further focus on product development and marketing. He said he thought the company was also looking to raise interest in the type of virtualization both SWsoft and his project do in the face of the growing popularity of other solutions such as Xen.
"I have absolutely no problem with the competition," Poetzl said. "On the contrary, I guess Linux-VServer already benefits a lot from [a competitive existence with OpenVZ] because we now get real feature requests [as opposed to ideas] and some folks actually do comparisons."
Although Kolyshkin said OpenVZ and Linux-VServer use a similar approach to virtualization, he said the implementation of virtual systems differs significantly. He said OpenVZ offers a bigger feature set and allows for better isolation and additional denial-of-service protection, two features he said are the result of tools that control the usage of memory and internal kernel objects.
Poetzl said features in OpenVZ that are not included in Linux-VServer are not there because there has not been demand for them from his users, or they are still in progress for addition to the software. According to Poetzl, OpenVZ offers network virtualization and isolation features that "are still on my to-do list," and that the features, to be called NGNET, will be finished in two to three months. Linux-VServer can currently do network isolation, but most parts must be configured on the host system, he said.
Also, while OpenVZ does not include the /proc/meminfo virtualiztion, which monitors the memory usage of a CPU, Linux-VServer does not have a special kernel memory limit, he said, because the need for one has not arisen. He also pointed out that while Linux-VServer supports all existing kernel architectures, OpenVZ focuses on only a few.
OpenVZ offers downloads for x86 and x86_64 systems and offers a source RPM on its kernel downloads page.