Apache Harmony is retired at the Apache Software Foundation since Nov 16, 2011.

The information on these pages may be out of date, or may refer to resources that have moved or have been made read-only.
For more information please refer to the Apache Attic

Apache Harmony Contribution Policy

Due to the oversight that we wish to provide for the Harmony community, the following process is used for committers, contributors and their contributions.

In summary :

Division of Repository

We have divided our Subversion® (SVN) repository into sections. There are two main sections, the "standard" section, for which the standard Apache process applies (namely, the standard Apache ICLA is all that is required) and the "enhanced" section, which requires any committer to also be an Authorized Contributor. Project code is in the "enhanced" section, and website, documentation and other miscellany is in the "standard" section. For the purposes of illustration:



and we limit access within the enhanced part of the SVN by fine-grained access control lists using information provided by Authorized Contributors, as defined below.

We will be as liberal as possible - if your status as an Authorized Contributor doesn't prevent it, access should be granted to any part of the SVN repository.

Strict Limits on Committer Contribution

Committers can only commit contributions to the repositories that they personally created specifically for contribution to Apache Harmony. This is the standard stream of fresh original work, small enhancements and patches that are the normal flow of project life.

The purpose of this rule is to explicitly prohibit re-purposed "bulk" code that the contributor believes is their original work from being added to the codebase without explicit oversight and acceptance. We can still accept contributions like that, but will track them explicitly as Bulk Contributions.

Policy for Committers

Each committer is required to complete a standard Apache Individual Contributor License Agreement. This document asserts that the contributor is licensing their material to the ASF under the Apache license and is their original work (there's some other details). This document is maintained and managed by the Secretary of the Apache Software Foundation.

In order for a committer to become an Authorized Contributor to Harmony, each committer is also required to complete the Authorized Contributor Questionnaire and submit it to the Harmony PMC.

We encourage every committer, if appropriate, to have their employer execute a Apache Corporate Contributor License Agreement. Note that this is recommended, but not required.

Policy for Bulk Contributions

Any software or other contribution that was not created explicitly for Apache Harmony in the Apache Harmony project is considered to be a 'Bulk Contribution'. This status is independent of the purpose or author of said contribution. For example:

Any Bulk Contribution :

  1. Will be donated via the project bug tracking system (JIRA) as a contribution under the Apache License
  2. Will be accompanied by a Software Grant or CCLA which will be registered with the Apache Incubator
  3. Will be registered in the Apache Harmony Bulk Contribution Repository via a Bulk Contribution Checklist
  4. Will be made by an Authorized Contributor to Harmony (defined above)

The Bulk Contribution Repository is a separate place in our administrative SVN in which each contribution is committed, in it's entirety, before being combined with the project codebases. We do this to ensure that we have a clear and unambiguous record of any repurposed software that was contributed or brought into the project source tree. Along with the source or other contributed materials, the contribution will also include a description of the software and the name of the Authorized Contributor that made the donation.

We strongly urge any potential contributor to carefully examine their candidate for contribution before offering to the project. To that end, we have started collecting information on tools and other aids to help in this process, and it can be found here.

Back to top