Community > Contributing

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.

Getting in touch

There are various ways of communicating with the ActiveMQ community.

If you find a bug or problem

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 help out with the documentation

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.

Working on the code

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.

Creating patches

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 >> patchfile.txt


git diff >> patchfile.txt

Submitting patches

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.

Becoming a commmitter

Once you’ve got involved as above, we may well invite you to be a committer. See Becoming a committer for more details.

Using the issue tracker

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 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?

Becoming a committer

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

Apache ActiveMQ, ActiveMQ, ActiveMQ Artemis, Apache, the Apache feather logo, and the Apache ActiveMQ project logo are trademarks of The Apache Software Foundation. Copyright © 2019, The Apache Software Foundation. Licensed under Apache License 2.0.