File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 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+ ## 替代方案
You can’t perform that action at this time.
0 commit comments