由于缺乏新的贡献者加入,Django 董事会于 9 月 23 日发起了一份 “改革草案 ”,有意对项目当前的管理模式进行整改。11 月 20 日,Django 董事会成员,同时也是核心团队成员的 James Bennett ,在其博客上发布了一篇名为“Core no more”的文章,详细描述了 Django 当前存在的问题,以及草案的大意内容。
Django 是非常流行的 Python Web 框架,被世界各地被许多大型企业以及组织采用,但也遇到了多数大型开源项目难以避免的问题:活跃贡献者流失,新贡献者供不应求。James Bennett 提到,不少开源项目依赖企业支持来解决此类问题,借由企业员工帮忙维护项目以确保持续发展。Django 早期也是以这样的方式生存,遗憾的是,最终没有发展成长期模式。这也意味着 Django 现在完全依靠的是没有酬劳的贡献者,并已经开始供不应求。
通常来说,修复小 bug 或添加小功能是吸纳贡献者的好机会,但这些事情 Django 的现有成员都会完成。短期内还好,但按这个形势发展下去,Django 会一直无法吸引到新的贡献者,来取代那些不活跃的甚至完全沉寂的人。
为解决 Django 的发展困境,“改革草案”提议重组 Django 核心团队(也称 Committer,提交者)。James Bennett 解释到,按照 Django 现有的管理模式,任何人都可以提交更改及补丁,但只有 Django 的提交者和技术委员会才有权作出决定。提交者可对项目做出任意更改,只需对其他成员和技术委员会负责。而事实上,很少有提交者直接使用他们的提交权限,决策基本上都是通过讨论取得共识后再决定的。更最重要的是,现在 Django 中的不少提交者都处于非活动的状态,再加上“提交者”或“核心团队成员”这种头衔往往被视为有较高的门槛,容易让潜在的贡献者“不敢”与之相匹配。因此,从各层面来说,Django 的核心团队都已经失去了作用,倒不如直接解散。
作为替代者,两个新的角色将被正式化 —— 合并者(Merger)和 发布者(Releaser),合并者负责拉取请求到 Django ,发布者负责打包和发布版本。技术委员会作为最终的把关者,将继续保留,并赋予一些额外的决定权,主要是把控合并者和发布者的工作,并确认 Django 即将发布的版本。同时,董事会选举的频率将会降低,计划会是在每个主要版本发布时举办一次,而不是现在的每个版本发布时都进行。技术委员会的选举也将对 django-developers 列表的成员开放。
James Bennett 表示,删除拥有超高权利的“提交者”角色,以“贡献者”和“合并者”取而代之,将有助于让项目对一般人更加开放,并让提交流程更制度化。虽然这个方法不能立马解决贡献者不足的问题,但却是能更好的解决这个问题的途径。技术委员会权利的提高,可能并非最佳解决方案,但却是在必要时打破僵局、避免混乱的手段。技术委员会上面还有中立的管理者 DFS(Django 软件基金会)。
据悉,该提案细节仍在不断完善中,James Bennett 仍在收集反馈并根据反馈对提案进行调整,预计在下个月会以合理的形式进行投票表决。James Bennett 最后表示,希望在 2019 年年中,Django 能以新提案的模式运作,并有效解决现有的问题。【转自开源中国】
文章末尾固定信息