Skip to content

5. Contribution Process

thexerteproject edited this page Oct 21, 2014 · 8 revisions

Anyone can contribute to the project, regardless of their skills, as there are many ways to contribute. For instance, a contributor might be active on the project mailing list and issue tracker, or may offer pull requests that address bugs or introduce new features. The xerte-dev mailing list is the most appropriate place for a contributor to ask for help when making their first contribution.

It should be stressed that contributions are not necessarily technical in nature. Some of the most significant contributions to the project come in the form of events organised by community members, documentation and the sharing of examples. Simply evangelising about the project in various networks is a very significant contribution in itself.

For Developers

If you want to get involved in the project's development, and have ideas for new features, or fixes for bugs, engage with the community of developers on the xerte-dev list and raise your ideas there. The existing developers have great insight into the project's codebase, and they will be able to provide valuable advice and guidance. You should work towards some agreement in principle with the existing developers for any new developments and have the work added to the next release cycle.

GitFlow

We use GitFlow as a workflow for development. There is good information about GitFlow here. If you have any questions at all about working with the repository, talk to the xerte-dev list.

The golden rule is that the master branch always contains production quality, tested and released code. No development takes place directly in the master branch.

Development takes place in branches created from the 'develop' branch. Trivial developments (small changes to single files) can be done directly in 'develop', but for more complicated efforts, you should create a branch from 'develop' in which you will make your changes. Once complete, merge the branch you used for development back into 'develop'.

Clone this wiki locally