FAQ > Developing ActiveMQ > How can I contribute
There are many ways you can help make ActiveMQ a better piece of software - please dive in and help!
Try surf the documentation - if somethings confusing or not clear, let us know. Download the code & try it out and see what you think. Browse the source code. Got an itch to scratch, want to tune some operation or add some feature?
Want to do some hacking on ActiveMQ? Try surfing to our issue tracker for open issues or features that need to be implemented, take ownership of an issue and try fix it.
There are various ways of communicating with the ActiveMQ community.
join us on the Discussion Forums or subscribe to the Mailing Lists and take part in any conversations
pop by on in irc and say hi
add some comments to the wiki
Please raise a new issue in our issue tracker
If you can create a JUnit test case then your issue is more likely to be resolved quicker.
e.g. take a look at some of the existing unit tests cases
Then we can add your issue to the test suite and then we'll know when its really fixed and we can ensure that the problem stays fixed in future releases.
If you want to contribute to the ActiveMQ documentation you should first subscribe our dev@ where ActiveMQ developers interact with each other. If you want edit rights on the ActiveMQ site, create an account in the ActiveMQ wiki and fill in and submit an ICLA to the ASF (see the Committer Guide). Then ask on the dev@ list to be granted edit rights and an admin will do so fairly quickly. If you want to just contribute the content, please submit the content on the dev@ list or create an issue and attach it there. All contributions are highly appreciated.
Grab the Source from git
Build the project.
export MAVEN_OPTS=“-Xmx512M -XX:MaxPermSize=128M” mvn -Dtest=false install
PS: You might need to build multiple times (if you get a build error) because sometimes maven fails to download all the files.
Create a project in your IDE. e.g. if you are using Eclipse the following should do the trick.
mvn eclipse:eclipse
Then import the projects into your workspace.
We gladly accept patches if you can find ways to improve, tune or fix ActiveMQ in some way.
Most IDEs can create nice patches now very easily. e.g. in Eclipse just right click on a file/directory and select Team -> Create Patch. Then just save the patch as a file and then submit it. (You may have to click on Team -> Share... first to enable the Subversion options).
If you're a command line person try the following to create the patch
diff -u Main.java.orig Main.java >> patchfile.txt
or
git diff Main.java >> patchfile.txt
The easiest way to submit a patch is to create a new JIRA issue, attach the patch and tick the ASF license grant check box, tick the Patch Attached button on the issue then fire off an email to the Mailing Lists or Discussion Forums.
Once you've got involved as above, we may well invite you to be a committer. See Becoming a committer for more details.
Before you can raise an issue in the issue tracker you need to register with it. This is quick & painless.
If you want to have a go at fixing an issue you need to be in the list of activemq-developers on the issue tracker. To join the group, please mail the dev@activemq.apache.org mail list with the email address you used to register with the issue tracker and we'll add you to the group.
Why not dive in the issue tracker, and try tackle some of our outstanding issues?
The first step is contributing to the project; if you want to take that a step forward and become a fellow committer on the project then see the Committer Guide