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

Try browsing the documentation - if something's 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 Karaf? Try surfing the our issue tracker for open issues or features that need to be implemented. Take ownership of an issue and try fix it.

If you'd rather have a more gentle introduction to working on the Karaf project, try looking at the
test coverage report and help us get it even more green by supplying more test cases to get us closer to 100% coverage.

Getting in touch

There are various ways of communicating with the Karaf community.

  • join us on the Discussion Forums and take part in any conversations
  • pop by on IRC and say hi
  • add some comments to the wiki

Improving the documentation

Documentation is massively important to help users make the most of Apache Karaf and it's probably the area that needs the most help!

So if you are interested in helping the documentation effort; whether its just to fix a page here or there, correct a link or even write a tutorial or improve what documentation is already there please do dive in and help!

See How does the website work or How do I edit the website for more details.

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 quickly.

Also, we can add your test case to Subversion and then we'll know when it's really fixed and we can ensure that the problem stays fixed in future releases.

Working on the code

Grab the Source and create a project in your IDE. e.g. if you are using Eclipse the following should do the trick...

git clone https://git-wip-us.apache.org/repos/asf/karaf.git karaf
cd karaf
mvn eclipse:eclipse

Build the project.

mvn install

PS: You might need to build multiple times (if you get a build error) because sometimes Maven fails to download all the files.

Then import the projects into your workspace.

Creating patches

We gladly accept patches if you can find ways to improve, tune or fix Karaf 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). Incidentally if you are an Eclipse user you should install the subclipse plugin.

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

Submitting patches

The easiest way to submit a patch is to

  • create a new JIRA issue (you will need to register),
  • attach the patch or tarball as an attachment
  • tick the Patch Attached button on the issue
  • fire off an email to the Discussion Forums linking to the JIRA

When a ticket is create in JIRA it automatically sends an email to the developer forum but an email always helps alert folks (as lots of emails are generated from every change to every JIRA).

Remember to create and attach the patch in two steps, as JIRA does not support granting ASF license to the patch in the create ticket wizard. So after creating the ticket, then attach the patch and remember to tick off the grant ASF license, otherwise we can not commit the patch. We prefer patches has unit tests as well and that these unit tests have proper assertions as well, so remember to replace your system.out or logging with an assertion instead!

Becoming a committer

Once you've got involved as above, we may well invite you to be a committer. See How do I become 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 karaf-developers on the issue tracker. To join the group, please mail the dev@karaf.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 and try tackle some of our outstanding issues?