丰斯出自奥飞寺
公众号QbitAI
近日,由Linux基金会主办的2022开源峰会如期举行。
Linux之父Linus Torvalds也参加了这次会议。
还有一段情节,一张自己现场发来的照片,引起了很多网友和粉丝的感叹。
莱纳斯真的老了!
但53 岁的莱纳斯在与老朋友、卡尔达诺基金会首席开源官的对话中表示,他仍然充满动力。
与此同时,他还透露了一个大惊喜:
Linux内核主线的下一个版本可能会合并用Rust语言提交的PR分支。
对Linux的热情30年未减
Linux 诞生于1991 年,至今已有31 年的历史。
Linux作为世界三大操作系统之一,是云、边缘技术、嵌入式、物联网等技术的重要支撑基础。
Linux 作为最大的开源操作系统,由开源社区的贡献者维护,每6 至10 周(或1 至2 个月)发布新的内核版本。
当然,这些更新大部分是Linus 本人发布的。
2005年,Linus发明了Git,使涉及Linux的开源项目的开发更加高效。
从那时起,Linux 内核开发流程和发布模式至少在过去15 年里基本保持不变。
Linus 表示,虽然Linux 维护工作看似平凡、乏味,甚至无聊,但他认为这是每个人都需要的。稳定的更新过程可以让用户安心。
事实上,Linus 认为最令他高兴的是,尽管Linux 项目已有30 多年的历史,但仍未消亡。
(原文:我们不是一个死项目。)
他说Linux 中将会继续出现令我惊讶和高兴的新事物,包括创新。
所以他对Linux仍然充满热情。
下一个内核版本可能支持Rust
自2016 年以来,Rust 每年都被Stack Overflow 开发者调查评为“最受欢迎的编程语言”。
很多人也开始要求将Rust 语言添加到Linux 内核中,一个名为“Rust for Linux”的组织诞生了。
出现此行为的主要原因是,用Rust 编写会使用更高的计算内存资源并且更安全。
例如,在2019 年Linux 安全峰会上,有人提出Rust 可以通过其类型系统和借用检查器提供的API 来避免Android 和Ubuntu 三分之二的内存安全问题。
那么,Rust有没有可能成为继C之后Linux内核的第二个官方语言呢?
莱纳斯也在会上谈到了这个问题。
更让我惊讶的是,他说大家都认为我们是规避风险的。但实际上,我们可能肯定会在下一个版本中添加它。
换句话说,当局最终决定采用Rust,并将Rust for Linux PR 集成到主线Linux 内核中。
这一举动引来全场雷鸣般的掌声,林纳斯费了好大劲才平息了众人的激动。
如您所知,仅Rust 支持补丁的第7 版已经发布。
然而,Linus 也警告说,目前只会以非常有限的方式进行尝试。毕竟,25 年前,当我们尝试切换到C++ 来执行内核修补操作时,我们失败了。
(这意味着用Rust 重写2500 万行C 代码根本不可能。)
然后有趣的一幕出现了。
Linus 表示,他实际上会信任所有参与维护Linux 的开发人员,但前提是他们不会造成问题。
Linus说大家都知道,一旦失败,你就“无言以对”。然而,我意识到这是非常不礼貌的,后来别无选择,只能道歉。
Linus不好意思地说,他再也没有遇到过这样的情况了。 “现在,让我向写Rust 的程序员道歉。”(手动狗头)
现在压力在Rust 这边。
“开源永远不能保证100%安全”
最后,话题转向开源安全。
Linux基金会旗下的OpenSSF(开源安全基金会)最近宣布将斥资1.5亿美元用于保护开源软件。
对此,Linus 表示,没有一个开源项目,包括Linux 内核,可以被期望是100% 安全、100% 无bug。
“如果硬件中没有出现Bug,那么软件中就会出现Bug。如果你的程序中没有出现Bug,那么别人的程序中就会出现Bug。”
“唯一的方法是建立安全层。”
他进一步解释说,Linux 内核只是整个应用程序堆栈的一层。在内核内部,进程的不同部分已经存在多层安全性。
对于负责构建整个堆栈的开发人员来说,最重要的是了解如果堆栈中的任何层出现安全漏洞该怎么办。
One More Thing
目前Linux内核的最新版本是5.19。很多网友之间也存在争论,Linus口中的下一个版本会叫5.20还是6.0。
大多数人认为是时候拨打6.0 —— 了。
不仅因为这个版本可能最终包含对Rust 的重大更新,还因为我们从不喜欢Linux 版本号在上一个版本3.19 之后堆积。
你怎么认为?
参考链接:
https://venturebeat.com/2022/06/21/linus-torvalds-after-30-years-linux-is-not-a-dead-project/
- 就这样-
量子比特QbitAI·今日头条签名
关注我们,第一时间了解最新技术动态
版权声明:本文转载于网络,版权归作者所有。如有侵权,请联系本站编辑删除。