开发群
开发群是DragonOS社区最重要的组织,由以下类型的子组组成:
- SIG(特别兴趣小组)
- 子项目
- 工作组
- 项目管理委员会
SIG(特别兴趣小组)
这是DragonOS开发群最主要的组织,每个SIG由对该领域作出贡献,或感兴趣的成员组成。其共同目的是为了推进特定主题的项目。 我们的目标是实现分布式决策结构和代码所有权,并提供用于完成工作、制定决策和加入新贡献者的集中论坛。项目的每个可识别的 子部分(例如,github org、存储库、子目录、API、测试、issue、PR)都旨在由某个 SIG 拥有。
SIG 涵盖的领域可能垂直集中于特定组件或功能,也可能是横向/跨领域的,跨越项目的许多/所有功能领域,或者支持项目本身。如:
- 垂直领域:网络子系统、调度子系统、虚拟化
- 横向:可扩展性、多架构支持
- 项目:测试、发布、文档、项目管理、贡献者体验
SIG 在任何特定时间都必须至少拥有一名、最好是两名 SIG 主席。 SIG 主席旨在成为组织者和促进者,负责 SIG 的运营以及与 其他 SIG、项目管理委员会和更广泛社区的沟通和协调。
每个 SIG 必须有一份章程,规定其范围(主题、子系统、代码存储库和目录)、职责、权限范围、如何选择/授予权限/领导力的成员和角色、 如何做出决策以及如何解决冲突。有关如何管理特许权的详细信息,请参阅SIG章程指南。在跨 SIG 流程 (例如,项目集成测试、发布上线等流程)和资产(例如,存储库)施加的一些广泛的指导方针和约束范围内,SIG 应该相对自由地定制或更改其运作方式。
SIG 存在的主要原因是作为协作论坛。SIG 中的许多工作都应该保留在该 SIG 的本地范围内。然而,SIG 必须公开沟通,确保其他 SIG 和 社区成员可以找到会议、讨论、设计和决策的记录,并定期向社区传达 SIG 工作的高级摘要。有关当前 SIG 操作机制的更多详细信息, 例如论坛板块、会议时间等,请参阅SIG治理文档
子项目
SIG 内的具体工作分为多个子项目。 DragonOS 代码和文档的每个部分都必须属于某个子项目。一些 SIG 可能只有一个子项目,但许多 SIG 拥有多个重要的子项目, 这些子项目具有不同的(尽管有时重叠)一组贡献者和Maintainer,他们充当子项目的技术领导者:负责愿景、方向和总体设计等。
一些 SIG 的子项目示例:
- 文件系统SIG:虚拟文件系统、FAT文件系统等
每个 SIG 的子项目都记录在其目录下的subprojects.md中。
WG(工作组)
工作组用来促进短暂的或者是跨越多个 SIG 的主题的讨论/工作。
工作组主要用于促进DragonOS范围内但跨 SIG的讨论主题。如果社区中的一群人想要聚在一起讨论某个主题,他们可以在不成立工作组的情况下这样做。
有关组建和解散工作组的更多详细信息,请参阅工作组治理。 工作组记录在工作组文档中。
项目管理委员会(PMC)
项目管理委员会负责管理管理各个SIG以及WG,制定及管理项目发展方向。
- PMC负责审阅、批准、驳回SIG和WG的成立、变更、撤销等事项。
- PMC负责决定项目的发展方向。
- 所有技术责任均应委托给 SIG(即PMC本身不应保留技术责任)
- PMC负责与项目促进群的各团队进行沟通协调。
- 制定和完善定义新社区团体的政策(3),并为这些团体制定透明度和问责政策。
- 定义并维护SIG和WG的治理结构和政策。
- PMC负责与特殊职能的委员会进行事项对接,但涉及的事项应当同时抄送给社区管理委员会。若涉及重大/敏感事项,应获得CMC的同意。
- 应当每个月以书面形式,向社区管理委员会(CMC)汇报其工作进展.
- 对于项目的重大事件及变更,以及财务、法务事件,均需在48小时内告知社区管理委员会。
- PMC成员的任免,在经过PMC的投票机制后,应得到CMC的半数以上成员的同意。