Anyone Can Contribute!

There are many ways you can help make ServiceMix a better piece of software - please dive in and help!

Surf the documentation - if somethings confusing or not clear, let us know or even edit it yourself. All you need to do is register for a wiki account and you can begin contributing your own docs, fixing docs, updating docs, etc.

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? Anyone can dive right in.

Want to do some hacking on ServiceMix? Try surfing the our issue tracker for open issues or features that need to be implemented, take ownership of an issue and try to fix it.

If you'd rather have a more gentle introduction to working on the ServiceMix project, look at the unit tests cases and help us to improve our test coverage.

Getting In Touch

There are various ways of communicating with the ServiceMix community.

  • visit the Discussion Forum
  • subscribe to the Mailing Lists and take part in any conversations
  • pop by on IRC and say hi
  • add some comments to the wiki(requires a log in)
  • if you use ServiceMix please tell us about it on our Users page

If You Find a Bug or Problem

Please create a new issue in the JIRA issue tracker

Creating a JIRA Issue

  1. Register for a JIRA account
  2. Log in to the JIRA issue tracking system
  3. Visit the ServiceMix JIRA page and click the link named Create a new issue in project ServiceMix
  4. Fill in as much detail as possible
  5. Add a JUnit test if possible

If you can create a JUnit test case then your issue is more likely to be resolved quicker. The best way to start is to take a look at some of the existing unit tests as examples. Then we can commit your test case along with your patch to Subversion so that we'll know that the issue its really fixed and we can ensure that it stays fixed in future releases.

Submitting Patches

We gladly accept patches if you can find ways to improve, tune or fix ServiceMix in some way. To submit a patch, please use the following steps:

  1. Build against the trunk to ensure that your code compiles correctly and that your test runs
  2. Create a new JIRA issue that fully explains the situation, including the environments you've tested, the JVM version and vendor you're using and anything else that might be useful to know about the situation
  3. Attach the patch to the issue that you are creating and make sure to tick the 'Patch Attached' checkbox on the issue
  4. Send an email to the Mailing Lists or Discussion Forums to let people know you've filed an issue and contributed a patch for the issue
  5. Please try to also submit tests in the patch. Including tests makes applying the patch much easier and faster. Tests allow a patch to be applied and tested much quicker which results in your issue being fixed faster.

Creating the Patch

Most IDEs can create nice patches now very easily. If you're a command line person try the following to create the patch:

diff -u Main.java.orig Main.java >> patchfile.txt

or, if you're working against the code base checked out from the Subversion repository (this is the best way to work), then just use the svn diff command in the Subversion client.

svn diff Main.java >> patchfile.txt
Make Sure to Include All New Files in Your Patch

If you're trying to include new files in your patch, make sure to do a svn add of those files before doing the diff. This will schedule the files for addition to the Subversion repository. Even if you don't have committer privileges you can do this. It will allow you to create a diff file that includes any new files you're contributing.

A Tip For Creating Patches

When creating a patch, making sure the patch filename ends in .txt will allow it to be easily viewed in a browser when it is attached to a JIRA issue.

Using the Issue Tracker

Before you can create an issue in the JIRA issue tracker you need to register an account with it. This is quick and painless.

If you want to have a go at fixing an issue you need to be in the list of servicemix-developers on the issue tracker. To join the group, please mail the dev@servicemix.codehaus.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 and try tackle some of our outstanding issues?

