当前位置:首页 > 技术分析 > 正文内容

“维护者都快累死了!”Linux 宣布:LTS 版本的维护期,将从 6 年变回 2 年

ruisui883个月前 (02-03)技术分析11

整理 | 郑丽媛
出品 | CSDN(ID:CSDNnews)

在本周举行的欧洲开源峰会上,Linux 内核开发者兼《Linux 每周新闻(Linux Weekly News)》执行主编 Jonathan Corbet 宣布了一个重大变化:

Linux 内核的长期支持(LTS)版本,维护期将从六年变回两年。

对此,Corbet 给出的理由是:缺乏使用 & 缺乏支持。

2017 年之前,LTS 版本的维护期就是两年

为什么说是“变回”?因为在 2017 年之前,Linux 内核 LTS 版本的维护期就是两年。

具体来说,Linux 内核 LTS 版本 (Long Term Support,简称 LTS)是相对稳定和可靠的版本,能够提供长期的维护和升级,因此多数企业和用户都会优先选择使用 LTS 版本。

在 2017 年之前,Linux LTS 内核基本上每两年发布一次,并会在发布之后的两年内提供安全和错误修复——但六年前,也就是在 2017 年 9 月的 Linaro Connect 大会上,谷歌高级工程师 Iliyan Malchev 宣布:Linux 内核团队已同意将 LTS 的维护期从两年延长到六年。

“所有的 Android 设备都是基于 Linux LTS 内核的,LTS 以前的维护期只有两年,如果幸运的话,你可能会赶上一年的 LTS 支持,但如果不快速支持的话,它可能就结束了。好在,Greg Kroah-Hartman( Linux 基金会 LTS 内核维护者)已经同意延长 LTS 的支持周期到六年了。”

这是首次 Linux LTS 内核的生命周期发生延长,为此当时各大技术网站都有相关报道,而 Linux 基金会 IT 基础架构安全总监 Konstantin Ryabitsev 也对此进一步说明:这一改变从 Linux Kernel 4.4 开始实施,且并不意味着未来所有的 Linux LTS 版本都将有六年的支持期限。

现在六年过去了,截至目前共有 6 个支持期限为六年的 Linux LTS 内核,分别是:6.1、5.15、5.10、5.4、4.19 和 4.14 版本。

而此次 Corbet 宣布 LTS 版本的支持期限再次变回两年,也进行了相关补充:支持周期缩减至两年的计划,针对的是之后的新内核版本,Linux 社区仍将遵守当前的生命周期结束时间表,即 Linux 6.1、5.15、5.10、5.4、4.19 和 4.14 版本的支持周期依旧是六年,具体到期时间如下:

Linux 代码维护者们早已疲惫不堪

在解释 LTS 版本支持周期缩短的原因时,Corbet 直白表示:“因为人们不使用它们,所以维护(旧内核)那么长时间真的没有意义。”

正如 Corbet 所说,以 Linux 4.14 版本为例:该版本的维护期是六年,将于明年 1 月份到期——可在能选择更多新版本 Linux LTS 内核的情况下,目前还有在使用 Linux 4.14 的人吗?肯定有,但应该不会有很多。

除了旧版本 Linux LTS 内核的使用人数不多,Corbet 表示还有一个更大的问题,那就是:Linux 代码维护者们早已疲惫不堪了。

据了解在过去的几个 Linux 版本中,平均每个版本都有 2000 多名程序员参与,其中包括约 200 名新加入的开发人员——看起来人数不少?但是内核维护者,也就是那些检查代码是否合适、工作是否正常的人,却完全是另一回事。

通常来说,Linux 内核维护者在维护工作中会遇到许多障碍:

  • 障碍一:许多维护者的维护工作没有报酬,因此需要在日常工作之外维护代码;

  • 障碍二:他们面临着越来越多的时间要求,因为人手不足,也因为用模糊测试来找 Bug。虽然模糊测试很有帮助,但也会发现太多的小 Bug,而维护者必须对每个小 Bug 进行检查并修复。

  • 障碍三:Linux 目前正在尝试使用 Rust 语言。虽然 Rust 消除了 Linux 的主语言 C 容易出现的错误,也给维护者带来了问题——如果一个维护者已经在 C 语言上工作了 30 年,那么要求他们再次成为 Rust 专家是一个很大的要求。

这些障碍导致了怎样的结果呢?Linux 内核文件系统开发者和维护者 Josef Bacik 一句话总结:“维护者都快累死了,(因为)维护者不会扩展。”另一位资深 Linux 内核维护者 Darrick Wong 也补充道:“这种情况不能再继续下去了,我们需要帮助。”

新内核的维护期为两年,但可根据情况再延长

基于这些难点,Corbet 宣布 Linux LTS 内核的生命周期将从六年缩短至两年。此外,他还建议维护者可以与其雇主商量,为他们的 Linux 维护工作支付报酬——许多公司必须意识到,如果他们想继续从 Linux 中获益,就必须回馈 Linux。

Darrick Wong 研究了许多同是 Linux 内核维护者的朋友,发现多数都在小公司、非营利组织和地方政府工作,并且与他遇到了一样的情况:普遍工作过度、时常会有恐惧和愤怒的情绪,以及难以理解和适应新思想。“我们不明白,为什么会遇到这种情况,而我们的工作却服务于那些收入高达数千亿美元的公司?”

至于不适应 Rust 语言的 Linux 内核维护者,Corbet 只是表示:决定 Rust 是否将成为 Linux 内核主流语言的关键点即将到来——Linux 内核代码中将新增三个基于 Rust 的重要组件,分别是 PuzzleFS 的一个实现,一个读/写 Plan9 文件系统服务器,以及最引人注目的苹果 M1 GPU 驱动程序。

