Contribution Guidelines

We want to see people contributing to the Xen Project effort, and there are many ways to do so.

As with any open source project, providing concrete contributions will demonstrate to the project leaders that you are serious about being involved, which helps us separate the people who talk about contributing from the people who actually contribute to the project in a meaningful way. This builds trust in your work, and the people who consistently contribute good work will be given more and more responsibility.

Our goal is to maintain an environment of professionalism, respect, and innovation within Xen Project development.  Please adhere to the following guidelines as you participate in the Xen Project community:

  • Be professional in all communications. Please avoid flaming, profanity, vulgarity, SHOUTING IN ALL CAPS. Keep personal discussion for the IRC channel. There is never any reason to publicly discuss gender, ethnicity, orientation, lifestyle, or religion in our project.
  • Stay on topic. If you have a comment that is not relevant to the current discussion, please start a new thread.
  • Keep it legal. Please use project resources for their intended purpose.
  • Don't feed trolls. Every open project attracts unwelcome commentary from individuals trying to get a rise out of someone. When this happens, just ignore them.

Contributing Code

Because every open source project has slightly different policies for accepting code contributions, here are some specific guidelines for contributing to The Xen Project codebase.

Contributions to the Xen Project codebase follow the conventions as they are known in the Linux Kernel community. In summary, contributions are made through patches that are reviewed by the community.  The project does not require community members to sign contribution or committer agreements. We do require contributors to sign contributions using the sign-off feature of the code repository, following the same approach as the Linux Kernel does (see Developer Certificate Of Origin).

In addition, each Xen Sub-Project may have its own mailing list, submission guidelines, IRC channel, and culture.  Please see "Project List" to the right to learn more.

More information on making contributions can be found in the following documents:

You can also ask questions on the xen-devel@lists.xenproject.org mailing list. 

Submitting Patches to the Xen Project Codebase

Please first check the submission process for the Xen Sub-Project, and send an email to the proper mailing list with [PATCH] as the first word in the subject line.   Each patch should perform a single function.  Patches sent to the mailing lists should be broken up into several email messages of less than 100KB each, with only one patch per email.

Please include a description of why you want the change made (not just the "what") and why it is important for the team to make this change. Your patch will need to include a signed-off-by tag, author's name, and other information.

For details about what to include in your patch, you should start with the patch submission documentation.

Escalation

In a project of this size, patches sometimes slip through the cracks. If you submitted a patch to the xen-devel mailing list or bugzilla and did not receive a response within 5 business days, please send an email to xen-devel and in the first line of that email, include this phrase "Patch escalation: no response for x days".

This is one case where you should "top post" to make sure that the escalation text is read.

Code Security Scanning

The Xen Project is registered with the "Coverity Scan" service which applies Coverity's static analyser to the Open Source projects. The tool can and does find flaws in the source code which can include security issues. Currently only the Xen Project Hypervisor (i.e. xen.git) is covered by these scans.

Triaging and proposing solutions for the flaws found by Coverity is a useful way in which Community members can contribute to the Xen Project. However because the service may discover security issues and the Xen Project practices responsible disclosure as described in "Xen Security Problem Response Process" the full database of issues cannot simply be made public.

Members of the community may request access to the Coverity database under the condition that for any security issues discovered, they:

  • agree to follow the security response process.
  • undertake to report security issues discovered to the security team (security@xenproject.org) within 3 days of discovery.
  • agree to disclose the issue only to the security team and not to any other third party.
  • waive their right to select the disclosure time line. Discoveries will follow the default time lines given in the policy.

Requests should be made to the public xen-devel@lists.xenproject.org mailing list. The request must:

  • use a subject line prefixed "[COVERITY ACCESS] ".
  • signal acceptance of the above conditions.
  • include a short bio of the requester, covering who they are, what, if any, their previous involvement with Xen has been (with references to patches etc), their security background and if they have not been previously involved with Xen why they are interested specifically in the Xen project.
  • be signed by a PGP key which is part of the strong set of the PGP web of trust [1].

These last two items serve to help validate the identity and trustworthiness of the person since they will be given access to potentially sensitive information.

Seven days will be given for responses. Following the "Consensus Decision Making" process described in the project governance document. The request must be publicly seconded ('+1') by at least one maintainer. Objections ('-1') may be raised but must contain a rationale.


[1] PGP Web of Trust:

In practice this will be taken to mean that there is a path from a member of the XenProject.org security team's key to the key. Several members of the security team have keys in the strong set.

Documentation

News Sources

Documentation

Raising Bugs

Search Xen Project Mailing Lists:

All Xen Project mailing lists are archived using the MarkMail system at xen.markmail.org.

Search MarkMail from XenProject.org Site: (not secure)

Often you will find an answer for a question by searching here!

Xen Project Wiki

