Python目前的维护者,Brett Cannon,日前在Python的核心工作流邮件列表中 宣布 了Python将迁移到Github中,在与InfoQ的对话中,Cannon解释了决定此次迁移花了超过一年的时间,当初主要的考虑有如下三个备选方案:
最后到决定是选择了GitHub,主要归结为以下三个方面的原因:
Cannon向InfoQ谈到他是如何做这个决定的:
基本上我这次的所作的决策过程和原来做过的两次没有太大的不同,过程都是这样的:我向PEP请求关于问题的可能的解决办法,基于所提出的议题来进行讨论(尽管讨论通常都是流于形式的,但是PEP会自始自终都保留详细记录,有最新的建议一般都会通知到),制订各种期限,比如测试实例这样的,到那时,当我要做出决策的时候,我所基于的素材就非常的丰富了。
这里值得一题的是Python使用GitHub,仅用于其代码托管和代码审核的支持,这也就意味着Python的缺陷跟踪和维基百科不会迁移到GitHub上。
Cannon还讲过Python的核心开发者们彼此之间也是争论的不可开交。 Stefan Krah 所表达的观点其实是代表了开发者当中倾向于使用GitLab的人们,为此,Cannon专门进行了 回复 ,并收到了很多未抄送给邮件列表的私聊回复,均回答了假定GitHub是首选的话大家是否会停止提交代码?他还补充到,在他看来无论是迁移到GitHub或者是其它的仓库都会有一小部分人的不适应,但必须要妥善处理。
InfoQ借机采访了Brett Cannon,希望更加深入的了解到此次决定所能带来的好处,在整个流程中目前处于何种地步。等等。
我目前正在写的一个PEP的 草稿 可以解答一部分,但是我们所期望的好处是可以做到更快速的补丁审核以及人们能够更加容易的参与到社区(真正的关键还是前者,但后者属于锦上添花)。希望是所有的工具都是或可以是围绕着GitHub所构建,能够做到为Python开发团队过去需要手动去做的大量的工作均替代为自动化,减少花时间去审核补丁的时间,从而提高生产效率。(目前我们最大的问题就是在缺陷跟踪上对于外来贡献者特别的不好,甚至让他们非常的不爽)。更何况不论是开发团队还是更为广泛的开源社区均对GitHub熟悉有加,而且我希望的是让所有人参与其中能够更加的快速和方便。
说到状态,我是在2016年1月1日对Python的开发迁移到GitHub上这个决定的,现在的话我正在撰写关于我们各个代码仓库迁移所需要的所有步骤的PEP(在上一个问题的回答中我给出的链接)。一旦在我们的 核心工作流邮件列表 中达成共识,且PEP会更加的完善、突出一些细节。在那之后,我们就会开始我们的工作。
至于具体的接下来的工作,他们要做的就是解决掉那些个会妨碍代码仓库迁移的“拦路虎”。因为我们迁移仓库所花费的困难是取决于他们所需要的工具,我希望是首先解决掉所有仓库的通用问题,然后再根据具体的仓库问题具体的解决。
你指的是在我发表过决定之后在核心工作流邮件列表中的讨论吧!我对此结果非常的满意。虽然有一些人因为GitLab拥有一个开源的版本就愿意去选择它,但是所有人都理解我为何做出如此的决定,而且支持我的坚持。大家还是对此次迁移持积极态度的,而且利用此机会让我们的开发平台尽可能的保持平台无关性,在未来能够不懈的追求更加的简单(这一定能够实现,自从我成为核心开发者之后,这算是第三次改动了,而且Python到今天已经走过了第25个年头,依然保持强劲的势头,当然,在接下来的几年,我们是不会再做平台的变换的了)。
开源项目近期往Github上迁移似乎渐渐的增多,你是否有过担心,如 其它人 那样认为如此依托给一个商业公司是不靠谱的?你认为这会给Python带来困扰吗?
对于未来的平台发生改变的情况还是非常担心的(将来某个时候一定会发生)。但是我们将仅使用GitHub来托管代码以及用来做代码审核,前者是很容易找到替代产品,而后者的话,一旦关闭某个pull request历史,其临近的也就没有什么价值了。也就是说,我们会对代码审核的历史做备份,那么我们一旦找到替代者,我们可以得到有效的代码审核,因为审核历史是有价值的,哪怕是直有一条接受的提交。如果GitHub不能提供开放的API给我们访问数据以及提高壁垒的话,我们当初就不会考虑它。另外,诸如GitLab之类的平台会提供一些工具让你来替代GitHub,包括pull request都可以导入到他们的平台,我们知道我们并不会失去什么,但是GitHub可以给我们最快的时间。还有就是我们的缺陷跟踪系统不会迁移到GitHub上去,这就让那些担心失去控制的稍稍放松一些,缩小了一些改动的范围。
查看英文原文: Python will be Moving to GitHub