How to Contribute

XStream is nothing without contributions from the user community. There are many ways to contribute. We are constantly working on the software and documentation, so it's a good idea to contact the team. For normal question about usage or possible misbehavior, please contact us on the user mailing list. To discuss further development of XStream, you may contact us on development mailing lists to avoid duplicating effort.

## Help

The correct place if you are looking for help is the user mailing list. You get there a much wider audience from other users and also the developers are reading and answering there your questions.

## Documentation

One of the traditional weak points of open source software is the documentation. Any help with this aspect of the project will be welcomed with open arms, or at the very least with open email clients!

## Examples

We are working on one or two examples of using XStream, but we can always do with more.

## Feature Requests

We eat our own dogfood, but we're also happy to feed other people's dogs (if you'll excuse a stretched dachshund metaphor!). If you want to request a new feature you can either make a request through the issue tracker or by sending a message to the development mailing list. The benefit of any new features will be discussed on the mailing list, so its a good idea to sign up so that you can stick your oar in.

## Bug Reports

You can report bugs through the issue tracker interface or in case you are in doubt whether it is really a bug or just a wrong usage, you may ask first posting to the user mailing list. Additional brownie points are awarded for bug reports that include a failing unit test.

## Bug Fixes

If you want lots of brownie points, send a fix along with your bug report and failing unit test. Bug fixes are best sent as patches that we can apply to the codebase. Remember to tell us which version the patch should be applied against, or we'll get very confused. To be accepted into the codebase, patches must be released under the same license as XStream itself.

## New Code

If you have a new feature request, then we'll listen extra hard if you show us how it works. A new feature might be best implemented as a patch to an existing class or as a new class. The XStream API contains many extension points that allow new functionality to be integrated into the framework. We are rather anal about testing, so if you send us some code without any tests we will probably ask you to write the tests tests as well before we add it to the codebase.

## Write Your Own XStream Extension

If you have a project that builds upon XStream we will be happy to announce your project on the XStream site.

## Become a Committer

We follow the Codehaus manifesto when it comes to expanding the core team.