查看原文
其他

Linux之父Linus首次亮相香港都讲了啥?安全、Rust、AI 以及最重要的Kernel

明说开源 明说开源
2024-08-28
点击卡片关注一下,感谢您的支持!
Dirk Hohndel 和 Linus Torvalds 在香港
摄影/李小明

2024年8月23日,在香港举行的 Linux 基金会的 OpenSource Summit China 大会上,Linus Torvalds 和他的好友 Dirk Hohndel(Verizon 开源项目办公室负责人)再次就 Linux 开发及相关议题进行了交流。笔者在此期间正好在度假,特别从三亚前往香港参加此次大会,结合一些媒体报道,做一篇分享。


首先是开场,中国开源爱好者看到Linus真人登场时还是很激动的,可以从下面的一段视频感受下:


用外媒的描述是:"在周五的早上,香港时间,一群维护者和开发者在一个挤满了人的礼堂中,做出了在中国文化中不常见的行为——当他们看到一个优雅的芬兰美国人上台时,他们大声欢呼表示赞同。"


因此,香港迎来了Linux之父Linus Torvalds,他在KubeCon和CloudNativeCon的活动上发表了演讲——尽管他承认自己是来参加这个活动中排名第三的会议:OpenSource Summit。当主持人特别欢迎他参加KubeCon时,他开玩笑说:“我之前不知道我是要来参加一个KubeCon。” 这是Linus第一次访问香港,但不是第一次访问中国。


当被问到在场的观众中,有多少人的年龄比Linux还要小时,大约三分之一的人举起了手。因此,对这部分人来说,Torvalds被视为一个传奇人物:是他们所热爱的行业的传奇人物。


像往常一样,两人讨论了 Linux 内核的现状及其未来。他们的对话特别涉及了Linux开发的多个方面,包括内核发布流程、安全性问题、Rust语言在Linux内核中的集成,以及人工智能在软件开发中所扮演的角色


顺带一提:负责Linux内核安全的团队每周都会发布大约60个CVE(常见漏洞和暴露)信息,但大家不必过分担忧。


首先,Torvalds 遗憾地宣布,sched_ext,一种用于利用 eBPF 构建调度策略的可扩展调度器,将不会被包含在下一个 Linux 内核版本中。不过,他确实希望——他甚至敲了敲木头以示好运——它能在即将发布的 Linux 6.12 版本中出现。


在讨论未来版本时,Hohndel向Torvalds询问了关于Linux内核的发展计划。他特别提到,按照当前内核版本的发布频率,“Linux内核8.7可能会在你60岁生日时发布(笑),你对这个版本有什么期望呢?” Torvalds回答道:“我真的不知道。”


Torvalds接着解释说,他更注重短期目标。“真正的开发工作在于确保所有细节都正确无误。为此,你不会去考虑五年后的事情,而是关注接下来的一两个版本。


I 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项目(Real-Time Linux)成立20周年。这是一个实际上从20年前就开始的项目,参与其中的人们终于快要完成它了……好吧,差不多完成了。他们仍在调整最后的一些细节,但他们希望很快就能准备好完全合并到上游内核中,就在今年。”

同时,Torvalds也指出,尽管Linux已经发展了33年,“你可能认为所有的基础问题早就应该得到了解决,但事实并非如此。我们仍然在处理诸如内存管理这样的基本问题。” 这项工作永远没有尽头。

如今,Linux内核的开发过程已经变得高度结构化和节奏感鲜明。尽管开发过程本身复杂,但经过多年的优化,它已经变得非常稳定可靠。Torvalds提到,他们现在目标是每九周发布一次新版本,但这个周期并不是一开始就设定好的,而是随着时间的发展逐渐形成的。

在最初阶段,Linux内核的开发过程非常混乱。Torvalds回忆说,当他最初提出不再每一年或两年发布一个大版本,而是每六周发布一个小版本时,大家都对此表示了嘲笑。


“Good code is good code, but I keep very strict rules on release management. So, if your code is not ready by the time the merge window opens, I will not take it, because I don't want the kind of pain that we had 20-plus years ago. So, today we have a very reliable release process, even if the individual features may not always be released when we would like them to be.”

——Linus Torvalds原话


