整理 | 郑丽媛

出品 | CSDN(ID:CSDNnews)

近几年,GitHub 开发者数量逐年上升,仅过去一年 GitHub 的新增用户便有 1600 万人,总用户数更是达到了 7300 万——在开源浪潮席卷全球中,GitHub 无疑成为了许多开发者迈入开源的一个重要途径。

Python 开发团队或许正是看中了这一点,才决定将 Python 开发基础设施逐步迁移至 GitHub。目前这项迁移工作已进行近 7 年,但最近卡在了“将 Python 的 Bug 迁移至 GitHub”这一步。

技术&法律,两面受阻

相信大多 Python 程序员应该有所了解:此前,如需进行 Bug 提交、跟踪、修复等操作,一般可前往 Python 官方 Bug 网站(https://bugs.python.org/,可简称为 BPO),而 BPO 所用的 Bug 跟踪器为开源工具 Roundup,即由 Roundup 存储 Bug 相关数据。

为了顺利将 Python 的 Bug 迁移至 GitHub,上周 Python 核心开发者 Łukasz Langa 在 Python Discourse 论坛上宣布:

Roundup 中的 Bug 数据将全部迁移至 GitHub 的 Python 存储库中,此后用户和核心开发者发现的新 Bug 统一在 GitHub Issue 中处理;同时为避免 BPO 中 URL 失效引发混乱,之后 BPO 将以只读模式继续存在,而当前 BPO 中存在的每个 Bug 都将链接其 Github 地址。

“我们希望这将降低新贡献者的门槛,并提供更流畅的用户体验。”Łukasz Langa 解释道。

理想很丰满,但现实却很难如意。Łukasz Langa 感慨:“不论在技术还是法律层面上,这都不是一件容易的事。”为此,他自一月份起,就一直与同为 Python 开发者的 Ezio Melotti 共同讨论如何推动本次迁移任务。

复杂的迁移过程

Łukasz Langa 将整个 Bug 迁移工作分为测试反馈阶段及正式迁移阶段:

(1)以下为测试反馈阶段时间表:

  • 2022 年 2 月 18 日开始为期两周的公众反馈收集期。在此期间,开发者可前往 https://github.com/psf/gh-migration/issues/ 查看 Bug 迁移、测试执行等详细步骤并报告具体问题,还可前往 https://github.com/psf/gh-migration/issues 查看一些迁移 Bug 的示例。

  • 2022 年 3 月 4 日,在 Github 的帮助下,使用 10% 的 Bug 执行最终端到端测试迁移,以此估算迁移所需时间及过程中可能会出现的问题。

(2)如果反馈收集过程中没有发现任何问题,最终测试也成功实现,就开启正式迁移阶段:

  • 2022 年 3 月 10 日开始迁移。BPO 在欧洲中部时间晚上 9 点(太平洋标准时间下午 12 点)进入只读模式,BPO 中的数据将被导入 Github 上的临时存储库中(此过程预计需要 22 个小时)。

  • 2022 年 3 月 11 日,Github 开始将临时存储库中的 Bug 全部转移至 Python 库中。

据 Łukasz Langa 预计,正式迁移大概需要花费 3-7 天的时间(具体取决于 Github 的负载),而 Bug 迁移期间,Python 程序员需要注意以下几点:

  • 不可在 Github 或 BPO 上创建新 Bug;

  • 可以在 Github 上创建新 PR 并与现有 PR 交互,这点不会被影响;

  • 可以与 Github 上已迁移的 Bug 进行交互,但尽量不要有破坏性操作(如修改 Bug 标题、编辑评论内容、删除评论、删除标签等),因为数据更改会使迁移团队无法确定迁移是否完全成功。

Bug 数据迁移完成后,Python 官方会进行相关通知;但如果迁移无法在 7 天内完成,这项工作将中止并重新启用 BPO。

除了以上技术方面的问题,本次迁移任务还牵扯到了部分法律纠纷,主要集中在“Python 软件基金会(PSF)是否可以在不征求用户同意下,将用户生成的内容及其潜在的个人身份信息(PII)从 BPO 移动到 GitHub”。

关于这个问题,指导委员会和 PSF 律师确定,此次迁移不需要用户同意:

“BPO 和 Github 都是面向公众的系统,用户主动将他们的信息(包括 PII)放在 BPO 系统中,BPO 将根据主动同意存储、公开访问等权限,按需分发这些信息。而我们将后端更改为 Github 并不会修改这些权限,迁移过程中也不会显示之前在 BPO 系统中不允许公开访问的任何新用户信息。”

放弃 BPO 的理由

在看过以上迁移流程后,或许会有人疑惑:既然迁移这样麻烦,继续用 BPO 不“香”吗?针对这类问题,Python 官方早在 2018 年创建的 PEP 581 提案中就明确回应了。

该提案中,罗列出了一串 Roundup/BPO 中已知存在的问题:包括核心开发者在内,维护人员不到 5 人;没有可用的 CI(持续集成),现有维护人员的负担太大(需要审查、测试和应用补丁);隔绝了来自外界开发者的大量贡献;UI 需重新设计;易暴露用户的电子邮箱,还经常发垃圾邮件给用户;注册新账户过程繁琐…

但这一切问题,可能在部分已习惯 BPO 的开发者眼中,“罪”还不至于被放弃的地步,甚至希望 BPO 维护人员可以就这些问题加以改进。不过,Python 官方坚持认为:“GitHub 中有很多我们喜欢的功能,并且我们相信,创建和维护 GitHub 集成及相关工作量,要远低于加速并维护 Roundup 所需的工作量。”

最后,正如上文所提到的迁移流程,按计划自 3 月 10 日起 Bug 迁移将正式开始,届时相关开发者需注意迁移期间可能会带来的影响。

参考链接:

  • https://discuss.python.org/t/github-issues-migration-is-coming-soon/13791

  • https://lwn.net/SubscriberLink/885854/bb107c53bdebc248/

  • https://www.python.org/dev/peps/pep-0581/

—END—

《新程序员001-004》全面上市,对话世界级大师,报道中国IT行业创新创造

《新程序员003》聚焦“云原生时代的开发者”与“全面数字化转型”两大主题,点击订阅

— 推荐阅读 —

☞李彦宏:自动驾驶是起点,终局是智能交通;iPhone15将搭载苹果自研5G基带芯片;英特尔收购Linutronix|极客头条
☞微软若“无故”解雇暴雪 CEO,将付 1500 万美元“分手费”
☞马斯克:我是Rust粉丝,但我选择C

Python:Bug 官网不要了,全迁去 GitHub!相关推荐

  1. Python:Bug 官网不要了,全迁去 GitHub

    近几年,GitHub 开发者数量逐年上升,仅过去一年 GitHub 的新增用户便有 1600 万人,总用户数更是达到了 7300 万--在开源浪潮席卷全球中,GitHub 无疑成为了许多开发者迈入开源 ...

  2. python官网怎么下载-python下载官网

    广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 1.下载pythonpython下载步骤:(1). 进入python下载官网:ht ...

  3. python下载官网-python下载官网

    广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. 1.下载pythonpython下载步骤:(1). 进入python下载 ...

  4. 左右全屏banner焦点图 代码特效+苹果官网首页左右全屏banner焦点图效果+包括JS图片CSS样式等

    介绍 源码名称:[左右全屏banner焦点图]代码特效+苹果官网首页左右全屏banner焦点图效果+包括JS图片CSS样式等 源码大小:16.6KB 开发语言:PHP+Mysql 操作系统:Windo ...

  5. python docx官网_【记录】尝试用DocxyGen为Python代码生成文档

    [背景] 之前折腾技术的时候,或多或少,知道一个东西: DocxyGen 是用于从代码生成文档的. 最近,又从: -> 该地址无效,但是自己手动输入地址,而找到: 看到页面右下角,就显示了,此在 ...

  6. python的官网都打不开了-python打不开

    广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 问题原因:我之前装了python3,后来又装了python2,可能有些配置没有更改 ...

  7. python从官网安装库函数的方法;

    自述 安装库函数通常有两种办法 输入命令windows+R:打开cmd命令窗口,通过命令 pip install 包名 进行第三库安装,此方法简单快捷 但第一种方法有不好使的时候,这时候就需要从官网下 ...

  8. python numpy官网_Python Numpy 教程(上)

    ------------------------------------------------------------------------------------------------ 该教程 ...

  9. 【漏洞提示】MySQL8.0.29因重大bug官网已下架

    前阵子,MySQL官网已经将 MySQL 8.0.29版本下架.据悉下架原因是由于MySQL 8.0.29 存在关于InnoDB解释器的重大Bug.而最新版本 8.0.30及以上的版本已修复此漏洞.各 ...

最新文章

  1. nero linux iso,NeroLINUX下载_NeroLINUX官方下载_NeroLINUX4.0.0.0-华军软件园
  2. 改善前端优化的有用技巧
  3. 批量处理文件,除了 Python,不妨试试 VIM!
  4. mysql case默认_MySQL -- 配置文件my.cnf 的详细说明
  5. html之div拖拽,html5拖拽
  6. java消息头_java中怎么进行头消息校验
  7. Java:idea查看JDK源码
  8. 敏捷与CMMI的同与不同
  9. python断言语句_Python断言处理
  10. C++如何写adaptable仿函数
  11. 又是二分法(uva714)
  12. 渗透攻击MS08-067
  13. 预测移动用户人口属性的Kaggle竞赛作品解析
  14. python查重算法_用Python实现通过哈希算法检测图片重复的教程
  15. 不同数据库之间表数据的copy及CPY 0012错误的解决办法
  16. 正则表达式(一)认识正则表达式
  17. 动词ing形式的5种用法_动词ing的几种常见用法
  18. Linux嵌入式网络 _ 网络信息检索、网络属性设置、超时检查、心跳检测
  19. Avue-curd个性化定制
  20. < Echarts地图Json数据获取:可获取地图geo.json数据( 省、市、县、区、城镇、街道 ) >

热门文章

  1. leetcode885.SpiralMatrixIII
  2. 【机房收费系统】---修改信息
  3. 从优先级排序看敏捷开发的自相似性
  4. 【编程珠玑】第十章 节省空间
  5. 电商基础(一):跳出率和退出率
  6. Java多线程编程(3)--线程安全性
  7. 本地搭建dubbo实例
  8. AngularJS track by $index引起的思考
  9. 研究生计划 三
  10. 《编译原理》学习笔记 ·002【第二章:文法和语言(形式语言理论)-1】