# guidelines for contributors

## request for listing

Send a message to jena-devel, with a helpful title, asking for your contribution to be added to the page. Describe your contribution using N3 with at least the following:

    @prefix dc:     <http://purl.org/dc/elements/1.1/> .
    @prefix ct:     <http://jena.hplb.hpl.hp.com/contrib#> .

    []
        dc:creator "your name"
        ; dc:name "your contribution's name"
        ; dc:description "a short description"
        ; ct:link URLforDownloadAccess
        ; ct:linkTitle "title for link"
        ; ct:licence LICENCE
        .

The ct:link value should be the URL of the download, or of a webpage that describes the contribution and gives access to the download. The ct:linkTitle value will be used for the title of the link in the contribution table.

The ct:licence value should briefly define the licence for the contribution; further details should appear on your webpage or within the contribution itself.

All being well, the N3 will be added to the contributions document and will be used to generate an entry in the contributions page.

## guidelines for contributions

Multiple-file contributions should be bundled into a single archive file, typically a .zip file. Pathnames in the file should be relative.

### Java code

We recommend that Java code be bundled in the same style as Jena itself. So the zip should have a structure like this:

- a README[.t[e]xt] which sumarises the contribution and links to any documentation.
- a src directory containing the source code tree.
- a lib directory containing any required jars. The contribution's own jar can appear here.
- a doc directory for any documentation.
- an Ant buildfile (typically build.xml). Even if the user isn't expected to build from source, the buildfile can have a test target for running your contribution's tests.
- a clear statement of your contribution's licence.

#### package names

Contributions to Jena should use package names appropriate to the contributors, not names from the Jena package space. (The contributions to Jena by Jena team members naturally are exempt.)

### ontologies

Your ontology should have a URI (not a file: URI). If possible, that URL should be the URL from which the ontology content can be downloaded.