Xen Project Shares Lessons of Collaborative Project Success

libbyclark's picture

Xen logo It's been almost one year since the Xen Project open source hypervisor joined The Linux Foundation as a Collaborative Project. In that time the project has added new corporate members and developers and expanded into new technologies. Project leaders have also learned a lot about how to build a successful collaborative project.

Here, Russell Pavlicek, Xen Project evangelist at Citrix Systems, shares several of those insights along with more information about the project's current partners and future goals. Pavlicek will speak on Thursday, March 27 about the recent Xen 4.4 release as part of a series of Xen Project talks at Collaboration Summit in Napa, Calif.

Linux.com: Happy anniversary! What has changed for the project since you joined the Linux Foundation last April?

Russell Pavlicek: Thank you. This past year has been memorable in many ways. First, our community continues to grow and thrive. We’ve added new corporate project members since last April, including ARM and NetApp. We’ll also be announcing another new member in the cloud hosting space soon. We are continuing to experience broader community involvement, as many project members work to develop important new features. From the long-awaited high-performance PVH hypervisor mode (largely from Oracle) to the ongoing development toward supporting native VMDK files (from Verizon Terremark), our members are actively contributing and collaborating more than ever more.

As our ecosystem continues to grow, so does the relevancy of the project itself. New capabilities like the improved support for the ARM architecture and the arrival of lightweight VMs under the MirageOS subproject allow our users to employ technologies which are on the leading edge of the industry. We’ve seen innovation in the mobile and embedded spaces, and even the proposed use of Xen Project technology in automobiles!

What have you learned about building a successful collaborative project?

Pavlicek: First and foremost, it is clear that successful collaborative projects do not happen by accident, but by design. You need to adopt a governance model that invites collaboration and ensures that the project remains neutral in corporate matters. We’ve seen a steady increase in contributions, both in amount of code and in number of participants, since becoming a Linux Foundation Collaborative Project. It’s also helpful to welcome new people and organizations interested in joining your project as well as encourage organizational sponsors that can move the project forward in positive and corporate-neutral ways. The project’s roadmap and end results also need to be based on the community’s interests, rather than favor the goals of one contributing organization over others.

Also, good Open Source projects never exist in isolation. Nearly every project both consumes other Open Source software (for our project that includes QEMU, Linux, and the BSDs) and gets consumed by other projects higher in the software stack (like Linux distributions and cloud solutions like OpenStack and CloudStack). To succeed you must manage relationships both upstream and downstream from your own project. Do you need to add capabilities to a project you consume? Make sure you play nice and submit patches in accordance with that project’s structure. Does another project consume you? Make sure you provide a stable product and be willing to entertain the modifications which may be needed by that project. Years ago, when our project didn’t play well with others in its upstream and its downstream, we almost collapsed. But now we strive to be good citizens within the large Open Source ecosystem – and the results are consistently positive.

Finally, projects need to move and grow. Mindlessly guarding the status quo is equivalent to writing your project’s own epitaph. Open Source communities are essentially organic; to restrict the natural growth of the project is to embrace death. The goals and participants need to evolve in accordance with needs in the upstream and downstream. For example, a hypervisor which does not make itself available to cloud orchestration is ensuring its own demise. A project needs to move with the needs of the community around it.

And that motion is not just in the design and code – a successful project must embrace activity from its contributors as well. You need to constantly invite new blood and new ideas. That’s one reason why we participate in programs like GNOME’s Outreach Program for Women and the Google Summer of Code. Individuals who participate in programs like these gain an opportunity to learn and contribute to an Open Source project, while the sponsoring projects benefit from a fresh infusion of new viewpoints and ideas. If we did not welcome new ideas, we wouldn’t see innovative projects like Xen Project technology in the automotive world or the advent of virtualized GPUs.

And if that weren’t enough, you need to embrace motion in your messaging as well. An established project which does not communicate its evolving value is likely to be dismissed as “yesterday’s news” or “dying.” Today’s technology culture gravitates to “shiny new things.” A mature project must continually promote new features and functions to remain relevant and cool. Long-term success means projects must continually fight the perception that newer, flashier competitors might overtake them the market.

What has been the biggest challenge so far and how have you addressed it?

Pavlicek: It may sound strange, but I think that our success is perhaps our biggest challenge. We’re fortunate that our development community is growing so quickly; however, our developer mailing list is at the highest volumes of all time. We’re still working to make the mailing list and conventions more accessible so developers find it easier to join the project. Also, increasing interest in automotive, embedded, and mobile spaces means that we have to continue to review and adapt current structures to best serve these growing areas.

Maintaining usability and documentation, especially with new developments, is a challenge too. To that end, we’ve instituted Xen Project Test Days as part of the release cycle. When release time draws near, we have public Test Days where people can download and test the release candidate in their own environments and file reports for problems. We had a few Test Days prior to the 4.4 release. We also have instituted monthly Document Days, where we encourage the community to review, edit, and improve the documentation found on our Wiki. Document Days are generally scheduled for the last Monday of each month.

What is the Xen Project looking forward to in 2014?

Pavlicek: This year should yield some very interesting advances. Some will be incremental advances, yielding better stability and performance to existing experimental technologies, while others will be more dramatic forays into new areas:

- The new PVH hypervisor mode will become more sturdy and move toward being production-ready.

- ARM support will continue to mature and bring a world-class hypervisor to ARM stacks both on small devices like cell phones as well as new ARM-based servers.

- MirageOS will continue to strengthen and use cases will mature, bringing to the fore the notion of highly dense clouds of lightweight VMs as a solution to some real-world problems.

- There will be a continued focus at integrating the hypervisor into various cloud orchestration solutions.

- Research is expected to continue in breakthrough arenas, like virtual GPUs and Xen Project technology for automotive applications.

Several sessions at this year's summit will focus specifically on the Xen Project. Will you preview some of what attendees can expect to hear?

Pavlicek: We have a terrific set of Xen Project sessions at this year’s conference. In fact, the schedule for March 27 reads like a mini Xen Project Summit.

At 11:30 AM, Alex Agizam of GlobalLogic discusses “Xen versus Xen Automotive,” an overview of the technologies required to fully utilize Xen Project software in automotive applications.

At 2:00 PM, Zhiyuan Lv of Intel presents “XenGT: A Full GPU Virtualization Solution with Mediated Pass-Through.” The area of GPU virtualization is especially hot right now, and this project to provide high-performance virtual GPUs for use within the Xen Project environment is especially interesting.

Then at 3:00 PM, Oracle’s Mukesh Rathor talks about “PVH: A PV Guest in HVM Container.”

This combination of PV and HVM promises to yield the highest performance of any Xen Project hypervisor mode for most workloads.

And, finally, at 4:00 PM, I deliver an overview of the brand new release of our software with “Xen Project 4.4: Features and Futures.” Attendees will hear about the newest capabilities, as well as hear a quick summary of some of the upcoming enhancements on the project roadmap.

What else would you like the Linux.com audience to know about the Xen Project or its participation in Collaboration Summit?

Pavlicek: The Xen Project software and community is absolutely alive and kicking! If you haven’t looked at the Xen Project hypervisor in the last couple of years, you will probably be surprised about what you will find. If you head over to XenProject.org, you will find tons of information, blogs, slides, and videos about every aspect of the project. If you are attending the Collaboration Summit, please consider attending some of the great Xen Project talks scheduled for March 27.