This project and all of it's different components are open for contributors to suggest improvements and changes. We want to make contributing easy and transparent, so you can seamlessly:
- Suggest code improvements
- Submit a fixes to well known issues
- Propose features
- Report bugs
- Add documentation
We use GitHub to maintain and version code, to track issues and feature requests, as well as review and accept pull requests.
Pull requests are the best way to propose changes to the project (we use Github Flow). We actively welcome your pull requests:
- Fork the repository and create your branch from
master
. - If you've added code that should be tested, add tests. Make sure to cover at least 80% of newly added code.
- If your proposal involves changes to some APIs, don't forget to update the documentation.
- Ensure the test suite passes.
- Make sure your code lints.
- Make sure the content in the
docs
folder is properly adjusted if your change requires documentation. - Propose your pull request.
Make sure the description of your Pull Request complies with the template we've provided!
NOTE: If you haven't already, complete the Contributor License Agreement ("CLA").
Report bugs using Github's issues
We use GitHub issues to track public bugs. Reporting a bug is as easy as opening a new issue.
Ensure your issue description is clear and complies with the project's issue template!
If you use third party code with your code contribution such as, components, libraries, or snippets, ALL the following conditions must be satisfied:
- The third-party code must be licensed under a permissive open source license (e.g., BSD, MIT, Apache Software License, etc.) or a weak copyleft license (e.g., EPL, MPL, CPL, CDDL, etc.).
- The third-party code may not be modified.
- Details of the third-party code must be disclosed to the project (such as, component name, license, source URL, etc.).
- The third-party code must comply with any requirements/policies set out by the project.
By contributing to this project, you agree that your contributions will be licensed under its Apache License 2.0.