Django 此前的治理模式不太合理,对于持续发展壮大的 Django 社区产生阻碍。官网博客介绍,最开始 Django 项目发起人(Adrian Holovaty 和 Jacob Kaplan-Moss)可以授权其他人 commit 的权限。到了 2014 年,committer 的核心团队人数已经不少,在两位创始人辞去领导职务后, 保留了一个核心 committer 团队的基本结构,该团队可以根据自己的选择向 Django 添加代码。同时创建了一个新的小组:由核心 committer 选举产生的由 5 名 committer 组成的“技术委员会”,并作为最终的决策者。
但是实际上,现在几乎所有添加到 Django 的代码都由 Django Software Foundation(DSF,Django 软件基金会)的付费承包商 Django Fellows 合并,或者由少数活跃用户合并。Django 的所有版本现在都由 Fellows 发布。
也就是说核心 committer 团队在项目中几乎没有直接参与 Django 相关流程,并且关于 Django 开发中的几乎所有技术决策都不是在 committer 之间讨论和决定的,而是在任何人都可以参与的公共论坛上通过共识决定的。
这样的情况影响了社区中开发者的参与,也影响了 Django 项目的长期健康发展,所以社区内一直以来都在讨论改革。
Django 社区近日通过了 Django 项目新治理模型的提案 DEP 10,目前正在实施的一些变化如下:
![Django 采用新的项目治理模式](https://wpfile.debian.cn/uploads/2020/03/python-dep10.png)
之前的核心 committer 团队解散,相关成员的 commit 权限也将被删除。目前正在创建一个新角色“Merger”,他可以 commit,但只能合并来自其他人的 pr。合并不能决定主动将内容添加到 Django,也没有任何特殊的决策特权。
此外还会创建“Releaser”角色,他可以访问 Django 的发行版本并执行相关的机制,例如在关键文件中增加版本号。
另一方面,在有需要的情况下,技术委员会将保留为最终决策机构,并且还将负责就 Django 未来技术方向的想法和建议进行调查,并确定发布时间表。
但是,技术委员会的成员资格将不再仅限于 committer,技术委员会也不再由 committer 选举产生。凡是向 Django 技术贡献过的人都有资格竞选技术委员会委员,并由 Django 软件基金会的个人成员评选。选举的潜在候选人从此前的大约 50 位(committer) 扩大到目前的近 200 位。
此外,术语“Django Core Developer”(Django 核心开发者)被重新命名为荣誉称号,由 DSF 授予对 Django 历史产生了重大、长期影响的个人。
更加具体的信息可以查看博客原文以及 DEP 10 原文档: