Python目前的维护者,Brett Cannon,日前在Python的核心工作流邮件列表中宣布了Python将迁移到Github中,在与InfoQ的对话中,Cannon解释了决定此次迁移花了超过一年的时间,当初主要的考虑有如下三个备选方案:

\\

  • 创建forge.python.org来托管Python的仓库\\
  • 迁移到Git、GitHub、和Phabricator\\
  • 迁移到Git和GitLab\

最后到决定是选择了GitHub,主要归结为以下三个方面的原因:

\\

  • GitHub和GitLab在功能方面基本差不多;但是,Cannon这里特别提到,GitLab的开源与否根本就不是决定性的因素。\\
  • 活跃的开发者均熟悉Github,无论是核心开发者还是外围的贡献者。另外就是,虽然有一些开发者明确的反对迁移到GitHub,但是没有一个说如果社区就这么决定了就没有人使用Github了。\\
  • Guido van Rossum偏爱Github,Cannon考虑到尽管现在Rossum只是偶尔贡献一下,但他的影响力仍在,为了避免潜在的冲突,应当考虑Rossum的感受。\

Cannon向InfoQ谈到他是如何做这个决定的:

\\

\

基本上我这次的所作的决策过程和原来做过的两次没有太大的不同,过程都是这样的:我向PEP请求关于问题的可能的解决办法,基于所提出的议题来进行讨论(尽管讨论通常都是流于形式的,但是PEP会自始自终都保留详细记录,有最新的建议一般都会通知到),制订各种期限,比如测试实例这样的,到那时,当我要做出决策的时候,我所基于的素材就非常的丰富了。

\

\\

这里值得一题的是Python使用GitHub,仅用于其代码托管和代码审核的支持,这也就意味着Python的缺陷跟踪和维基百科不会迁移到GitHub上。

\\

Cannon还讲过Python的核心开发者们彼此之间也是争论的不可开交。Stefan Krah所表达的观点其实是代表了开发者当中倾向于使用GitLab的人们,为此,Cannon专门进行了回复,并收到了很多未抄送给邮件列表的私聊回复,均回答了假定GitHub是首选的话大家是否会停止提交代码?他还补充到,在他看来无论是迁移到GitHub或者是其它的仓库都会有一小部分人的不适应,但必须要妥善处理。

\\

InfoQ借机采访了Brett Cannon,希望更加深入的了解到此次决定所能带来的好处,在整个流程中目前处于何种地步。等等。

\\

你能解释下Python和Python社区迁移到Github有何好处吗?

\\

\

我目前正在写的一个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

Python将迁移到GitHub相关推荐

  1. 弃用官方网站!Python 将所有 Bug 迁移到 GitHub 中

    文末赠书 此前,Python 开发组一直在 Python 官方 Bug 网站 https://bugs.python.org(缩写为 bpo 或 BPO)上进行 Bug 提交.跟踪和处理,该网站使用开 ...

  2. python虚拟环境迁移及代码实现

    python虚拟环境迁移 文章目录 python虚拟环境迁移 激活虚拟环境 创建 requirements 下载依赖包 换机器 创建新的虚拟环境 激活新的虚拟环境 安装包 有网的情况下,也可以直接安装 ...

  3. CodePlex关闭,建议迁移至GitHub

    Microsoft决定停止提供CodePlex开源项目免费托管服务.他们建议开发人员可以迁移到GitHub或任何其他托管服务提供商. \\ 尽管有些人希望CodePlex关闭的消息仅仅是4月1日愚人节 ...

  4. Linux内核社区迁移到github?

    简介: github是目前最火的开源软件代码托管平台,那么Linux内核社区能否迁移到github上呢?Intel的Daniel Vetter写了一篇关于这个问题的博客,他给出的答案是NO.至于这个答 ...

  5. 博客迁移到github

    博客已迁移到github, 地址为:https://github.com/manxisuo/blog/issues. 转载于:https://www.cnblogs.com/manxisuo/p/55 ...

  6. PHP 的 Git 服务器被黑客入侵,源码库将永久迁移至 GitHub!

    整理 | 郑丽媛 出品 | CSDN(ID:CSDNnews) 作为在服务器端执行的脚本语言,PHP 尤为适用于 Web 开发并可嵌入 HTML 中,因此许多个人和企业网站的开发都习惯了 PHP 的便 ...

  7. Python 虚拟环境迁移

    在工作中会使用python制作一些工具,但是python不同版本的兼容性较差,然而有时不得更换电脑,使原python脚本运行时经常会发生一些问题,因此想制作一个可以迁移的python虚拟环境. 但是, ...

  8. Python 3 迁移怨声载道

    今年1月1日,Python 2代码库被冻结.从那天起,不再有Python 2进一步的向后移植(backport),实际上使这种语言及运行时环境成了过时的技术.核心开发人员Nick Coghlan在FA ...

  9. python生成迁移文件

    ubuntu 20.04b版本,python生成迁移文件时,即python manage.py makemigrations命令 提示"No changes detected",分 ...

最新文章

  1. javascript篇-console.log()打印object却显示为字符串[object object]
  2. 批改网作文提交时分析不出来_小学生作文写作从哪些方面提高呢?
  3. 讨论:如何降低Cocos2d开发的游戏包体大小
  4. tron区块链php对接,Tron区块链技术 - Tron智能合约概述
  5. @suppressWarnings(unchecked)及其相关属性在Java中意思
  6. c语言二分法_14个经典C语言算法你就不看一眼?(附详细代码)
  7. 【英语学习】【Level 07】U04 Rest and Relaxation L4 A room fit for a king
  8. Java-JavaMail邮件开发(1)Java Mail
  9. 关于ESP8266和ESP8285的对比
  10. 台式计算机如何连接投影仪,电脑如何链接投影仪_台式电脑主机怎么连接投影仪-win7之家...
  11. 网吧无盘服务器进u盘启动,利用U盘启动在网吧免费上网
  12. 遗传算法优化SVM支持向量机分类预测的参数代码模型
  13. 什么软件适合团队协作?团队协作工具排行
  14. 数据可视化ECharts:饼形图2 地区分布模块制作(南丁格尔玫瑰图)
  15. 学习Less-看这篇就够了
  16. WEB测试应该注意哪些地方,怎样才能做好WEB测试
  17. Interpreter解释器模式
  18. GAT原论文阅读笔记
  19. vue-seamless-scroll遇到一些问题
  20. 连接Wifi显示“无internet,安全”的七种解决方法

热门文章

  1. WDA 程序文本翻译OTR
  2. 02 button的练习
  3. C# error CS1729: 'XXClass' does not contain a constructor that takes 0 arguments的解决方案
  4. Oracle 11.2.0.3 [INS-41112] Specified network interface doesnt maintain connectivity across cluster
  5. C# 委托实例(跨窗体操作控件)
  6. Django 遇到的错误:expected str, bytes or os.PathLike object, not _io.TextIOWrapper
  7. Java常用性能分析工具 jconsole、jvisualvm、 jstat、jinfo、jmap、jhat、jstack
  8. mac配置环境变量不生效
  9. android 通知打开app,Android打开通知栏并回到主页的几种方式
  10. 将dll制作成控件_如何将皮料剪切成想要的大小?制作皮具几种裁剪工具和使用方法...