# Contributing
XO is an Open Source project released under the AGPL v3 (opens new window) license, contributions are therefore very welcome.
# Bug reports
You can open bug reports here (opens new window) (issues, enhancements, ideas etc.).
TIP
Before creating an issue, please take a look into this section for more details.
# Documentation / Code
Using the GitHub fork/pull-request feature, you may send us fixes or enhancements.
Please, do explain:
- what you are fixing (issue number if available);
- how you did it.
# Pull requests
The best way to propose a change to the documentation or code is to create a GitHub pull request (opens new window).
- Fork the Xen Orchestra repository (opens new window) using the Fork button
- Follow the documentation to install and run Xen Orchestra from the sources
- Create a branch for your work
- Edit the source files
- Add a summary of your changes to
CHANGELOG.unreleased.md
, if your changes do not relate to an existing changelog item and update the list of packages that must be released to take your changes into account - Create a pull request (opens new window) for this branch against the
master
branch - Push into the branch until the pull request is ready to merge
- Avoid unnecessary merges: keep you branch up to date by regularly rebasing
git rebase origin/master
- When ready to merge, clean up the history (reorder commits, squash some of them together, rephrase messages):
git rebase -i origin/master
# Issue triage
# Labels
Type
- bug
- cleanup: should be taken care of to avoid technical debt
- enhancement
- meta: points to other issues and is used to manage long term goals (similar but orthogonal to milestones)
- question
WARNING
All issues MUST have one of these labels!
Difficulty
TIP
This helps new people to contribute.
- easy
- medium
Component
- backup
- GUI
- upstream: not a XO issue → link to the upstream issue and monitor progress
Severity
- low: will be fixed when possible
- medium
- high: should be fixed for the next release
- critical: should be fixed ASAP and a patch release is done once fixed
WARNING
A new version MUST NOT be released with a high
or critical
issue.
Status
For all issues:
- duplicate: issue is a duplicate → SHOULD be closed
- in progress: issue has been assigned and some work is going on
For bugs:
- confirmed: bug is confirmed → SHOULD be assigned to someone
- invalid: bug cannot be confirmed → SHOULD be closed
For enhancements:
- draft: proposal is not finished and work should not be started yet
- wontfix: not a real enhancement → SHOULD be closed