The project welcomes contributions, large and small, from anyone.
The mailing list for project-wide discussions is dev@jena.apache.org and all development work happens in public, using that list.
The processes described here are guidelines, rather than absolute requirements.
Contributions can be made by:
Contributions should include:
Documentation is kept and published with Apache's svnpubsub system:
https://svn.apache.org/repos/asf/jena/site/trunk
The project uses a JIRA instance to track work. Please create a JIRA so that we can track a contribution.
https://issues.apache.org/jira/browse/JENA
It is useful to create a JIRA then use the JIRA number (e.g. JENA-9999) in the Pull Request title. This activates the automated mirroring of discussions onto the project developers mailing list.
To make a contribution:
The project development mailing list is automatically notified of new pull requests and JIRA is also automatically updated if the JIRA id is in the pull request title.
A project committer will review the contribution and coordinate any project-wide discussion needed. Review and discussion of the pull request itself takes place on github.
The committer review guide:
https://jena.apache.org/getting_involved/reviewing_contributions.html
An alternative is to upload a patch/diff to JIRA.
Code style is about making the code clear for the next person who looks at the code.
The project prefers code to be formatted in the common java style with sensible deviation for short forms.
The project does not enforce a particular style but asks for:
@author
tags.See, for illustration: https://google.github.io/styleguide/javaguide.html#s4-formatting
The codebase has a long history - not all of it follows this style.
The code should have no warnings, in particular, use @Override
and types for generics, and don't declared checked exceptions that are not used. Use @SuppressWarnings("unused")
as necessary.
Please don't mix reformatting and functional changes; it makes it harder to review.
All contributions are understood to be made as contributions to the Apache Software Foundation by the person making the pull request. These are then incorporated into the project codebase and licensed under the Apache License 2.0.
You, as an individual, must be entitled to make the contribution to the project. If the contribution is part of your employment, please arrange this before making the contribution.
For a large contribution, the project may ask for a specific Software Grant from the contributor.
If in doubt, or if you have any questions, ask on the dev@jena.apache.org mailing list. Legal issues are easier to deal with if done before contributing, rather than after.
The project cannot accept contributions with unclear ownership nor contributions containing work by other people without a clear agreement from those people.