When searching the wiki you need to be aware of     

  • Searching foo followed by Search will search document bodies.
  • Searching foo followed by a return or Go will usually only search document titles.

IRC Channels

Where is the XenServer Information?

Many people are confused about the relationship between Xen Project and XenServer. XenServer is a distribution of Xen Project the same way that Ubuntu or SUSE are distributions of Linux. If you need XenServer information, you will do best by starting with one of the XenServer support channels described at XenServer.org.

IRC

ABOUT IRC

The Xen Project community maintains a number of IRC channels on irc.freenode.net.

#xen
is for general queries about the software, both developer and user questions
#xen-api
is the official IRC channel for the XAPI team
#xendevel
is the channel the hypervisor developers use. It is a channel for developers: if you have submitted patches to the developer mailing lists or are otherwise active on it, this channel is for you.
#mirage
is used for Mirage OS
#xentest
is used for Xen Project Test Days
#xendocs
is used for Xen Project Document Days

If you don't have an IRC client you can access the IRC via the web using the FreeNode web interface.

What is IRC ?

IRC, abbreviated for Internet Relay Chat, provides a platform for open chatting and is chiefly designed for group communication. It consists of networks which themselves contains channels which refers to the place for group discussion relevant to the topics for the discussion.

Why should I join IRC?

IRC allows you to have real time chat with individuals proficient in various fields around the globe & helps you in discussion of your problem.

What are the ways to join IRC?

There are various ways to join IRC:

  • Installing an IRC application
  • Using your web browser

You can access IRC in a number of ways, including:

What About XenServer Questions?

Many people are confused about the relationship between Xen Project and XenServer. XenServer is a distribution of Xen Project the same way that Ubuntu or SUSE are distributions of Linux. You might go to a Linux kernel mailing list to talk about kernel bugs in your distribution, but the bulk of your issues are probably best handled by asking questions of the distribution itself. This is true with XenServer as well, so for most XenServer-related issues, you will do best by starting with one of the XenServer support channels described at XenServer.org. The people in that community understand the context of their distribution very well and can most likely guide you to a resolution.

Wiki

The Main Source for Documentation

The Xen Project Wiki is the primary source for documentation of the Xen Project software. Note that there is also related documentation in many Linux/Unix distributions and there are a host of tutorials published on 3rd party websites and blogs. The community strives to link to external information when we come across it to make it easier for YOU to find information about the Xen Project software.

Get Involved!

The Xen Project Wiki is a support and documentation resource for our subprojects. The wiki is editable by everyone and we need your contributions to make it better.

The Xen Project Wiki can be found here.

Get Started with the Wiki!

As stated above, the Xen Project Wiki is open to everyone. However we have been subject to severe spam attacks recently. Please follow the following instructions to create a wiki account with write access:

Note that documentation for XenServer (as well as its deprecated sibling XCP) is not stored on the Xen Project Wiki. As XenServer is a separate distribution of the Xen Project software which is supported by its own community, the XenServer documentation is stored on the XenServer Wiki.

Mailing Lists

"If it hasn't happened in an email list, it hasn't happened,"  -- Open Source axiom

