# Contributing to Jakarta Annotations

Thanks for your interest in this project.

## Project description

**Jakarta Annotations** defines a collection of annotations representing common
semantic concepts that enable a declarative style of programming that applies
across a variety of Java technologies.

 * https://projects.eclipse.org/projects/ee4j.ca

## Developer resources

Information regarding source code management, builds, coding standards, and
more.

 * https://projects.eclipse.org/projects/ee4j.ca/developer

The project maintains the following source code repositories

 * https://github.com/eclipse-ee4j/common-annotations-api

## Eclipse Development Process

This Eclipse Foundation open project is governed by the Eclipse Foundation
Development Process and operates under the terms of the Eclipse IP Policy.

The Jakarta EE Specification Committee has adopted the Jakarta EE Specification
Process (JESP) in accordance with the Eclipse Foundation Specification Process
v1.2 (EFSP) to ensure that the specification process is complied with by all
Jakarta EE specification projects.

* https://eclipse.org/projects/dev_process
* https://www.eclipse.org/org/documents/Eclipse_IP_Policy.pdf
* https://jakarta.ee/about/jesp/
* https://www.eclipse.org/legal/efsp_non_assert.php

## Eclipse Contributor Agreement

Before your contribution can be accepted by the project team contributors must
electronically sign the Eclipse Contributor Agreement (ECA).

 * http://www.eclipse.org/legal/ECA.php

Commits that are provided by non-committers must have a Signed-off-by field in
the footer indicating that the author is aware of the terms by which the
contribution has been provided to the project. The non-committer must
additionally have an Eclipse Foundation account and must have a signed Eclipse
Contributor Agreement (ECA) on file.

For more information, please see the Eclipse Committer Handbook:
https://www.eclipse.org/projects/handbook/#resources-commit

## Contact

Contact the project developers via the project's "dev" list.

 * https://accounts.eclipse.org/mailing-list/ca-dev
