blob: 3005654f225627bb936859b5442f42b9ee24cc75 [file] [log] [blame] [view]
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
# Contributing to the Apache OzHera(incubating) Project
If you’re interested in identifying vulnerabilities or improving the Apache OzHera(incubating) project, we warmly welcome your involvement. Below is a guide to help you get started with contributing.
[[Chinese Contributing Document](./CONTRIBUTING_CN.md)]
## Topics
* [Reporting Security Issues](#reporting-security-issues)
* [Reporting General Issues](#reporting-general-issues)
* [Code and Documentation Contributions](#code-and-documentation-contributions)
* [Test Case Contributions](#test-case-contributions)
* [Participating in Any Way](#participating-in-any-way)
* [Code Style](#code-style)
## Reporting Security Issues
Security issues are handled with top priority. Please avoid public discussions of security vulnerabilities. If you discover a security issue in Apache OzHera(incubating), report it confidentially via email to [private@ozhera.apache.org](mailto:private@ozhera.apache.org).
## Reporting General Issues
User feedback is crucial to Apache OzHera(incubating)'s growth. After using Apache OzHera(incubating), feel free to share your suggestions or issues by creating a [New Issue](https://github.com/apache/ozhera/issues/new/choose). To improve communication efficiency, we encourage you to search for similar issues before opening a new one. Add your details to an existing issue when relevant rather than creating a duplicate.
Consider opening a new issue for:
* Bug Reports
* Feature Requests
* Performance Issues
* Functional Enhancements or Design Suggestions
* Testing Improvements
* Incomplete Documentation
* Other project-related inquiries
When reporting issues, please ensure to remove sensitive information such as passwords, keys, or private business data.
## Code and Documentation Contributions
We welcome all contributions that improve the Apache OzHera(incubating) project. On GitHub, all enhancements can be implemented through Pull Requests (PRs):
* If you spot typos or mistakes, please correct them!
* If you identify areas for improvement, submit an enhancement!
* If documentation is inaccurate or incomplete, update it!
> We look forward to your PR.
Please review Apache OzHera(incubating)'s guidelines on submitting PRs:
* [Workspace Preparation](#workspace-preparation)
* [Branch Definitions](#branch-definitions)
* [Commit Guidelines](#commit-guidelines)
* [PR Descriptions](#pr-descriptions)
### Workspace Preparation
Please fork the project and clone it to your local machine for development. Once you set up the remote repository, you can easily sync your code with upstream branches.
### Branch Definitions
The Apache OzHera(incubating) project uses the following branch types:
* **Development Branch**: For developing all new features and improvements
* **Release Branch**: Created when a version is officially released
* **Hotfix Branch**: Used to address urgent issues in the release version
### Commit Guidelines
We emphasize high-quality commits, which includes:
* Commit Messages: Use clear and specific commit messages, such as `docs: Update installation guide`
* Commit Content: Ensure each commit is complete and reviewable, and that it is linked to your GitHub ID
**Please ensure your PR titles and commit messages adhere to the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) specification.**
### PR Descriptions
PRs are the main way to make changes to Apache OzHera(incubating). We recommend using the [PR template](./.github/PULL_REQUEST_TEMPLATE.md) to describe your changes.
## Test Case Contributions
The Apache OzHera(incubating) project prioritizes functional test case contributions. We recommend using JUnit for unit tests and Mockito for integration tests.
## Participating in Any Way
Apache OzHera(incubating) collaborates on GitHub, and we encourage contributions in various ways:
* Answer others’ questions
* Help review others’ PR designs and code
* Discuss project improvement suggestions
* Write blogs or share experiences about Ozhera
## Code Style
The Apache OzHera(incubating) project adheres to the Alibaba Java Coding Guidelines.
### Guidelines
[Alibaba Java Coding Guidelines](https://alibaba.github.io/Alibaba-Java-Coding-Guidelines/)
### Optional IDE Plugin Installation
* **IDEA**: [p3c-idea-plugin installation](https://github.com/alibaba/p3c/blob/master/idea-plugin/README.md)
* **Eclipse**: [p3c-eclipse-plugin installation](https://github.com/alibaba/p3c/blob/master/eclipse-plugin/README.md)
In summary, **any help is a contribution**.