Skip to content

Commit f41be32

Browse files
committed
Import the best practice from https://github.com/LinuxSuRen/surenpi/wiki
0 parents  commit f41be32

File tree

3 files changed

+128
-0
lines changed

3 files changed

+128
-0
lines changed

LICENSE

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2021 Rick
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

+59
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
## Get started
2+
仔细阅读项目自述文件(README),遵循贡献指南(CONTRIBUTION)中给出的流程。
3+
4+
面对一个新的项目,尤其是在相对不熟悉的领域,有如下的方法可以帮助你提供前期的贡献:
5+
* 文档贡献,这是非常有效的一种了解项目的方式,通常我们可以在阅读文档的过程中,修复一些错别字、标点符号、语法错误、无效链接等等
6+
* good-first-issues,对于希望收到更多贡献的项目而言,会在一些容易上手的 issues 上添加该标签
7+
8+
## Issues
9+
常见误区:
10+
* 只有标题,没有内容
11+
* 只有结果、现象,没有提供上下文
12+
* 问题出现的可能性千千万,没有人能猜到你的环境、操作步骤
13+
* 只有截图,不提供错误、异常、上下文的关键文字
14+
* 没有文字的话,不便于其他人进行检索
15+
16+
最佳实践:
17+
* 现有的 issues 中没有提到过该问题时再提交新的
18+
* 标题要简洁、规范
19+
* 做好分类,可以通过标签或者标题前缀来分类
20+
* 常见的标题分类法:Question: xxx, Proposal: xxx, Bug: xxx
21+
22+
## Pull Request
23+
常见误区:
24+
* 使用单一分支(例如:master)提交变更
25+
* 单个 PR 中包含多个不同的优化、缺陷修复
26+
* 单个 PR 不断新增内容
27+
* 合并自己提交的 PR
28+
* 通过及时聊天工具催促特定的人 review 你的 PR
29+
30+
最佳实践:
31+
* 首次提交 PR 前,浏览已经成功合并过的 PR 评论列表以及格式等
32+
* 如果要修复的问题已经有对应的 issue,请确保没有人提交对应的 PR,然后,请留言说明你的修复计划
33+
* 如果估计你提交的变更比较多,请首先创建 issue,并依据具体情况(难易程度、争议性等)描述你的想法
34+
* 一个 PR 只能包含一类修改
35+
* 每次提交都须要新增一个分支进行
36+
* 避免同一个主题的 PR 反复关闭、新建
37+
* 避免在同一个 PR 中频繁地提交,这对于 reviewers 来说将会是极大的困扰
38+
* 如果你的 PR 还没有准备好接受 review,请在标题上添加前缀 `WIP: `,直到你自测充分
39+
* 在根据 reviewers 提出的建议进行修改时,避免使用强制推送 `--force`,这对于 reviewers 来说将无法轻松地看到你最新的修改部分
40+
* 尽可能保持你的 commit 记录比较优雅,万一多次 review 后的记录比较多的话,项目 owners 会在合并时决定是否会 squash 你的提交记录
41+
* 尽可能多地给出当前 PR 的详情,包括但不限于:相关 issues、解决的问题、任何方便 review 的上下文
42+
* 涉及到 UI 的改动,给出修改前后的效果截图
43+
* 视情况给出你的自测过程
44+
* 对于可能引起争议的部分,给出你的解释
45+
* 如果你的 PR 超过一周没有得到 review,可以尝试 cc 相关的 team
46+
* 如果没有相关的 team 可以 cc 的话,可以找最近合并过类似 PR 的人,并说明是由于找不到其他的方式,以及表示抱歉打扰
47+
48+
## 社区运营
49+
50+
### SIG 会议
51+
52+
* 每次会议都要有会议开始和结束的表述,例如:现在开始我们今天的例会;结束时可以说:“非常感谢各位参加今天的社区例会”等等的
53+
54+
#### 表述方式
55+
* 避免使用类似于“我们昨天讨论过xxx”的表述,社区成员无法了解到你们讨论的内容
56+
57+
## 其他
58+
还有一些其他的比较推荐的习惯、方法:
59+
* 习惯查看邮件

mentor-plan.md

+48
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# 如何让开源社区持续保持活跃
2+
3+
# 开源导师计划
4+
5+
开源导师计划,为了给有兴趣深入参与开源,并希望得到一定指导的人一次共同学习的机会。
6+
7+
需要注意的是,导师制并不是要培训、讲解如何参与开源,更不是教你学习任何具体的技术。这个计划大致的形式是:导师给出一系列任务,参与者来完成任务。以下是细节:
8+
9+
## 周期
10+
一年
11+
12+
## 参与者人数
13+
不超过两人
14+
15+
## 进度同步
16+
两周一次
17+
18+
## 任务
19+
参与者需要和导师共同制定要完成的任务,并明确完成的标准。导师应该根据学员的具体情况给出相应的指导意见。
20+
21+
### 选择一上游社区并跟进
22+
形式包括但不限于:
23+
* 每月至少参与一次社区例会
24+
* 了解社区运营方式
25+
* 至少参与一次社区的活动
26+
* 提交一次代码 PR,已经其他 PR 若干
27+
28+
### 跟进本社区的一名外部贡献者
29+
形式包括但不限于:
30+
* 积极跟进对方提的 issue 或者 PR
31+
* 了解对方在参与奔社区过程中遇到的困境,并设法解决
32+
* 进行2~3次的访谈,并形成文字记录
33+
34+
## 成果展示
35+
一个季度一次
36+
37+
* 技术博文
38+
* 社区动态介绍,包括:技术、社区活动
39+
* 视频教程
40+
* 所跟进的外部贡献者的成果,收到的反馈
41+
42+
### 通用技能
43+
* 英语(听说读写)
44+
* 演讲
45+
46+
## 同步、交流
47+
* 例会,两周一次
48+
* 成果展示,每月一次

0 commit comments

Comments
 (0)