Contributing to Xibo

Contributing to Xibo

The heart of the Xibo platform is open source software and always will be. If you benefit from Xibo and want to contribute to our project, you’re very welcome to do so. There are lots of different ways to be helpful no matter what you’re technical knowledge.

Be active in the community

It sounds like a simple thing, but one of the most helpful things an experienced user of Xibo can do is be active in the community. Xibo is lucky enough to attract a huge variety of different users with different abilities, and the community is always busy with questions and requests for advice.

Report bugs

If you’re sure something doesn’t work the way it should, or the way its documented to work, then opening a topic in the Get Help section of the Community forum with step by step instructions for reproducing the issue, is super helpful. One of our support team can pick that up and pass it directly to the development team to be fixed in the next release.

Suggest a feature or improvement

Xibo thrives on suggestions - much of the software does what it does because of our users describing how they want Xibo to work. If you have an idea for a new feature, or an improvement to something existing, open a topic in the Feature Requests category of the Community forum.

A member of the support team will likely want to discuss that with you and find out a bit more (there is nothing worse than adding a feature which turns out to be not quite what you meant!), but once its all understood they will pass it to the development team to be introduced in an appropriate release.

Are you more technical?

If you’re more technical and fancy getting involved in some of the software development, then that is great! There are a few things you should know before you dive in - but the main thing is to make sure what you want to do is something we can include, and when we can include it.

There are 3 main applications which we need help with - these are (all links go to the GitHub repository for that application):

Fixing a Bug

  1. If the bug doesn’t already exist in GitHub, open a Topic in the Get Help section of the Community forum.
  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. If the feature doesn’t already exist in GitHub, open a Topic in the Feature Requests category of the Community forum.
  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

So that we can be confident in the future of the project, any significant contribution requires a CLA (contributor licence agreement) to be reviewed and signed here.

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

Xibo actively works on two releases at any one time - the stable release and the development release. The stable release is in the master branch, and the development release is in the develop branch. It is always best to ask the best place to put your code before you start, as sometimes there can be framework changes between major releases.

You’ve refused my contribution!

We are always very sorry when your idea or contribution doesn’t fit with the project. There are lots of things we have to take into consideration before including something. Xibo has a lot of existing users we need to consider. We don’t want to be strict gatekeepers, but if we weren’t then you might find yourself a “victim” of a change that didn’t fit well.

Don’t worry though, you can still have your feature in your Xibo! We have built Xibo with an extensive set of tools to extend with custom additions and modifications. Xibo also has a comprehensive API.

Find out more in our developer documentation.