Mailing Lists are the lifeblood of the Xen Project.  If you intend to actively participate in the development of the Xen Project, you will need to become familiar with the mailing lists and the mailing list etiquette:

  • Please post in plain text (i.e. not HTML), word-wrapped to somewhere around 72 characters.
  • Please don't top-post.
  • Please start a new thread for a new bug (don't just reply to a random email from the list).
  • Please don't email bugs directly to Xen Project developers. Keep the conversation on the list where other people (and search engines) can see it.
  • When you reply to a mail, ensure that you reply to the list and all author(s). Not all posters to the list may be subscribed to the list.

What About XenServer Questions?

Many people are confused about the relationship between Xen Project and XenServer.  XenServer is a distribution of Xen Project the same way that Ubuntu or SUSE are distributions of Linux.  You might go to a Linux kernel mailing list to talk about kernel bugs in your distribution, but the bulk of your issues are probably best handled by asking questions of the distribution itself.  This is true with XenServer as well, so for most XenServer-related issues, you will do best by starting with one of the XenServer support channels described at XenServer.org.  The people in that community understand the context of their distribution very well and can most likely guide you to a resolution.

Search all Xen Project mailing lists using MarkMail (not secure):

Search MarkMail:     

Mailing List Usage

Xen Project mailing lists have a web as well as an e-mail interface.

  • Send an e-mail command to mylist-request@lists.xenproject.org (mylist may for example be xen-announce ) with one of the following commands in the subject line. Common commands are help, subscribe and unsubscribeAlternatively, you can use the Subscribe buttons below.
  • Go to https://lists.xenproject.org/mailman/listinfo/mylist (mylist may for example be xen-announce) and use the web interface to subscribe, unsubscribe or log into the list management interface.
  • Note that you can send to a Xen Project mailing list, without being subscribed to it. But your post will be moderated.
  • If you have problems, please send an e-mail to community dot manager at xenproject dot org.

Additional Information for Using the Developers Mailing List (xen-devel)

Please refer to the following documents for protocols involving patch submission, repositories, and general development questions:

General Mailing Lists

xen-announce

Announcements related to the project. These may be release annoucements, security advisories, announcements related to events. This is a low volume list, with about 1-2 posts per month.

Info    Archives   Subscribe   Unsubscribe

xen-users

This list is for those using and installing the Xen Project software.

Info    Archives   Subscribe   Unsubscribe

xen-api

A discussion list for the XCP and Xen API projects, developing a protocol, data-model, and language bindings for remote and local management of Xen-based systems. The list is both for developers and users. Note that most technical discussions for the Xen API project happen on Github (via issues, etc. on the respective repositories).

Info    Archives   Subscribe   Unsubscribe

Developer Mailing Lists

xen-devel

A discussion list for the Xen Project Hypervisor developer community. Please do not use this list for technical support queries.

Info    Archives   Subscribe   Unsubscribe

xen-api

A discussion list for the XAPI project, developing a protocol, data-model, and language bindings for remote and local management of Xen-based systems. The list is both for developers and users. Note that most technical discussions for the Xen API project happen on Github (via issues, etc. on the respective repositories).

Info    Archives   Subscribe   Unsubscribe

embedded-pv-devel

A discussion list for the Embedded and Automotive PV Drivers developer community.
Important: For patches that need to go into hypervisor mainline please keep on using xen-devel@, for patches going into the Linux kernel please keep using the relevant kernel list, etc.

Info    Archives  Subscribe   Unsubscribe

mirageos-devel

A discussion list for the Mirage OS developer community. Note that most technical discussions for the Xen API project happen on Github (via issues, etc. on the respective repositories).

Info    Archives  Subscribe   Unsubscribe

win-pv-devel

A discussion list for the Windows PV Drivers developer community. 

Info    Archives  Subscribe   Unsubscribe

minios-devel (includes Unicore Development)

A discussion list for minios and Unicore development.
Important: For patches that need to go into hypervisor mainline please keep on using xen-devel@. For development discussions that are minios and unicore specific, but impact the hypervisor and/or other sub projects, please CC the relevant mailing list.

Info    Archives  Subscribe   Unsubscribe

xen-changelog

This is a receive-only list to which details of changesets to the Xen Hypervisor Git repositories are sent.

Info    Archives   Subscribe   Unsubscribe

Special Mailing Lists

private

This list is for maintainers of all Xen teams, and key developers that have been invited by maintainers. This list is intended to be used only when privacy implications or similar prevent usage of a public list. Example usage may be to let other community members know of absence (due to holidays, maternity/paternity leave, etc.) and to arrange cover. Another example may be to ask other team members for advice on how to respond to a difficult situation in the community. Any conversations that should have been started on a public list, will be forwarded to an appropriate public list. 

This list is invite only and is not archived. Community members can subscribe, but approval in line with Mailing List Conventions is required.

Info   Subscribe   Unsubscribe

publicity

This is a list to coordinate content for the Xen Project blog, articles in the open source and Linux press, other media, press activities, to coordinate attendance and submissions for open source and industry events and anything else to promote the Xen Project. The list is open for people in the community who care about promoting the Xen Project. The list is also archived.

Info    Archives   Subscribe   Unsubscribe

security@xenproject.org

This e-mail alias is intended for reporting security vulnerabilities in Xen Project software (this also covers the situation where an existing published changeset is retrospectively found to be a security fix). List membership is restricted to members of the Xen Project Security Response Team and thus invite only and obviously there is no public archive. For more information on how the Xen Project handles security vulnerabilities, see the Xen Security Problem Response Process.

Report Security Issue

predisclosure-applications

Organisations who want to become a member of the Xen Project predisclosure list to receive pre-disclosure of security advisories and who meet the criteria outlined in the Xen Security Problem Response Process should become members of this mailing list and submit their application through this mailing list as outlined in Xen Security Problem Response Process. The list is open to all community members who care about security and although pre-disclosure membership applications are evaluated based on strict criteria, all applications are open for review and comment by community members. The list is also archived.

Info    Archives   Subscribe   Unsubscribe

Lists related to Xen Project Governance

advisory-board

A discussion list for members of the Xen Project Advisory Board. The list is invite only. The Advisory Board publishes meeting minutes on the wiki.

Info    Minutes

wg-test-framework

A discussion list for members of the Test Framework working group. The list is invite only, but archives are publicly available.

Info    Archives

wg-openstack

A discussion list for Xen Project members and community members who want drive the adoption of Xen in openstack and related topics.

Info    Archives   Subscribe   Unsubscribe

See Also:

More Articles...