1.3 TiDB 开源社区治理
经过几年的发展,TiDB 社区已经逐渐成熟,但是随着社区的发展壮大,为了更好地组织对 TiDB 社区感兴趣的人一起高效地参与社区的活动,以便更好的激发社区活力,维护积极健康的社区环境,TiDB 开源社区一直持续打造透明公正的治理规范,参见 community。
在社区组织架构下面,下设四个不同的组织,PMC,Developer Group,User Group 以及 Organization Committee。
1.3.1 PMC
TiDB 社区的顶层治理架构我们借鉴了 Apache 基金会的 PMC(Project Management Committee) 概念,即项目管理委员会,参与 TiDB 社区项目 Roadmap 制定以及社区相关的重大决议。
1.3.2 Developer Group
Developer Group,就是大家常说的开发者社区。在开发者社区中,在大家耳熟能详的 Contributor,Committer 和 Maintainer 中,考虑到 Contributor 到 Committer 中间的升级链路太长,TiDB 社区新增了 Active Contributor 和 Reviewer 的角色,贡献者可以一步步进阶,更好地参与到项目协作和推进。
目前 TiDB 社区项目越来越多,本身 TiDB 和 TiKV 项目也越来越复杂,所以 TiDB 社区引入了两个新的治理概念:
特别兴趣小组(Special Interest Group,简称 SIG),特别兴趣小组是一个非常古老的词语,它最早出现在上世纪 70 年代,因为 ARPAnet 网络所形成的各种 mailing list 邮件组,这个也是开源社区的雏形。TiDB 社区也沿用了这么一个古老且广泛应用于开源社区的组织形式(词语)。SIG 主要负责例如 TiDB/TiKV 某个模块的开发和维护工作,对该模块代码的质量负责。满足条件的 Active Contributor 将被邀请加入专项兴趣小组,开发者们将在专项兴趣小组中获得来自 Tech Lead 们以及小组活跃 Committer、Reviwer 的持续指导,一边锻炼技术能力,一边优化和完善该模块。社区开发者们可通过专项兴趣小组逐渐从初始的 Active Contributor 成长为受到社区认可的 Reviewer、Committer 和 Maintainer。一般而言每个专项兴趣小组都会周期性的组织会议,讨论最近进展和遇到的问题,所有的会议讨论都公开在社区上,方便感兴趣的同学一起参与和讨论。
工作小组(Working Group,简称 WG)是由为了完成某个特定目标而聚集在一起的临时工作组。为了完成目标,有些工作小组可能跨越多个 SIG,有些小组也可能只会专注在某个具体的 SIG 中做某个具体的事情。 工作小组具有生命周期,一旦目标完成,工作小组即可解散。工作小组运营和管理的唯一目标是确保该小组成立时设置的目标在适当的时间内完成。一般而言,工作小组也会有周期性的会议,用于总结目前项目进展,确定下一步实施方案等。
1.3.3 User Group
User Group,即 TiDB User Group(TUG)是由 TiDB 用户发起的独立、非盈利的第三方组织,用户实行自我管理,旨在加强 TiDB 用户之间的交流和学习。TUG 的形式包括但不限于线上问答和技术文章分享、线下技术沙龙、走进名企、官方互动活动等等。TUG 成员可以通过线上、线下的活动,学习前沿技术知识,发表技术见解,共同建设 TiDB 项目。
随着 TiDB 产品的成熟,TiDB 用户群体愈发壮大,用户在使用过程中遇到的问题反馈及实践经验,对于 TiDB 产品的完善及应用推广有着不可忽视的重要作用,希望用户与开发者有更好的交流互动,一起推动 TiDB 社区的健康发展。
1.3.4 Organization Committee
Organization Committee,项目组织委员会,负责执行、输出,推广技术内容的组织者们,成员包括各地区用户组组长以及社区活动负责人。目前暂时囊括了很多具体方向的 Committee,比如 Legal / Quality / Marketing 等等,都会在这个委员会里面孵化和展开。