Python将一年发布一个大版本
经过漫长且深入的讨论后,有关更改 Python 语言项目的发布周期已经得出结论:该项目正式宣布采用 12 个月的发布周期。
Python 指导委员会成员 Brett Cannon 宣布代表委员会接受新发布周期的 PEP 602 的提案(Brett 也被认为是继 Python 之父 Guido 之后的 BDFL 代表)。指导委员会认为,当达到 Beta、RC 和最终版本时,每年有一个一致的时间表将对社区有所帮助:
知道何时开始测试 Beta 以提供反馈
知道何时期望 RC,以便社区可以准备他们最终版本的项目
了解最终版本的发布时间,以协调 Python 最终版本的发布(如有必要)
让核心开发者更轻松地计划工作以确保如期完成目标
而 Python 语言项目团队对于新的版本开发周期是这样规划的:
在一年周期开始前的 5 个月时间里(跟上一个周期的末尾重合,因为每个周期的末尾基本上是修复 bug,时间比较充裕),各个开发者自由开发讨论,提交特性,但不合并到开发分支。
一年开发周期的前 7 个月,确定 feature 并完成 Alpha 版本。
然后花费 4 个月的时间用于修复 bug,以完成 Beta 版本。
最后 1 个月收尾,最终发布正式版。
正式版发布之后,一年之内会获得完整支持,5 年之内会有安全更新。
总而言之,此举的目的在于让社区有足够的时间在 Beta 版本中提供反馈,同时让开发者有足够的时间来全面测试 RC 并为最终版本做准备。采用一年发布一个大版本旨在让整个开发发布流程更具有可预测性。每个版本将获得一年的完整支持和四年的安全更新。
PEP 602 的作者是 Python 3.8 和 3.9 的发布经理 Łukasz Langa,因为 Python 3.8 已经发布,所以新的发布周期将从 Python 3.9 开始采用。
对于这个方案,有开发者提到了 PHP 的做法,即提供两年的完整支持,并在第三年提供安全修复支持。所以对于 Python,我们可能也必须开发一个具有安全修复程序的长期支持方案,因为 RHEL 或 Ubuntu LTS 发行版的整个生命周期内都会进行主要版本的 Python 升级。