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.).
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).
Your pull request should always be against the
master branch and not against
stable which is the stable branch!
- Create a branch for your work
- Add a summary of your changes to
nextsection, if your changes do not relate to an existing changelog item
- Create a pull request for this branch against the
- 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
- cleanup: should be taken care of to avoid technical debt
- meta: points to other issues and is used to manage long term goals (similar but orthogonal to milestones)
All issues MUST have one of these labels!
This helps new people to contribute.
- upstream: not a XO issue → link to the upstream issue and monitor progress
- low: will be fixed when possible
- high: should be fixed for the next release
- critical: should be fixed ASAP and a patch release is done once fixed
A new version MUST NOT be released with a
For all issues:
- duplicate: issue is a duplicate → SHOULD be closed
- in progress: issue has been assigned and some work is going on
- confirmed: bug is confirmed → SHOULD be assigned to someone
- invalid: bug cannot be confirmed → SHOULD be closed
- draft: proposal is not finished and work should not be started yet
- wontfix: not a real enhancement → SHOULD be closed