Skip to content

Commit 2b861cb

Browse files
committed
chore:add rfc0006-authority-control.md
Log:
1 parent 28993a3 commit 2b861cb

1 file changed

Lines changed: 87 additions & 0 deletions

File tree

rfcs/0006-authority-control.md

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
# 标题
2+
3+
* 提案发起时间:2023-7-27
4+
* 提案拉取请求:[https://github.com/deepin-community/rfcs/pull/0005](https://github.com/deepin-community/rfcs/pull/0006)
5+
6+
## 概要
7+
8+
对 deepin-community 下的仓库进行权限控制,防范不可信的维护者对仓库的恶意破坏。
9+
10+
## 动机
11+
12+
* 问题:现有社区并不存在一个完善的权限控制机制,此时仓库权限授予采用的是“信任”机制,即社区的维护者得到 sysdev 组的信任后,便可以对社区的所有仓库进行任意操作。
13+
* 之前的讨论方案:@revy 曾经提出即使是公司新入职的员工,也不会立即获得对所有仓库的权限,而是需要经过一段时间的观察,以便 sysdev 组和社区其他成员对新员工的工作能力进行评估,从而决定是否授予新员工对仓库的权限。
14+
* 先例:[https://www.debian.org/devel/join/newmaint](https://www.debian.org/devel/join/newmaint)
15+
16+
## 详细设计/制度正文
17+
18+
### 社区成员身份
19+
20+
社区成员分为以下几种身份:
21+
22+
|**社区身份**|**对应权限**|论坛身份|
23+
|:----|:----|:----|
24+
|TC(技术标准委员会)|deepin-community owner 权限|TC/技术标准委员会|
25+
|核心维护者|deepin-community 下除部分 TC 管辖的仓库的 maintain 权限|deepin 核心社区开发者|
26+
|维护者 | 对应 SIG 管辖的仓库的 maintain 权限|deepin 社区开发者|
27+
|见习维护者 | 可以加入 deepin-community 组织,但无权限 ||
28+
29+
### 社区成员身份的获取
30+
31+
#### 见习维护者
32+
33+
见习维护者是社区的新成员,他们需要经过一段时间的观察,以便社区其他成员对其工作能力进行评估,从而决定是否授予其维护者身份。所以见习维护者身份在社区不存在任何门槛,只要你愿意参与社区的工作,签署了 CLA,那么你就是社区的一员。
34+
35+
#### 维护者
36+
37+
维护者是社区的成员,当见习维护者加入或创建了一个 SIG 时,便可以获得对应 SIG 管辖的仓库的 maintain 权限(sysdev 组除外)。
38+
39+
#### 核心维护者
40+
41+
核心维护者是社区的核心成员,他们对社区的发展有着重要的影响力。当维护者在社区中的工作得到了社区其他成员的认可(在 TC 例会上由 TC 组表决通过),便可以获得 deepin-community 下除部分 TC 管辖的仓库的权限。
42+
43+
#### TC
44+
45+
技术标准委员会拥有 deepin-community 的 owner 权限,TC 接纳新成员的流程遵循 TC 流程文档
46+
47+
### 社区成员身份的变更
48+
49+
#### TC
50+
51+
TC 成员的身份变更遵循 TC 相关流程
52+
53+
#### 核心维护者
54+
55+
当一个核心维护者在半年内未做出有效贡献,或者其他情况被 sysdev 组清退的。失去核心维护者身份
56+
57+
#### 维护者
58+
59+
当维护者退出 SIG 后,失去维护者身份。
60+
61+
#### 见习维护者
62+
63+
见习维护者自愿退出 deepin-community 组织,失去见习维护者身份
64+
65+
### 关联 GITHUB 维护者权限管理方案
66+
67+
#### 方案概述
68+
69+
各角色成员通过 github team 方式管理,并结合[OWNERS 文件模板](https://github.com/deepin-community/template-repository/blob/master/debian/deepin/OWNERS)下发到 deepin-community 的各个代码仓库中,用于控制代码变更新的审核与合入权限。
70+
71+
#### GITHUB TEAM 变更方案
72+
73+
github team 的更新根据上述对应角色商定的变更流程进行变更,变更流程可根据实际情况结合 github action+webhook 的技术手动实现自动化,主要用于 deepin-commnity 组织范围内的权限变更,影响较大。
74+
75+
#### OWNERS 文件变更方案
76+
77+
OWNERS 文件变更方式为提交 github pr,主要用于 deepin-community 下单个代码仓库的审核与合入选项的变更,影响较小。
78+
79+
### SIG 关联代码仓库维护者权限管理
80+
81+
待确定,建议在维护者权限管理方案试试后的基础上根据 SIG 的责任范围细化 deepin-community 的代码仓库权限管控。
82+
83+
## 提案弊端
84+
85+
## 遗留问题
86+
87+
## 替代方案

0 commit comments

Comments
 (0)