The Linux Foundation hosts numerous Collaborative Projects -- independently funded software projects that harness the power of collaborative development in an effort to drive innovation. For these projects, the Linux Foundation provides the essential collaborative and organizational framework so that participants can focus on innovation and results.
To increase understanding and provide greater insight into these collaborative projects, we are producing a series of articles highlighting some of the people involved. In this article, we talk with Jan Beulich about his work with the Xen Project and some of the challenges and rewards of being involved.
The Xen Project, which became a Linux Foundation Collaborative Project in 2013, is an open source virtualization platform. The Xen Project is licensed under the GPLv2 with a governance structure similar to the Linux kernel. Designed specifically for cloud computing, the project powers clouds used by Amazon Web Services, Rackspace, and Verizon and is integrated into cloud computing platforms such as OpenStack.
Jan, who is a Xen hypervisor committer and maintainer, says the main goal of the project is to provide a robust, secure, and performant virtualization environment. He has been involved with the Xen Project since 2003 after an internal virtualization project at Novell was cancelled. Jan says, “I started with tool chain work (binutils, gcc) for the aforementioned internal project at the end of the 1990s, at that time mostly consuming upstream bits, but not really contributing back, but with the background of having done other tool chain work before.”
These days, Jan’s duties include: fixing bugs, reviewing and merging other folks' patches, and occasionally (as time permits) working on new functionality. “A good share of time goes into answering other mails on the list. Beyond that, I'm also member of the project's security team, requiring me to investigate reports of security issues we get from various people,” he says.
Additionally, Jan has always liked being close to hardware OS development. He explains, “It just so happens that I've ended up working on Xen. Writing good code, or making existing code better perhaps are main aspects of motivation, plus of course seeing that code actually being used... Of course, the more you get involved, and the more of your work is being accepted into a certain code base, the more relevant the project becomes when considering what areas to work on going forward.”
One of the biggest challenges Jan currently sees -- beyond purely technical things -- is “perhaps the still unfinished conversion of the project (and the mindset contributors have about it) from a university research to a fully production usable one.” To address this he says, “enforcing awareness namely during the review process, as well as taking a very strict view on existing code whenever looking at certain pieces is necessary.” In fact, he says, this is the most significant source of security issues that he sees.
Another challenge has to do with resources -- in terms of time devoted to the project by various contributors. Although, Jan says, they get quite enough contributions, the lack of sufficient quality often means large amounts of time spent helping submitters to do the necessary adjustments. This, in turn, takes time away from other tasks, including those related to the first challenge mentioned above.
Jan believes that encouraging people to get involved beyond contributing just the one feature they care about themselves is important in addressing the resource challenge. Long-term involvement by contributors improves the quality of submissions and helps the project move forward.
For those who are interested in contributing to the Xen Project, Jan advises taking “a critical look at what they want to become contributions, avoiding needlessly many or long review cycles. This includes becoming familiar with the code base before actually starting to submit other than pretty simple changes.”
With such ongoing attention to quality, Jan sees the Xen Project becoming “an even more robust solution, thus hopefully resulting in a growing set of real-world users.”