虽然名义上来看,Linux LTS 内核的生命周期将从六年减少至两年,但正如 2017 年从两年变成六年时的情况一样,未来的新内核版本并非绝对只有两年的维护期:“预计每个新 LTS 内核的维护期只有两年,但如果整个行业有足够的兴趣来帮助支持它更长的时间,那其生命周期就可以被进一步延长。”

Android 的影响可能颇大?

虽然没有明说,但 2017 年提出延长 Linux LTS 内核维护期的是谷歌,此次 Linux 的这一变化也令不少人开始担忧谷歌的 Android。

在 PC 上,两年只代表内核更新之间的时间间隔,所以影响可能不太大;但嵌入式设备往往不会更新内核,“两年”代表了大部分的开发周期和对消费者的整个支持周期——显然,两年的时间绝对不够。

根据谷歌在 2017 年描绘的最初图景,手机需要两年的时间才能开发出来,而内核更是在开始阶段就被锁定了:首先,谷歌从一个新的 Linux LTS 中分叉出“Android Common”内核,然后将其发送给高通等 SoC 供应商,并针对每种型号的 SoC 进行分叉,然后将分叉结果发送给设备制造商,后者再针对每种型号的设备进行分叉。这一整个流程完整走下来,就需要花费不少时间了。

举个例子,Linux 于 2017 年 11 月发布了 4.14 版内核,而首批使用 4.14 版内核的 Android 手机于 2019 年春季才发布。另外,谷歌即将发布的 Android 14 也基于 Linux 5.4,这是一个发布于 4 年前且生命周期是 6 年的内核版本,但 Android 14 正式发布后,其内核对于消费者来说也只有两年的维护期了。

了解决上游内核发布与产品发布之间的这种长时间延迟,谷歌推出了通用内核映像(GKI),即通过统一核心内核并将 SoC 和板级支持从核心内核移至可加载模块中,为内核模块提供稳定的内核模块接口(KMI),使模块和内核可以独立进行更新。

但即使是用了通用内核映像(GKI),也只能同步一些小的 LTS 安全更新,也并不能进行重大的内核更新:例如第一款采用了 GKI 的手机 Pixel 6 就基于 Linux 5.10,现在依旧是 Linux 5.10(这是一个发布于 3 年前的内核)。

这也就意味着,变成两年维护期的 Linux LTS 内核,很可能会导致 Android 手机最终发货时,其 LTS 内核的维护期恰好结束,消费者只能在设备的生命周期内使用过时的内核。

因此对于 Linux 的这一重大变化,诸多开发者和网友都十分关注:

  • “难道就没有人想过那些价值万亿美元的公司,它们为这个对其整个业务起着承重作用的内核支付了 0 美元吗?”

  • “也许像谷歌这样的公司可以在这一领域提供更多支持,因为这有助于他们解决目前面临的问题:销售已经过时的产品。”

  • “这与识别和反向移植安全修复程序的工作并不相同。如果供应商有 6 年 LTS 的业务需求,那他们就可以为这项工作付费啊。”

那么对于这个变化,你又有什么想法吗?

参考链接:

https://arstechnica.com/gadgets/2023/09/linux-gives-up-on-6-year-lts-thats-fine-for-pcs-bad-for-android/

https://www.zdnet.com/article/want-an-elegant-user-friendly-windows-alternative-try-manjaro-23-0-with-kde-plasma/

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/931.html

分享给朋友:

““维护者都快累死了!”Linux 宣布:LTS 版本的维护期,将从 6 年变回 2 年” 的相关文章

继Yuzu后,任天堂要求移除多个Switch模拟器项目

IT之家 7 月 11 日消息,任天堂美国分公司 (Nintendo of America) 已要求移除多个用于模拟 Nintendo Switch 游戏的开源模拟器项目,其中包括 Suyu、Nzu、Uzuy、Torzu、Sudachi 和 Yuzu-vanced 等。这些模拟器均被指控包含绕过任天...

壹啦罐罐 Android 手机里的 Xposed 都装了啥

这是少数派推出的系列专题,叫做「我的手机里都装了啥」。这个系列将邀请到不同的玩家,从他们各自的角度介绍手机中最爱的或是日常使用最频繁的 App。文章将以「每周一篇」的频率更新,内容范围会包括 iOS、Android 在内的各种平台和 App。本期继续歪楼,由少数派撰稿作者@壹啦罐罐介绍他正在使用的...

学前端,这30个CSS选择器,你必须熟记

你学会了基本的id,class类选择器和descendant后代选择器,然后就觉得完事了吗?如果这样,你就会错过许多灵活运用CSS的机会。虽然本文提到的许多选择器都属于CSS3,并且只能在现代的浏览器中使用,但学会这些是大有好处的。什么是CSS选择器呢?每一条css样式定义由两部分组成,形式如下:[...

分享15个基于Vue3.0全家桶的优秀开源项目

大家好,我是 Echa。今天来分享 15 个基于 Vue3.0 全家桶的优秀开源项目!1. Vue Admin Bettergithub : https://github.com/chuzhixin/vue-admin-bettervue admin better 对比其他来源 admin 框架有如...

vue开发微信小程序 - 登录组件

移动端登录功能抽象为通用组件,满足:不同移动端应用中一键登录功能复用支持多种登录:微信登录、H5、QQ登录登录组件使用//引用登录组件 import login from "../components/user/login.vue" export default { compone...