We are pleased to announce the open-sourcing of the XAPI toolstack, written in 
OCaml, as used in the Citrix XenServer product line. The XAPI toolstack is 
licensed under the LGPL v2.1 with a special static linking exception.

**context**

Xen [1] is an open-source type 1 hypervisor, providing the ability to run 
multiple operating systems, called virtual machines, concurrently on a single 
physical processor. Type 1 (or native, bare-metal) hypervisors are software 
systems that run directly on host's hardware. They have been very popular 
architecture since the CP/CMS, developed at IBM in the 1960s. Citrix XenServer 
[2] is an enterprise-class, cloud-proven server virtualization platform that 
delivers the critical features of live migration and centralized multi-server 
management for Xen based virtual machine. XenServer is an open and powerful 
server virtualization solution that radically reduces datacenter costs by 
transforming static and complex datacenter environments into more dynamic, easy 
to manage IT service delivery centers.

**xapi**

The xapi toolstack, which provides the core Citrix Xenserver's functionalities, 
is a set of libraries and programs written in OCaml. It is approximately 200k 
lines of code developed from early 2006. Within Citrix, more than 40 people 
have already contributed to its source code.

What the XAPI toolstack has to manage covers a large range, from low-level 
(interface with kernel and hypervisor) to high-level (distributed data/locking 
management). It also need to have good performance because it may be used in an 
environment of thousands of virtual machines per cluster and has to be able to 
run on systems with limited resources (embedded editions of Citrix XenServer 
are distributed on an USB stick and run in highly customized OS). Finally, as a 
major enterprise product, the XAPI toolstack evolves constantly, due to 
customer/business requests.

The OCaml language has been particularly good so far to help us facing all this 
challenges, and we can't think of a better language to use :-) We really 
appreciate that the compiler tools are stable, that the compiled code is fast 
and small and that static-type inference makes our software robust to changes.

**links**

The released code is the current development version ("trunk") and is under 
active development. The repositories are here:

http://xenbits.xen.org/xapi/xen-dist-ocaml.hg - scripts and Makefiles to build 
some external library dependencies
http://xenbits.xen.org/xapi/xen-api-libs.hg - internal libraries (e.g. for 
talking to xenstore)
http://xenbits.xen.org/xapi/xen-api.hg - the toolstack itself

The easiest way to build the code is in a specially-prepared VM, instructions 
are here:

http://xenbits.xen.org/xapi/install.html

>From now on, all development will take place on the 
>xen-...@lists.xensource.com mailing list. In the future we plan to move 
>relevant content such as documentation, designs, roadmaps etc. onto the main 
>xen.org wiki.

Comments, criticism and contributions are welcome!

--
The XAPI toolstack team

[1] http://xen.org
[2] http://www.citrix.com/English/ps2/products/feature.asp?contentID=1686939

_______________________________________________
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs

Reply via email to