导读:在近日的 Linux 基金会的开源峰会中国会议上,Linus Torvalds 和他的老朋友 Dirk Hohndel(Verizon 开源项目办公室负责人)再次进行了一次关于 Linux 开发和相关问题的精彩对话,现场气氛推向最高点。
2024年8月23日,在香港举行的 Linux 基金会的 OpenSource Summit China 大会上,Linus Torvalds 和他的好友 Dirk Hohndel(Verizon 开源项目办公室负责人)再次就 Linux 开发及相关议题进行了热烈的交流。
Linus Torvalds 第一次访问香港
这是Linus第一次访问香港,但不是第一次访问中国。
用外媒的描述是:"在周五的早上,香港时间,一群维护者和开发者在一个挤满了人的礼堂中,做出了在中国文化中不常见的行为——当他们看到一个优雅的芬兰美国人上台时,他们大声欢呼表示赞同。"
因此,香港迎来了Linux之父Linus Torvalds,他在KubeCon和CloudNativeCon的活动上发表了演讲——尽管他承认自己是来参加这个活动中排名第三的会议:OpenSource Summit。当主持人特别欢迎他参加KubeCon时,他开玩笑说:“我之前不知道我是要来参加一个KubeCon。”
当被问到在场的观众中,有多少人的年龄比Linux还要小时,大约三分之一的人举起了手。因此,对这部分人来说,Torvalds被视为一个传奇人物:是他们所热爱的行业的传奇人物。
Linux的内核发展
跟往常一样,他们两人一起聊了 Linux 内核的现状和未来发展。
在对话中,Linus 提到了那封让他 “命运的齿轮开始转动” 的电子邮件。在33 年前,Linus 向 comp.os.minix 新闻组的成员透露了出于 “业余爱好” 而正在研究操作系统的消息。
当时,他在邮件中表示自己捣鼓的操作系统只是一个业余性质项目,不会像 GNU 组织那样庞大和专业。
Linus 称这封邮件并不是 Linux 的发布公告,而是第一封公开表示 “嘿,我四月份就开始研究这个东西了,现在几乎准备好了” 的电子邮件。
接下来两人聊到了 Linux 开发的各个环节,比如版本发布的节奏、系统的安全性、Rust 语言在 Linux 中的融合,还有 AI 在编程里的新角色。
首先,Torvalds 有点失望地告诉大家,sched_ext 这个用 eBPF 来构建灵活调度策略的调度器,不会包含在下一个 Linux 内核发布版本中。不过他还是希望在 Linux 6.12 版本中能见到它的身影。
聊到以后的版本,Hohndel 开了个玩笑,问 Torvalds 对 Linux 内核的长远规划怎么看,还调侃说按现在这更新速度,“Linux 内核 8.7 可能在你六十大寿的时候发布哦。”
Torvalds 笑着回应,“这个嘛,我还真没想那么远。”
Torvalds 强调他更关注眼前的开发工作。“开发的真谛在于把每一个细节都打磨到位。我们不会去想五年后的事,我只考虑接下来的一两个版本。”
不过他也提到,有些功能确实需要时间的沉淀。比如实时 Linux 项目,从启动到现在快二十年了,团队终于觉得差不多可以收尾了。“…… 嗯,差不多,还在微调最后的一些细节,希望今年能完美融入主线内核。”
同时,Torvalds 还提到,尽管 Linux 已经走过了三十三年的风风雨雨,“你可能觉得那些基础问题早该解决了,但实际上并没有。我们还在努力攻克内存管理等基础难题。”
而内核开发这项工作,是永无止境的。
Linux版本号
现在的 Linux 内核开发流程已经非常成熟和有序。虽然复杂,但这么多年来已经变得相当可靠。Torvalds 提到,虽然他们的目标是每九周发布一个版本,但一开始并不是这样的。
起初,整个过程非常混乱。Torvalds 回忆说,当他第一次表示不再希望每年或每两年发布一个主要版本,而是每六周发布一次较小的版本时,大家都笑话他。
至于版本号,Torvalds 再次强调它们其实没什么实际意义。Hohndel 打趣说,“你总是在 19 或 20 号左右升级主版本号,是不是因为你数不过来了?”
Torvalds 笑着回答,“不是啦,是因为当我不能再用手指头和脚趾头数的时候,就知道该推出新的主要版本了。”
Linux安全
两人在香港开源峰会上的话题一转,聊起了安全性。
Hohndel 提到了 Linux 内核里那些层出不穷的通用漏洞和安全公告(CVE)。但这并不代表 Linux 不安全。
Torvalds 回应说:“漏洞嘛,哪儿都有,任何东西都可能变成安全漏洞,只要有人够聪明,总能找到法子来利用它。”
Torvalds 接着讲:“我老是强调,安全问题其实只是众多漏洞中的一种,但 IT 界总爱把安全问题看成特别特殊的事情,这种看法实际上对大家都没好处。”
那面对 Linux 安全漏洞每周都在更新修补的情况,咱们该怎么办呢?Linux 稳定版内核的守护者 Greg Kroah-Hartman 认为,你应该持续更新到最新、最安全的稳定版 Linux 内核。Torvalds 也同意这一观点,但他也理解有些人坚持用旧内核,依赖不那么频繁的安全补丁的做法。毕竟,不是每个人都追求最新,稳定和熟悉有时候更重要。
Torvalds 坦言:“旧内核确实稳,我们也确实会给它们补补丁、修漏洞,但有时候一些修复会漏掉,因为大家觉得它们不重要,结果证明其实它们还挺重要的。”
don't really have this policy; it's the details that really matter. We have big-picture ideas of where we want to go in the long range, but most of the real development is about getting all the details right. You don't look five years ahead for that. You look one or two releases ahead at most.
—— Linus Torvalds
他还提醒说,如果你一直坚持使用旧内核,等到哪天真得升级到新内核时,可能会遇到一大堆麻烦。
所以,Torvalds 向那些还在用 Linux 4.9 内核的中国国内嵌入式 Linux 厂商喊话:“差不多得了,该更新了。”
此外,Hohndel 也提到,对于那些真正古老的内核,Linux 内核团队也只能摊手说:“不好意思,我们帮不上忙了。时间太久远,我们连怎么修都记不得了。”
Linux内核与Rust
随后话题一转,两个人聊到了 Rust 语言在 Linux 的使用情况。
Torvalds 对 Rust 的普及速度有点失望:“我本以为会快一些,但问题在于,老一辈的内核开发者对 C 语言情有独钟,对 Rust 这种在某些方面截然不同的新语言不太感冒。所以 Rust 推广起来遇到了阻力。”
Torvalds 还补充说:“另一个问题是,Rust 自己的基础设施还不够稳。” 这也让 Rust 在 Linux 内核中的应用之路更加曲折。
The very slowly increased footprint of Rust has been a bit frustrating. I was expecting uptake to be faster, but part of it – a large part of it, admittedly – has been a lot of old-time kernel developers are so used to C and really don't know Rust, so they're not excited about having to learn a whole new language that is, in some respects, fairly different. So, there's been some pushback for that reason.
——Linus Torvalds
对云、Kubernetes的看法
总的来说,Torvalds 对云和 Kubernetes 这些新兴技术并不感冒。
他直截了当地说:“对我来说,内核才是王道。”Hohndel 笑着接话:“这话一出去,肯定会被断章取义!”
Torvalds 也承认这些技术的确很有用,但他补充说:“对我来说,集群、云和 Kubernetes 都不是问题。开源的魅力就在于,每个人都可以专注于自己感兴趣的领域。”
One of the things that makes me enjoy open source so much is obviously just the community. Being involved and having lots of different people to communicate with, that's what really keeps me going. But the thing that makes it all practical is that people specialize in what they're interested in. So, when I say no, it's because it's just not my interest area. So, when it comes to things like Cloud, Kubernetes, or AI, to pick the hot topic of the day, I see myself as a kernel person who wants to support that, but I don't see myself as a person who is at all interested in the end result!
——Linus Torvalds
对人工智能的看法
然后,两人聊到了当下最火的话题:人工智能。
Torvalds 对现在的 AI 热潮持保留态度,但他还是希望 AI 工具未来能帮上忙,比如在代码审查和漏洞检测上。
尽管Torvalds对当前人工智能的炒作持怀疑态度,但他对AI工具最终可能帮助进行代码审查和错误检测持乐观态度。Torvalds说:
“我一直在跟那些研究如何让AI理解内核代码的人交流,对此我抱有希望。我的意思是,我还是不太喜欢AI。不是因为它是一种人人都在谈论的可怕炒作事物。但它一直在发展,总有一天你会想要屏蔽掉这一切!但同时,我希望五年后,或者也许更快,我们会处于这样一种状态:我们更加自然地接受AI,并且拥有不仅仅是用于写作的日常工具。”
“我一直在期望的——并且我与几家不愿透露姓名的大公司的人进行了交流——不是那种仅仅预测你行为的传统大型语言模型(LLM),我希望的是一个能够考虑到Linux内核源代码历史和其他项目,并学习什么是良好的代码模式,以及能够标记出它认为可疑的代码。然而,目前大多数工具还处于“相当基础(fairly obvious)”的阶段,我认为AI可以做得更好。但这可能并不是AI公司的首要商业目标。因此,我们只能拭目以待了~”
——Linus Torvalds
同时,Torvalds也对AI带来的“副作用”感到满意。
例如,他说:“当AI开始出现时,这非常棒,因为它使得NVIDIA在Linux内核开发中变得更加活跃。NVIDIA从我认为表现不佳的公司名单上,转移到了那些表现很棒的公司名单上。”
So, when AI people came in, that was wonderful, because it meant somebody at NVIDIA had got much more involved on the kernel side, and NVIDIA went from being on my list of companies who are not good to my list of people who are doing really good work. But that doesn't mean that I, personally, end up being interested in AI. I am just interested in what we need to do in the kernel to support AI. I still see myself as a core kernel person. But I think it's a good thing that people specialize. So, if people ask me about Linux using the cloud, I'm like, ‘I know Linux. But I don't know cloud.’
——Linus Torvalds
讨论快结束时,Hohndel 透露,他其实用 ChatGPT 来生成了一份问题清单,准备问 Torvalds。
第一个问题是:“在云服务和专有软件日益盛行的今天,你怎么看待开源软件的前景?”
Linus Torvalds 回答说:“我从来不做什么长远规划。也不想做。我就是个脚踏实地的工程师。”
采访在观众的掌声中落下了帷幕。