至于版本号,Torvalds再次强调,它们实际上并不代表什么。Hohndel开玩笑说:“你通常在19或20左右更改主要版本号,因为你感到无聊了。” Torvalds回应说,其实是因为,“当我不需要用手指和脚趾来数版本号时,就是时候发布另一个’主要’版本了。”(笑,大家应该都懂得Linus的幽默细胞吧?)

接着,两位转向了安全话题。Hohndel提到了Linux内核中大量的CVE(常见漏洞和暴露)。他指出,这并不意味着Linux本身不安全。Torvalds回应说:“错误在所难免,如果有人足够聪明,能够找到利用它们的方法,那么任何问题都可能成为安全漏洞。”

Bugs will happen, and any bug can be a security bug, if somebody is clever enough to figure out how to misuse it. So, being a kernel, security is obviously one of the most critical things we must keep in mind. But at the same time, we need to move forward. We need to support new hardware. We need to support all these new ways of doing development or using hardware, and that means that we can't make security the only priority.
——Linus Torvalds原话


Torvalds接着说:“我之所以强调所有安全问题本质上都是漏洞,是因为IT行业有一种倾向,就是把安全问题看得过于特殊,这种做法实际上会对所有人造成伤害。”

那么,对于每周持续不断的Linux安全漏洞修复,你应该怎么做呢?Linux稳定内核的维护者Greg Kroah-Hartman认为你应该持续更新到最新、最安全的稳定版Linux内核。Torvalds对此表示赞同,但他也理解那些坚持使用旧内核并依赖更少频率的安全补丁向后移植的用户情况。

Torvalds表示:“旧内核确实具有一定的稳定性,我们也确实会为它们向后移植补丁和修复,但有时一些修复会被忽略,因为人们认为它们不够重要,然而最终这些修复可能被证明是非常关键的。”

此外,如果你长期坚持使用旧内核,当你最终需要更新到一个新内核时,这个过程可能会非常困难。所以,“对于所有仍在使用Linux 4.9内核的中国嵌入式Linux厂商,”Torvalds摇着手指警告说,“是时候停止这样做了"。(现场笑声一片~)


此外,Hohndel指出,当涉及到修补非常古老的内核时,Linux内核团队可能只能表示:“很抱歉,我们无法为您提供帮助。那已经是很久以前的事情了,我们甚至不记得如何解决那个问题。”


随后,两位转向了一个更现代的话题,即关于Rust语言被引入Linux的情况,Torvalds对其采用速度感到失望。“我原本期望更新能更快进行,但部分问题在于资深的内核开发者习惯了C语言,对Rust并不熟悉。他们对于学习一种在某些方面截然不同的新语言并不感到兴奋。因此,对Rust的引入产生了一些阻力。”


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原话


此外,Torvalds指出:“另一个原因是Rust的基础设施本身还不够稳定。”


Another reason has been the Rust infrastructure itself has not been super stable. So, in the last release I made, we finally got to the point where the Rust compiler that we can use for the kernel is the standard upstream Rust compiler, so we don't need to have extra version checks and things like that.


I'm hoping that we're over some of the initial problems, but it has taken us one or two years and we're not there yet.

——Linus Torvalds原话


总的来说,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工具最终可能帮助进行代码审查和错误检测持乐观态度。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提出的十个问题。其中第一个问题是:“您如何看待开源软件的未来,尤其是在云服务和专有软件兴起的大背景下?

Torvalds轻叹一声,回应说:“我从未有过宏大的愿景。我也不希望有。我更愿意把自己看作是一个勤勉的工程师。” 以此作为结束语,采访在现场观众的掌声中正式结束。


最后放几张和Linus的大合影照片~

(个人合影照片就不放文章里了,发我朋友圈了哈哈)

笔者在香港参与VIP Lunch时与Linus等嘉宾的大合影,本次午宴由华为开源特别邀请

笔者参加了Linus和Greg在场的Linux内核维护者闭门交流会

亲爱的读者们,不星标《明说开源》公众号,不仅会收不到最新推送,还会看不到主理人精心挑选的封面大图星标《明说开源》,不错过每一篇最值得阅读的开源文章。
主编:李小明
@明说开源

修改于
继续滑动看下一个
明说开源
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存