Today, Citrix announcedÂ that XenServer would be fully open sourced and that it will be made available from XenServer.org. First, I wanted to remind everyone that XenServer always has been based on open source software: containing the Xen hypervisor, the Linux kernel, the CentOS Linux distribution and user tools. However many XenServer components were proprietary.
In 2009, Citrix released XAPI – the XenServer management toolstack â€“ and the XCP ISOs – a variant of XenServer that predominantly contains open source components â€“ under open source licenses on xen.org. This marked the beginning of XenServer’s transition towards open source. In 2011, XAPI packages were delivered into Debian and Ubuntu, enabling users to build a XenServer like system from individual packages. Earlier this year, XAPI moved with Xen.org under the auspices of the Xen Project â€“ a Linux Foundation Collaborative Project. In other words, the XAPI project is now a sub-project of the Xen Project. The creation of XenServer.org as announced today concludes this journey towards open source.
Why is this good for our community?
One of the consequences of open sourcing XenServer components (aka XAPI) and XCP in stages was that it created confusion amongst developers and users. This was compounded because some software â€“ such as the XCP build system â€“ was not available as open source. The primary reason for this is that the source code, project and the packaging (XCP ISO and XAPI packages delivered into Linux distributions) were not cleanly defined.
Letâ€™s first look at who will be responsible for what in the future:
- Development of the XAPI components will continue as part of the Xen Project (in the XAPI sub-project). More detail is outlined in the â€œWhatâ€™s nextâ€ section below. In a nutshell the XAPI project will more closely align with how the Xen Hypervisor project operates. In other words, the XAPI project will create a regular source release which will feed into downstream projects.
- The XAPI project will work with Linux distributions that contain XAPI packages. A focus area will be an effort to disentangle the packaging from the XAPI components. This will make it easier for Linux distributions to package, build, deliver and support XAPI packages.
- XenServer and XCP always have been a large codebase, comprised of many hundreds of individual software components, which come from many different sources. In some sense XenServer (and XCP ISOs) are a distribution of the Xen Hypervisor, the XAPI toolstack, CentOS and other components. The creation of XenServer.org formalizes this relationship: XenServer.org consumes Xen Project components, will contribute to the Xen Project and will focus on building, testing and delivering this distribution.
- XenServer.org will also be the home for Windows-only components such as XenCenter. For obvious reasons, these cannot be hosted as part of the Xen Project and Linux Foundation. In other words, XenServer.org will provide a space for developers to collaborate and contribute to the development of Windows-only components.
In future, the XAPI project will focus on the development of its components and work with downstream distros, of which XenServer.org is just one example. This is a proven model in the Linux world, which is well understood and which works.
I am a XAPI developer: How am I impacted?
The short answer is: not at all. Contribution to the XAPI packages continues to be handled by the Xen Project under Xen Project governance. The XAPI project will make some changes to how it operates, but any changes will follow Xen Project community rules, will be discussed openly and made using the Xen Project decision making process. In fact discussions on consolidating mailing lists, how to release XAPI, etc. had already started several weeks ago.
I am a user of XAPI Linux packages: How am I impacted?
The short answer is: not at all. Development of the XAPI toolstack and the packaging of these components continue as part of the Xen Project. However, there will not be an immediate update of the XCP-XAPI packages in Linux distros. Before there can be an update to these packages, the XAPI project team needs to deliver an independent XAPI release. For more information check the â€œWhatâ€™s nextâ€section below.
Discussion, questions and bug reports for XCP-XAPI packages can be made on the appropriate distro mailing lists and on Xen Project mailing lists, IRC channels or the Q&A system.
I am a user of XCP: how am I impacted?
In the past, XCP ISOs have been built by Citrix and have been delivered to users via Xen.org. The XCP ISOs were migrated to the Xen Project. By fully open sourcing XenServer, the need to deliver new XCP ISOs via the Xen Project website has gone away. XCP ISOs will be replaced by open source XenServer binaries which are available from XenServer.org. The transition from XCP ISOs to XenServer should be smooth and painless:
- No functionality will be taken away from XCP users
- Users of XCP 1.6 will be able to upgrade to XenServer
The main difference for you will be that you need to download the product from a different place and that it has been renamed. XCP users have been supporting each other through mailing lists (firstname.lastname@example.org) and the #xen-api IRC channel. These mechanisms will of course not go away, but we hope that you will find the resources on XenServer.org useful.
The XAPI sub-project Development Proposals
The XAPI project plans to change how it develops and releases XAPI components (as initially discussed at the Xen Hackathon). To summarize, the following changes are being discussed in the community:
- Change the release from an infrequent XCP ISO release to a source release that is identified by a unique version number and provide a convenient mechanism for distros to consume the release (e.g. a tarball).
- Increase the release frequency : publish a build every other week (aka a sprint) and provide a release every 3 months
- Publish what is planned to go into the next few sprints as information becomes available
- Contribution to the project will happen via the projectâ€™s Github instance (as now)
Note that this discussion has not yet concluded: feel free to join! Other changes that are currently being discussed are about mailing lists for the project, how to raise bugs, etc.