Skip to content

Commit

Permalink
Add CONTRIBUTING_CN.md (#712)
Browse files Browse the repository at this point in the history
Signed-off-by: Yang Xuan <[email protected]>
  • Loading branch information
XuanYang-cn authored Sep 17, 2021
1 parent e038363 commit e070f5b
Showing 1 changed file with 105 additions and 0 deletions.
105 changes: 105 additions & 0 deletions CONTRIBUTING_CN.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
# 成为 PyMilvus 的贡献者吧!

PyMilvus 是 Milvus 的 Python SDK,属于 Milvus 社区的开源项目之一,是 Milvus 向外辐射出来最受欢迎的项目。PyMilvus 从诞生之初就一直伴随 Milvus 的成长而成长,目前在 Github 上有 300 多颗星,贡献者有40 人 (9.10.2021)。

很多对 Milvus 感兴趣的人就是通过使用 PyMilvus 来第一次接触 Milvus。

PyMilvus 拥有一个长期维护的 1.x 版本,兼容 Milvus 1.x。目前活跃开发的主分支是 PyMilvus 2.x 版本,兼容的是 Milvus 2.x。

Milvus 社区的所有项目都非常欢迎大家参与贡献、共建社区,而 PyMilvus 不同于 Milvus 社区其他项目的地方有:

- 纯 Python;
- 支撑着 Milvus 的 E2E 测试和 Benchmark 以及 Milvus Bootcamp 项目;
- 作为 Python 库,使用场景更多;

真诚的欢迎大家来参与 PyMilvus 项目,共建一个协作、开源、开放的社区。如果你已经非常熟悉 PyMilvus 的代码和使用方式,非常欢迎大家来回馈社区,帮助更多的社区新人,将开源、协作、开放的精神传递下去。

## 贡献从这里开始

PyMilvus 的 Github issue 列表中,打上了 [good-first-issue](https://github.com/milvus-io/pymilvus/labels/good%20first%20issue)[help-wanted](https://github.com/milvus-io/pymilvus/labels/help%20wanted) 标签的都是入门级别的 issue。如果你还在熟悉项目,这些 issue 是极好的出发点。

如果你想挑战一下,不妨看看拥有 [Hacktoberfest](https://github.com/milvus-io/pymilvus/labels/Hacktoberfest) 标签的 issue。

## 我可以贡献什么?

如果你发现任何问题,你可以:

- 提 issue 指出问题是什么
- 在 issue 中给出最小复现方法 (可选)
- 在 issue 中给出解决方案 (可选)
- 提 PR 修复这个 issue (可选)

如果你对已经存在的问题感兴趣,你可以:

- 在标有 `question` 标签的 issue 内回答问题帮助他人
- 在标有 `bug``improvement``enhancement` 标签的 issue 内帮助他人:
- 提问、复现、给出解决方案
- 提 PR 修复这个 issue

如果你想让 PyMilvus 拥有新功能,你可以:

- 提 issue 指出你想要的新功能以及原因
- 在 issue 中指出这个功能的实现方案以及测试大纲 (可选)
- 提 PR 实现这个新的功能 (可选)

如果你对已经存在的 PR 感兴趣,你可以:

- 参与代码 review,并给出合适意见
- 指导社区新人走完 PR 的流程

这里提到的问题、新功能、疑问不仅指 Python 代码,还包括各种文档(技术文档,API 参考手册,贡献文档等等)。

## PyMilvus 代码结构

`docs/`: 除了 API Reference 外的文档源码所在地,使用 sphinx 组织编译,大部分文档内容都在 `docs/source` 目录下的 rst 文件中。

`examples/`: 包含一些可以直接运行的 python 脚本,通过例子介绍 PyMilvus 每个接口的使用方法。

`pymilvus/`:PyMilvus 的源码目录。

`tests/`: 单元测试目录。

`CONTRIBUTING.md`: 本文档。

`LICENSE`: PyMilvus 项目遵循的开源协议。

`Makefile`: 方便 Github action 运行的脚本。

`OWNERS`: 这个文件指定了当前目录的 reviewers 和 approvers。他们的人选是根据贡献者的活跃度和对当前代码贡献量综合敲定的。活跃的 contributors 会被列为 reviewers,承担起审核代码的责任。当一个 reviewer 审核了一段时间代码且在社区中一直处于活跃状态时,reviewer 会被列为 approver,负责对 PR 除了代码外的内容审核。如果你提了一个 PR 而不知道应该给谁审核,可以从这里面指定的贡献者挑选 reviewer 和 approver 来审核 PR。

`README.md`: Readme 文档。

`requirements.txt`: 开发 PyMilvus 时依赖的第三方库。

`setup.py`: PyMilvus 的打包脚本

## 贡献前必知

### PyMilvus 的 Github 工作流

## 提 PR 前必知

### 如何写 commit message ?

### 签署 DCO

## 合并 PR

### reviewer 审阅 PR 的哪些地方

### approver 审阅 PR 的哪些地方

### 通过所有 Github Actions

## 恭喜你!你已经成为了 Milvus 社区的贡献者!

除了和代码、机器打交道,你还可以和 Milvus 社区中的人交流。社区中每天都有很多新面孔加入,当他们遇到的困难正好是你所了解的地方,请尽情的帮助这些人。回想你初次接触 Milvus 接受过的帮助,你也可以将这样的交流互助精神不断传递下去,我们一起共创一个协作、开源、开放、包容的社区。









0 comments on commit e070f5b

Please sign in to comment.