feat: add code of conduct and contribution guidelines
Establish a community code of conduct to foster a respectful and inclusive environment, and provide comprehensive contribution guidelines to streamline project participation for all contributors.
This commit is contained in:
parent
d2d7b0495d
commit
d0e3c67c9b
55
CODE_OF_CONDUCT.md
Normal file
55
CODE_OF_CONDUCT.md
Normal file
@ -0,0 +1,55 @@
|
||||
English | [中文](CODE_OF_CONDUCT.zh_CN.md)
|
||||
|
||||
# Community Code of Conduct
|
||||
|
||||
Welcome to our open source project!
|
||||
|
||||
We are committed to creating a friendly, respectful, and inclusive community.
|
||||
To ensure a positive experience in our project, we have established the following code of conduct, which we require all participants to abide by, and provide a safe and inclusive environment for all community members.
|
||||
|
||||
## Our Pledge
|
||||
|
||||
As participants, contributors, and maintainers of our community, we pledge to:
|
||||
|
||||
- Treat everyone with openness, inclusivity, and collaboration;
|
||||
- Respect individuals with different backgrounds and viewpoints, regardless of gender, sexual orientation, disability, race, ethnicity, religion, age, or any other factor;
|
||||
- Focus on contributing and improving the project, rather than attacking or criticizing individuals;
|
||||
- Build trust with community members and promote our project through constructive feedback;
|
||||
- Provide a safe, supportive, and encouraging environment for community members to promote learning and personal growth.
|
||||
|
||||
## Our standards
|
||||
|
||||
Our community members should adhere to the following standards:
|
||||
|
||||
- Respect the opinions, viewpoints, and experiences of others;
|
||||
- Avoid using insulting, discriminatory, or harmful language;
|
||||
- Do not harass, intimidate, or threaten others;
|
||||
- Do not publicly or privately disclose others' private information, such as contact information or addresses;
|
||||
- Respect the privacy of others;
|
||||
- Establish a safe, inclusive, and respectful environment for community members.
|
||||
|
||||
## Our responsibility
|
||||
|
||||
Project maintainers have a responsibility to create a friendly, respectful, and inclusive environment for our community members.
|
||||
They should:
|
||||
|
||||
- Clearly and publicly explain the community guidelines;
|
||||
- Handle reports of guideline violations and resolve disputes appropriately;
|
||||
- Protect the privacy and security of all community members;
|
||||
- Maintain a fair, transparent, and responsible attitude.
|
||||
|
||||
## Scope
|
||||
|
||||
This code of conduct applies to all project spaces, including GitHub, mailing lists, forums, social media, gatherings, and conferences.
|
||||
Violations of the code of conduct will be dealt with, including but not limited to warnings, temporary or permanent bans, revocation of contribution rights, and revocation of project access rights.
|
||||
|
||||
## Implementation guidelines
|
||||
|
||||
If you encounter behavior that violates this code of conduct, you can:
|
||||
|
||||
- Communicate privately with the relevant person to try to resolve the issue;
|
||||
- Report the violation to the project maintainers(maintainer mailing list), who will take necessary action based on the situation;
|
||||
- If you are not satisfied with the way the maintainers handle the situation, you can seek help from higher-level organizations or institutions.
|
||||
|
||||
Our community is a diverse, open, and inclusive community, and we welcome everyone's participation and contribution.
|
||||
We believe that only in a safe, respectful, and inclusive environment can we create the best project together.
|
55
CODE_OF_CONDUCT.zh_CN.md
Normal file
55
CODE_OF_CONDUCT.zh_CN.md
Normal file
@ -0,0 +1,55 @@
|
||||
[English](CODE_OF_CONDUCT.md) | 中文
|
||||
|
||||
# 社区行为准则
|
||||
|
||||
欢迎来到我们的开源项目!
|
||||
|
||||
我们致力于创建一个友好、尊重和包容的社区,我们希望所有人都能为此做出贡献。
|
||||
为了确保在我们的项目中有一个积极的体验,我们制定了以下行为准则,我们要求所有参与者遵守这些准则,并向所有社区成员提供一个安全和包容的环境。
|
||||
|
||||
## 我们的承诺
|
||||
|
||||
作为我们社区的参与者、贡献者和维护者,我们承诺:
|
||||
|
||||
- 以开放、包容和合作的态度对待所有人;
|
||||
- 尊重不同背景和观点的人,不论是性别、性取向、残疾、种族、民族、宗教、年龄或任何其他因素;
|
||||
- 专注于对项目的贡献和改进,而不是对个人的攻击或抨击;
|
||||
- 与社区成员建立互信关系,通过积极的反馈来推动我们的项目发展;
|
||||
- 为社区成员提供一个安全、支持和鼓励的环境,以促进学习和个人成长。
|
||||
|
||||
## 我们的标准
|
||||
|
||||
我们的社区成员应该遵守以下标准:
|
||||
|
||||
- 尊重他人的意见、观点和经验;
|
||||
- 避免使用侮辱性、歧视性或有损的语言;
|
||||
- 不要骚扰、恐吓或威胁他人;
|
||||
- 不要公开或私下发布他人的私人信息,例如联系方式或地址;
|
||||
- 尊重他人的隐私权;
|
||||
- 为社区成员建立安全、包容和尊重的环境。
|
||||
|
||||
## 我们的责任
|
||||
|
||||
项目维护者有责任为我们的社区成员创造一个友好、尊重和包容的环境。
|
||||
他们应该:
|
||||
|
||||
- 明确和公开地说明社区准则;
|
||||
- 处理准则违规行为的举报,通过适当的方式解决纠纷;
|
||||
- 保护所有社区成员的隐私和安全;
|
||||
- 保持公正、透明和负责任的态度。
|
||||
|
||||
## 管理范围
|
||||
|
||||
本行为准则适用于所有的项目空间,包括GitHub、邮件列表、论坛、社交媒体、聚会和会议等。
|
||||
违反准则的行为将受到处理,包括但不限于警告、暂时或永久禁言、撤销贡献权、撤销项目访问权等。
|
||||
|
||||
## 实施指南
|
||||
|
||||
如果你遇到了违反本准则的行为,你可以:
|
||||
|
||||
- 私下与相关人员沟通,以尝试解决问题;
|
||||
- 向项目维护者报告违规行为,维护者会根据情况采取必要的行动;
|
||||
- 如果你不满意维护者的处理方式,你可以向更高级别的机构或组织寻求帮助。
|
||||
|
||||
我们的社区是一个多样化、开放和包容的社区,我们欢迎所有人的参与和贡献。
|
||||
我们相信,只有在一个安全、尊重和包容的环境中,我们才能共同创造出最优秀的项目。
|
112
CONTRIBUTING.md
Normal file
112
CONTRIBUTING.md
Normal file
@ -0,0 +1,112 @@
|
||||
English | [中文](CONTRIBUTING.zh_CN.md)
|
||||
|
||||
# How to Contribute
|
||||
|
||||
Thank you for your interest and support in AimRT!
|
||||
|
||||
We welcome and appreciate any form of contribution, including but not limited to submitting issues, providing improvement suggestions, improving documentation, fixing bugs, and adding features.
|
||||
This document aims to provide you with a detailed contribution guide to help you better participate in the project.
|
||||
Please read this guide carefully before contributing and make sure to follow the rules here.
|
||||
We look forward to working with you to make this project better together!
|
||||
|
||||
## Before contributing code
|
||||
|
||||
The project welcomes code patches, but to make sure things are well coordinated you should discuss any significant change before starting the work.
|
||||
It's recommended that you signal your intention to contribute in the issue tracker, either by claiming an [existing one](https://github.com/AimRT/AimRT/issues) or by [opening a new issue](https://github.com/AimRT/AimRT/issues/new).
|
||||
|
||||
### Checking the issue tracker
|
||||
|
||||
Whether you already know what contribution to make, or you are searching for an idea, the [issue tracker](https://github.com/AimRT/AimRT/issues) is always the first place to go.
|
||||
Issues are triaged to categorize them and manage the workflow.
|
||||
|
||||
Most issues will be marked with one of the following workflow labels:
|
||||
|
||||
- **NeedsInvestigation**: The issue is not fully understood and requires analysis to understand the root cause.
|
||||
- **NeedsDecision**: The issue is relatively well understood, but the AimRT team hasn't yet decided the best way to address it.
|
||||
It would be better to wait for a decision before writing code.
|
||||
If you are interested in working on an issue in this state, feel free to "ping" maintainers in the issue's comments if some time has passed without a decision.
|
||||
- **NeedsFix**: The issue is fully understood and code can be written to fix it.
|
||||
|
||||
### Opening an issue for any new problem
|
||||
|
||||
Excluding very trivial changes, all contributions should be connected to an existing issue.
|
||||
Feel free to open one and discuss your plans.
|
||||
This process gives everyone a chance to validate the design, helps prevent duplication of effort, and ensures that the idea fits inside the goals for the language and tools.
|
||||
It also checks that the design is sound before code is written; the code review tool is not the place for high-level discussions.
|
||||
|
||||
When opening an issue, make sure to answer these five questions:
|
||||
|
||||
1. What version of AimRT are you using?
|
||||
2. What operating system and compiler are you using?
|
||||
3. What did you do?
|
||||
4. What did you expect to see?
|
||||
5. What did you see instead?
|
||||
|
||||
## Contributing code
|
||||
|
||||
Follow the [GitHub flow](https://docs.github.com/en/get-started/quickstart/github-flow) to [create a GitHub pull request](https://docs.github.com/en/get-started/quickstart/github-flow#create-a-pull-request).
|
||||
|
||||
Some things to keep in mind:
|
||||
|
||||
- Ensure that your code conforms to the project's code specifications.
|
||||
This includes but is not limited to code style, comment specifications, etc. This helps us to maintain the cleanliness and consistency of the project.
|
||||
The most basic, you can run `./format.sh` in the root directory to format the code.
|
||||
- Before submitting a PR, please make sure that you have tested your code locally(`./test.sh`).
|
||||
Ensure that the code has no obvious errors and can run normally.
|
||||
- To update the pull request with new code, just push it to the branch;
|
||||
you can either add more commits, or rebase and force-push (both styles are accepted).
|
||||
- If the request is accepted, all commits will be squashed, and the final commit description will be composed by concatenating the pull request's title and description.
|
||||
The individual commits' descriptions will be discarded.
|
||||
See following "Write good commit messages" for some suggestions.
|
||||
|
||||
### Writing good commit messages
|
||||
|
||||
Commit messages in AimRT follow a specific set of conventions, which we discuss in this section.
|
||||
|
||||
Here is an example of a good one:
|
||||
|
||||
> math: improve Sin, Cos and Tan precision for very large arguments
|
||||
>
|
||||
> The existing implementation has poor numerical properties for
|
||||
> large arguments, so use the McGillicutty algorithm to improve
|
||||
> accuracy above 1e10.
|
||||
>
|
||||
> The algorithm is described at <https://wikipedia.org/wiki/McGillicutty_Algorithm>
|
||||
>
|
||||
> Fixes #159
|
||||
|
||||
#### First line
|
||||
|
||||
The first line of the change description is conventionally a short one-line summary of the change, prefixed by the primary affected package.
|
||||
|
||||
A rule of thumb is that it should be written so to complete the sentence "This change modifies AimRT to _____."
|
||||
That means it does not start with a capital letter, is not a complete sentence, and actually summarizes the result of the change.
|
||||
|
||||
Follow the first line by a blank line.
|
||||
|
||||
#### Main content
|
||||
|
||||
The rest of the description elaborates and should provide context for the change and explain what it does.
|
||||
Write in complete sentences with correct punctuation, just like for your comments in AimRT.
|
||||
Don't use HTML, Markdown, or any other markup language.
|
||||
Add any relevant information, such as benchmark data if the change affects performance.
|
||||
|
||||
#### Referencing issues
|
||||
|
||||
The special notation "Fixes #12345" associates the change with issue 12345 in the AimRT issue tracker.
|
||||
When this change is eventually applied, the issue tracker will automatically mark the issue as fixed.
|
||||
|
||||
## Copyright headers
|
||||
|
||||
Files in the AimRT repository don't list author names, both to avoid clutter and to avoid having to keep the lists up to date.
|
||||
Instead, your name will appear in the [change log](todo).
|
||||
|
||||
New files that you contribute should use the standard copyright header:
|
||||
|
||||
```cpp
|
||||
// Copyright (c) 2024 The AimRT Authors.
|
||||
// AimRT is licensed under Mulan PSL v2.
|
||||
```
|
||||
|
||||
Files in the repository are copyrighted the year they are added.
|
||||
Do not update the copyright year on files that you change.
|
105
CONTRIBUTING.zh_CN.md
Normal file
105
CONTRIBUTING.zh_CN.md
Normal file
@ -0,0 +1,105 @@
|
||||
[English](CONTRIBUTING.md) | 中文
|
||||
|
||||
# 如何贡献
|
||||
|
||||
感谢您对 AimRT 的关注和支持!
|
||||
|
||||
我们欢迎并感激任何形式的贡献,包括但不限于提交 issue、提供改进建议、改进文档、修复错误和添加功能。
|
||||
本文档旨在为您提供详细的贡献指南,以帮助您更好地参与项目。
|
||||
在贡献之前,请仔细阅读本指南并确保遵循这里的规则。
|
||||
我们期待与您共同努力,使这个项目变得更好!
|
||||
|
||||
## 在贡献代码之前
|
||||
|
||||
项目欢迎代码补丁,但为了确保事情得到良好协调,您应该在开始工作之前讨论任何重大变更。
|
||||
建议您在 issue 跟踪器中表明您的贡献意图,可以通过[认领现有 issue](https://github.com/AimRT/AimRT/issues)或[创建新 issue](https://github.com/AimRT/AimRT/issues/new) 来实现。
|
||||
|
||||
### 查看 issue 跟踪器
|
||||
|
||||
无论您已经知道要做哪些贡献,还是正在寻找想法,[issue 跟踪器](https://github.com/AimRT/AimRT/issues)始终是您的第一个去处。
|
||||
issue 会被分类以管理工作流程。
|
||||
|
||||
大多数 issue 都会被标记为以下工作流标签之一:
|
||||
|
||||
- **NeedsInvestigation**:issue 尚未完全理解,需要分析以了解根本原因。
|
||||
- **NeedsDecision**:issue 相对已经理解得很好,但 AimRT 团队尚未决定解决 issue 的最佳方法。
|
||||
在编写代码之前最好等待决策。
|
||||
如果一段时间内没有决策且您有兴趣处理处于这种状态的 issue,请随时在 issue 评论中“ping”维护者。
|
||||
- **NeedsFix**:issue 已完全理解,可以编写代码进行修复。
|
||||
|
||||
### 为任何新问题打开一个 issue
|
||||
|
||||
除非是非常细小的变更,否则所有贡献都应与现有 issue 有关。
|
||||
请随时打开一个 issue 并讨论您的计划。
|
||||
这个过程让每个人都有机会验证设计,有助于防止工作重复,确保想法符合语言和工具的目标。
|
||||
在编写代码之前,还可以检查设计是否合理;代码审查工具并非用于高层次的讨论。
|
||||
|
||||
在提交 issue 时,请确保回答以下五个问题:
|
||||
|
||||
1. 您正在使用哪个版本的AimRT?
|
||||
2. 您正在使用哪个操作系统和编译器?
|
||||
3. 您做了什么?
|
||||
4. 您期望看到什么?
|
||||
5. 您实际看到的是什么?
|
||||
|
||||
## 贡献代码
|
||||
|
||||
遵循 [GitHub 流程](https://docs.github.com/en/get-started/quickstart/github-flow)来[创建 GitHub PR(Pull Request)](https://docs.github.com/en/get-started/quickstart/github-flow#create-a-pull-request)。
|
||||
|
||||
请记住以下几点:
|
||||
|
||||
- 确保您的代码符合项目的代码规范。
|
||||
这包括但不限于代码风格、注释规范等。这有助于我们维护项目的整洁性和一致性。
|
||||
最基础的,您可以在项目根目录下运行 `./format.sh` 进行格式化。
|
||||
- 在提交 PR 之前,请确保您已在本地测试过您的代码。 确保代码没有明显的错误并且可以正常运行(`./test.sh`)。
|
||||
- 要使用新代码更新拉取请求,只需将其推送到分支; 您可以添加更多提交,也可以 rebase 并 force-push(两种风格都可以接受)。
|
||||
- 如果请求被接受,所有提交将被压缩,最终提交描述将由 PR 的标题和描述组成。
|
||||
单个提交的描述将被丢弃。 请参阅以下“编写良好的提交消息”以获取一些建议。
|
||||
|
||||
### 编写良好的提交消息
|
||||
|
||||
AimRT 中的提交消息遵循一套特定的约定,我们将在本节中讨论。
|
||||
|
||||
以下是一个良好的示例:
|
||||
> math: improve Sin, Cos and Tan precision for very large arguments
|
||||
>
|
||||
> The existing implementation has poor numerical properties for large arguments, so use the McGillicutty algorithm to improve accuracy above 1e10.
|
||||
>
|
||||
> The algorithm is described at <https://wikipedia.org/wiki/McGillicutty_Algorithm>
|
||||
>
|
||||
> Fixes #159
|
||||
|
||||
#### 第一行
|
||||
|
||||
变更描述的第一行通常是一个简短的一行摘要,描述变更的内容,并以主要受影响的包为前缀。
|
||||
|
||||
一个经验法则是,它应该被写成完成句子 "This change modifies AimRT to _____." 这意味着它不以大写字母开头,不是一个完整的句子,而且确实概括了变更的结果。
|
||||
|
||||
在第一行之后空一行。
|
||||
|
||||
#### 主要内容
|
||||
|
||||
描述的其余部分应该详细说明,为变更提供上下文并解释它的作用。
|
||||
像在 AimRT 中的注释一样,使用正确的标点符号写完整的句子。
|
||||
不要使用 HTML、Markdown 或任何其他标记语言。
|
||||
添加任何相关信息,例如如果变更影响性能,请添加基准数据。
|
||||
|
||||
#### 引用 issue
|
||||
|
||||
特殊表示法 "Fixes #12345" 将变更与 AimRT issue 跟踪器中的 issue 12345关联。
|
||||
当此变更最终应用时,issue 跟踪器将自动将该 issue 标记为已修复。
|
||||
|
||||
## 版权声明
|
||||
|
||||
AimRT 代码仓库中的文件不列出作者姓名,以避免混乱并避免不断更新列表。
|
||||
而您的名字将出现在变更日志中。
|
||||
|
||||
您贡献的新文件应使用标准版权声明:
|
||||
|
||||
```cpp
|
||||
// Copyright (c) 2024 The AimRT Authors.
|
||||
// AimRT is licensed under Mulan PSL v2.
|
||||
```
|
||||
|
||||
代码仓库中的文件在添加时受版权保护,年份为添加年份。
|
||||
在变更文件时,请勿更新版权年份。
|
20
README.zh_CN.md
Normal file
20
README.zh_CN.md
Normal file
@ -0,0 +1,20 @@
|
||||
[English](README.md) | 中文
|
||||
|
||||
# AimRT
|
||||
|
||||
项目的完整细节请参考[aimrt.org](https://aimrt.org/)。
|
||||
|
||||
## 简介
|
||||
|
||||
- AimRT 是一个面向现代机器人领域的运行时开发框架。 它基于 Modern C++ 开发,轻量且易于部署,在资源管控、异步编程、部署配置等方面具有更现代的设计。
|
||||
- AimRT 致力于整合机器人端侧、边缘端、云端等各种部署场景的研发。 它服务于现代基于人工智能和云的机器人应用,提供完善的调试和性能分析工具链,以及良好的可观测性支持。
|
||||
- AimRT 还提供了全面的插件开发接口,具有高度可扩展性。 它与 ROS2、HTTP、Grpc 等传统机器人生态系统或云服务生态系统兼容,并支持对现有系统的逐步升级。
|
||||
|
||||
|
||||
|
||||
## 文档
|
||||
|
||||
- [AimRT-Docs](https://docs.aimrt.org/)
|
||||
- [快速开始](https://docs.aimrt.org/tutorials/index.html)
|
||||
- [联系我们](https://docs.aimrt.org/contact/index.html)
|
||||
- [发布说明](https://docs.aimrt.org/release_notes/index.html)
|
Loading…
x
Reference in New Issue
Block a user