Django董事会成员,同时也是项目核心团队成员的James Bennett,发出新提案想要解散Django核心,并以整合者(Merger)和发布者(Releaser)来代替原有的提交者(Committer),以解决日益失能的Django核心团队,阻碍项目发展的问题。目前这项提案在GitHub和邮件列表中被热烈讨论中。
Django是一款优秀的网页框架,被全世界许多大型企业以及组织采用,但现在却遇到了贡献者流失,导致项目发展困难的处境。James Bennett提到,这是多数大型开源项目迟早都会遇到的问题,而不少的开源项目依赖企业支持来避免这样的问题,借由企业员工帮忙维护框架,确保项目持续发展,而Django早期也是以这样的方式生存,在开发公司开源之后,由几个关键贡献者维持开发,但是这样的形式并没有被发展成长期形式。
而这也代表着Django项目现在依靠没有酬劳的贡献者发展,但最近人力已经开始供不应求了,James Bennett表示,通常修正小bug以及开发小功能是用来增加提交者的好机会,但这些事情Django的既有成员都会完成。虽然这样的情况并不代表Django现况很糟,而是依照这个情势发展,将在未来面临严重的问题,Django项目无法吸引到新的提交者,来取代不活跃甚至没有活动的提交者。
Django项目并没有从用户群中,形塑出贡献者,Django在全球都受到欢迎,各地举办许多研讨会以及课程,Django是发展中国家新兴开发人员的首选开发框架,也是众多女性开发者开始职涯的上手工具,但James Bennett提到,这些状况都没有在Django的贡献者中呈现出来,也就是说没有用户转而成为Django的贡献者。用户的贡献是项目长期生存的必要条件,同时也能避免项目只受单一团队控制。
为了解决Django目前遭遇到的发展困境,James Bennett提出新的提案以改革与重组Django核心团队。他解释到,依照Django开源项目现在的治理模型,任何人都可以提出修改以及补丁,但是只有提交者也就是Django核心团队和技术委员会才有权作出决定。提交者可以对项目做出任何改变,只需要对技术委员会负责,而事实上,也很少有提交者实际使用Commit bit,决策都还是通过讨论取得共识决定的,参与的人包括提交者和非提交者,以及django-developers列表中的成员,而且多数实际提交都是由研究员进行的。
虽然拥有Commit bit的提交者,有权利直接对Django项目推送代码变更,但是通常也都会征求讨论,但最重要的是,现在Django项目中的不少提交者都处于非活动的状态。因此James Bennett认为,从各层面来说Django提交者既然都失去作用了,那倒不如直接解散。
而James Bennett也提出以整合者和发布者两个角色,来代替原有的提交者的计划。整合者负责拉取请求到Django,而发布者负责打包和发布版本,相较于提交者是一个全能的角色,新的组织设计更加制度化。最初的整合者将由当前研究员组成,而发布者也会以相似的方式决定。
新提案将保留技术委员会,并且赋给一些额外的决定权,主要是参与决定整合者和发布者的工作,并确认Django即将发布的版本。另外,董事会选举的频率将会降低,目前计划会是主要版本发布时举办一次,而非现在每个版本发布都进行,技术委员会的选举也将对django-developers列表成员开放。
James Bennett认为,删除拥有超大权利的提交者角色,以一般贡献者取而代之,将有助于让项目对一般人更加开放,特别是让代码提交的工作更加制度化,并使django-developers邮件列表成员的意见声音相等,虽然这个方法不会直接解决贡献者不足的问题,但却是能更好的解决这个问题的途径。
另外,新提案赋给技术委员会更多的权利,像是发布最终版本的决定权。James Bennett认为,这个设计可能并非最佳解,但却是能成为解决僵局的必要手段,技术委员会的设置能避免Django项目,陷入暴民统治的混乱。技术委员会成员的资格,需要目前拥有提交者身份。
整个提案细节仍在补完中,James Bennett会继续收集更多的反馈以加到提案中,预计在下个月会以合理的形式进行投票表决。他希望在2019年年中,Django项目就可以完全以新提案的形式运行,并且在接下来的时间,有效解决当下的问题。