Contributing to Xibo

The team at Xibo are delighted to receive any contributions or offers of help related to the Xibo platform. Managing software can be complicated, especially with a large project like Xibo, so we do ask that anyone thinking of contributing have a read of the below first to help us include your contribution.

All development is on GitHub in the xibosignage organization. Xibo contains multiple components which are organised into their own repositories, we also have a central repository for collecting issues. This can be found here.

Release Cycle

Like many software packages, Xibo maintains a maximum of two releases at any one time - the stable release and the development release.

At the time of writing the 1.7 release is stable and the 1.8 release is in development. We have released 1 alpha into 1.8 and plan to release a few more before 1.8 becomes stable (with the release of 1.8.0). At this point new features will be developed in 1.9 Series.

Regardless of which series we are on, the stable release code is always found in the master branch and the development release in the develop branch.

All new feature development occurs in the develop branch and is targeted to the next alpha or beta release. Bugs can be fixed in either release as appropriate.

Fixing a Bug

  1. Open a Topic on this forum in the Support Category
  2. Discuss with a member of the staff group to confirm the bug
  3. Once the bug is clearly understood the staff member will open a GitHub Issue tagged as a bug. They will target the issue to a release milestone.
  4. Fork the appropriate component(s), branch either develop (next release) or master (next bug fix release)
  5. Implement the work, referencing the issue in your commit (xibosignage/xibo#XXX)
  6. Create a Pull Request into either the develop or master branch as appropriate
  7. Discuss, adjust and merge

Implementing a Feature

  1. Open a Topic on this forum in the Feature Category
  2. Discuss with a member of the staff group to confirm the feature and provide direction on how to implement it
  3. The staff member will open a GitHub Issue tagged as an enhancement. They will target the issue to the next development release milestone.
  4. Fork the appropriate component(s), branch develop (next release)
  5. Implement the work, referencing the issue in your commit (xibosignage/xibo#XXX)
  6. Create a Pull Request into develop
  7. Discuss, adjust and merge

CLA

We have a CLA (contributor licence agreement) which can be reviewed and signed here.