Apache ActiveMQ & Apache ServiceMix (25 issues)
T Key Summary Assignee Reporter Pr Status Res Created Updated Due
Task SM-1442 Allow ServiceMix 3 to build using the ibm jdk. Unassigned Peter Jones Major OpenOpen UNRESOLVED Jul 03, 2008 Jul 04, 2008
Bug SM-1440 ServiceMix 3 build is failing due to dependency relocation/rename. Unassigned Ulhas Bhole Major ReopenedReopened UNRESOLVED Jul 03, 2008 Jul 04, 2008
New Feature SM-1387 Make servicemix components OSGi friendly (without requiring the JBI packaging) Guillaume Nodet Guillaume Nodet Major In ProgressIn Progress UNRESOLVED Jun 09, 2008 Jul 03, 2008
Bug SM-1377 servicemix-file endpoint error Unassigned Luis Avila Major OpenOpen UNRESOLVED May 29, 2008 Jul 03, 2008
Bug SM-1438 Exceptions while shutting down ServiceMix Gert Vanthienen Lars Heinemann Minor OpenOpen UNRESOLVED Jul 03, 2008 Jul 03, 2008
Bug SM-1436 MessageExchange (org.apache.cxf.service.model.MessageInfo) not Serializable Unassigned Gert Vanthienen Major OpenOpen UNRESOLVED Jul 02, 2008 Jul 02, 2008
Improvement SM-1432 information when no deployed service units or service assemblies found Unassigned Tomek Kaczanowski Trivial OpenOpen UNRESOLVED Jul 02, 2008 Jul 02, 2008
Improvement SM-30 create an EAR demo to show ServiceMix in use in a J2EE application server using MDBs and Servlets which are wired into the JBI container Unassigned James Strachan Major OpenOpen UNRESOLVED Aug 18, 2005 Jun 30, 2008
Improvement SM-1348 Add support for mapping between JBI NormalizedMessage attachments and Camel Message attachments Unassigned Marcello Teodori Major OpenOpen UNRESOLVED May 11, 2008 Jun 28, 2008
Bug SM-1428 Messages sent from Apache MQ to IBM MQ gives error MQJMS1013 Unassigned perry Major OpenOpen UNRESOLVED Jun 26, 2008 Jun 27, 2008
Bug SM-1425 Property 'property' not found when xmlns="http://www.springframework.org/schema/beans" is defined Unassigned Gert Vanthienen Major OpenOpen UNRESOLVED Jun 25, 2008 Jun 26, 2008
Bug SM-1396 NoSuchMethodException .ArtifactResolutionResult.setArtifactResolutionNodes(Ljava/util/Set;)V with M2Eclipse / Maven 2.1 Unassigned Steve Kondik Major OpenOpen UNRESOLVED Jun 12, 2008 Jun 25, 2008
Bug SM-1420 Some servicemix pom refer to repo.mergere.com which is not online so needs to be changed to repo1.maven.org Unassigned Ulhas Bhole Major OpenOpen UNRESOLVED Jun 24, 2008 Jun 24, 2008
Bug SM-1418 Saxon component should gracefully handle malformed XML messages Unassigned Trevor Pounds Major OpenOpen UNRESOLVED Jun 23, 2008 Jun 23, 2008
Bug SM-1234 ServiceMix JMS MultiplexingConsumerProcessor memory bloat due to hung/delayed exchanges Unassigned Trevor Pounds Major OpenOpen UNRESOLVED Feb 19, 2008 Jun 23, 2008
Bug SM-1416 The wsdl-first example does not work with the Strate Through flow. Unassigned Caramba Critical OpenOpen UNRESOLVED Jun 20, 2008 Jun 20, 2008
Improvement SM-1411 EIP Aggregators should propagate properties/attachments by default and allow this behavior to be configurable Unassigned Ron Gavlin Major OpenOpen UNRESOLVED Jun 18, 2008 Jun 18, 2008
Bug SM-1405 NoClassDefFoundError when start up servicemix-camel sa component Unassigned Willem Jiang Major OpenOpen UNRESOLVED Jun 16, 2008 Jun 16, 2008
Improvement SM-1401 cxf bc should handle soap header in rpc mode correctly Freeman Fang Freeman Fang Major In ProgressIn Progress UNRESOLVED Jun 16, 2008 Jun 16, 2008
Improvement SM-1395 Checkstyle and PMD configuration are much too restrictive Unassigned Lars Heinemann Major OpenOpen UNRESOLVED Jun 12, 2008 Jun 12, 2008
Bug SM-1390 ServiceMix doesn't start HTTP Server on 8192 Unassigned Oleg Atamanenko Major OpenOpen UNRESOLVED Jun 09, 2008 Jun 10, 2008
New Feature SM-1386 Make servicemix-components SMX4 friendly Guillaume Nodet Guillaume Nodet Major OpenOpen UNRESOLVED Jun 09, 2008 Jun 09, 2008
Bug SM-1098 Loop in StAX ElementReader while executing web service Unassigned Gert Vanthienen Major OpenOpen UNRESOLVED Oct 09, 2007 May 28, 2008
Bug SM-1374 Http Component Tests require remote connection Unassigned Kristian Koehler Major OpenOpen UNRESOLVED May 28, 2008 May 28, 2008
New Feature SM-1371 Add an archetype for a servicemix-quartz SU Unassigned Gert Vanthienen Minor OpenOpen UNRESOLVED May 26, 2008 May 26, 2008

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 page about Becoming a committer.