Getting involved in Apache Jena

We welcome your contribution towards making Jena a better platform for semantic web and linked data applications. We appreciate feature suggestions, bug reports and patches for code or documentation.

If you need help using Jena: please see our getting help page.

How to contribute

You can help us sending your suggestions, feature requests and bug reports (as well as patches) using the Jena issue tracker: https://issues.apache.org/jira/browse/JENA.

You can discuss your contribution, before or after adding it to Jira, on the jena-dev@incubator.apache.org mailing list. Or, you can help other users answering to their question on the jena-users@incubator.apache.org mailing list. Subscription instructions here.

SNAPSHOTs

If you use Apache Maven and you are not afraid of being on the bleeding-edge, you can help us testing our SNAPSHOTs which you can find on the Apache Maven repository here: https://repository.apache.org/content/repositories/snapshots/org/apache/jena/.

Here is, for example, how you can add TDB version 0.9.0-incubating-SNAPSHOT to your project:

<dependency>
    <groupId>org.apache.jena</groupId>
    <artifactId>jena-tdb</artifactId>
    <version>0.9.0-incubating-SNAPSHOT</version>
</dependency>

General help on how to use Jena with Maven is here.

If you have problems with any of our SNAPSHOTs, let us know.

You can also check the state of each Jena module on our continuous integration server: https://builds.apache.org/view/G-L/view/Jena/.

Subversion repository

You can find the Jena source code in the Apache subversion repository: http://svn.apache.org/repos/asf/incubator/jena/Jena2/. This is now the authoritative, active repository for Jena code. The historical Jena sources are still available from SourceForge.

Each Jena module uses Maven, here is how you can check out, build and test a Jena module (TDB in this case):

svn co https://svn.apache.org/repos/asf/incubator/jena/Jena2/JenaTop/trunk JenaTop
svn co https://svn.apache.org/repos/asf/incubator/jena/Jena2/TDB/trunk TDB
cd TDB
mvn clean package

JenaTop (i.e. which has the Jena parent pom.xml for all the Jena modules) is currently necessary but it will not be as soon as it is published to Maven central.

Open issues

You can find a list of the open issues on JIRA (sorted by priority) or the popular issues (sorted by votes). Or, you can look at the last week activity to get a sense of what people are working on.

Submit your patches

Patches should be attached to issues in Jira (click on More Actions > Attach Files). To create a patch you can simply use the command:

svn diff > JENA-XYZ.patch

Please, inspect your patch and make sure it includes all (and only) the relevant changes for a single issue. Don't forget tests! If you want to test if a patch applies cleanly you can use:

patch -p0 < JENA-XYZ.patch

If you use Eclipse: right click on the project name in Package Explorer, select Team > Create Patch or Team > Apply Patch.

Git access to the Jena source code

If you're more familiar with Git, you can use the Jena Git read-only mirrors listed at git.apache.org/.

Please note that git commits cannot be directly pulled back into the main svn repository. If you would like to contribute changes back to the Jena codebase, then please follow this workflow.

IRC channel

Some Jena developers hang out on #jena on irc.freenode.net.

How Apache Software Foundation works

Apache Jena is an incubating Apache project and to better understand how to get involved and how the Apache Software Foundation works we recommend you read: