Contributor Guide

Anybody wishing to contribute code, ideas or their time in any other way is always welcome. This page provides an overview on how to go about becoming part of the team.

Getting Started

To manage the code we use Subversion, and you can find more information on how we do that here. To start quickly, pull down a copy of the main branch, "trunk", like so:

svn checkout

Once the source is down, you should be able to import it into your chosen environment as you would any other Maven project. Eclipse users might want to firstly run the following to generate project and classpath files:

mvn eclipse:eclipse -DdownloadSources -DdownloadJavadocs

More information on this plug-in can be found here, and if it fails first time around you might want to build (see below) and try again.

The project can be built within your development environment, or through standard Maven process:

mvn clean install


Before anything else, it would be a good idea to join the various mailing lists we run, to get a feel for the people and the discussions. Whether you would like to submit a new idea, a code improvement, a patch to an existing issue or anything else at all take some time to introduce yourself and let us all know what you're up to.

A great way to start development is to review the list of outstanding issues in JIRA, for which you will need to create an account. When development is completed, the first thing to do is ensure that the build - including all tests - completes without error. Following this, you should attach a patch merged against the current branch to the JIRA itself. Note that prior to submission you must select the toggle to permit ASF inclusion of the code, as per the licence. The code will be reviewed, and possibly discussed before a committer puts it into the branch.

Continuous Integration

Following any commit, the application will build through the Jenkins environment. When the build completes, the job is done! Time for the next ticket...

Apache Guide

The general Apache guide to getting involved can be found here.