This document defines the guidelines for contributing to the OADA project. These guidelines will evolve with community participation as the project progresses. The goal for these guidelines is to make contribution as simple and open as possible while still ensuring a quality, agile codebase.
The OADA source code and API specifications will be maintained in a set of Github repositories. A core group of trusted contributors (TC’s) will oversee pull requests to each repository. Conflicts among the TC’s will be decided by the OADA project lead.
The process for contributing is as follows:
- Clone the github repository you want to work on.
- Add your contribution.
- Run and pass any available software tests from the repository.
- Submit your changes as a pull request to the main project repository’s dev branch.
- The TC team will review your pull request and contact you with any questions.
- If successful, your change will be released in the next merge between the dev and master branches.
Features requests and bug reports will be tracked in the Github issue tracker and discussed via the community developers mailing list. The TC team will use the community discussion to prioritize and decide on features for each version’s targeted release date.
Project documentation will be community-driven and hosted via the oada-docs repository. Documentation is usually the primary metric by which projects are judged in the developer community, so contributions to the documentation are highly encouraged as a good way to get involved.
The process for becoming a TC is merit-based and by invitation only. A developer wishing to become a TC should:
- have consistently high-quality pull requests,
- have good community participation in documentation and mailing lists, and
- be kind and communicate well with other developers. If the TC team’s ability to respond to pull requests is falling behind the volume of incoming requests, the team will look for potential new members from the set of active contributors. The project lead will invite individuals to the group of TC’s and provision access as needed.
All code is released via the Apache 2.0 license, as specified in the LICENSE file at the root of each repository. The LICENSE file must remain intact for any pull requests.