整理丨诺亚
出品 | 51CTO技术栈(微信号:blog51cto)
“C++是一门很烂的语言!”
“Linux社区现在是一个肮脏的泥潭。”
“我希望 AVX-512 赶紧‘去死’。”
以上这些都来自Linus Torvalds的“暴言”。众所周知,暴躁的Linux之父向来敢喷,不过近来低调了许多。
在日前举行的日本开源峰会上,Torvalds和他的好友畅聊了Linux的发展现状。就在飞往东京之前,Torvalds发布了Linux 6.7的第四个候选版本。如果不出意外,这意味着下一个Linux版本将在圣诞节前后推出。
这一次在公开场合露面,Torvalds变得相当平和,正如他所说“我不会再对某些企业指指点点了”。
一、矛盾:为什么找内核维护者这么难
在会上,Torvalds再次提到了内核维护者工作强度过高的问题。
在今年举行的欧洲开源峰会上,Linux 官宣了一则重要信息:Linux 内核的长期支持(LTS)版本,维护期将从六年变回两年。之所以做出这样的决定,正是因为“维护者快累死了”,高强度工作下的疲惫和压力与日俱增。
Linux内核维护者的人手不足问题由来已久,就像Torvalds所说,相较于维护者,吸引开发者要容易得多。
寻找维护者之所以难,根据Torvalds的介绍以及国外开发者的相关评论,可总结为以下几点原因:
1、Linux 内核开发对大多数人来说是无聊的,很多年轻人对此不感兴趣。
2、Linux 内核项目维护的学习门槛太高,缺乏曲线平滑的学习资料。
3、成为维护者需要长期坚守岗位,找不到替代者的情况下,假期都无法安排。
4、要成为维护者,需要有良好的技术“品味”。但“正确评判他人的代码”这种能力往往需要慢慢积累。
5、维护者必须花很长时间才能获得社区信任,不仅是其他维护者的信任,也是所有代码贡献者的信任。
6、不少人难以接受“大独裁者”Torvalds与外界沟通的态度,简言之,“我不想被Linus喷”。
Torvalds也坦言:“代码编写并不困难,毕竟是对是错比较清晰。但人际关系处理起来就很费力。”
二、自洽:Linux是个能留得住人的社区
在Torvalds看来,虽然大家都想将项目做好,但是出于各自立场的不同,目标往往会出现差异,这种前进过程中的角力确实会带来相当大的压力。开源贡献不仅仅是编程,沟通也是其工作的重要组成。“维护者就是负责翻译各方诉求的人。”
Torvalds本人也在为此努力,他曾在给BBC的一封回信中写到了自己的改变:“我会变成一个可爱的人吗?这听起来不太可能。我仍然关心技术,我不会为了让人们喜欢我,而开始去接受糟糕的代码。我仍然不太善解人意,但就像我之前说的,我在改变自己,在积极寻找专业的治疗师帮助自己,我正试图摆脱我的暴怒、并变得更有礼貌。”
回到维护者稀缺的现实,Linux内核社区的老龄化并不是个新鲜议题,近年来关于其后继无人的讨论一直在持续。毕竟很多Linux内核维护者很快就要六十岁,甚至有一部分快七十岁了。
对此,Torvalds 依旧保持了其乐观态度,固然“我们团队中的很多成员都在老去”,但在三十多年的岁月里,他们还愿意跟他一起并肩作战,正说明Linux是个能留得住人的社区。
三、新生:将Rust引入Linux内核是一场持久的远征
Linux内核社区接班人的问题依然悬而未决,如何让更多的人参与进来是个值得深思的问题。Torvalds提到:“我之所以喜欢在内核开发中使用 Rust,就是因为有一位维护者明显比大部分同事年轻得多。”
相较C++,Torvalds对于Rust的态度向来宽和。截至今年,Rust已经连续第八年在Stack Overflow的年度开发者调查中位居“最受欢迎的编程语言”榜首。其速度、安全性和性能都是其受到开发者推崇的原因。
至于将Rust引入Linux内核,Torvalds 表示,“应用比例一直在增长,但目前还没有哪个部分真正依赖于 Rust。”不过他也提到,Rust是极具技术影响的重要成果,内核开发者们必须积极拥抱新事物。简单来说,拥抱Rust不仅仅是采用一种工具,而更多地是拥抱创新、拥抱未来的心态。
尽管Rust还没有真正证明自己有slay全场的实力,但Torvalds谈到,从明年开始会着手将Rust引入驱动程序、甚至是某些主要子系统,总之“Rust确实有成为内核重要部分的趋势”,但或许还需要时间。
将Rust引入Linux内核,无论是对于Rust还是Linux社区都有好处。
对Rust来说,虽然这几年得到了微软等大佬的力挺,而且安全性的美名也得到了广泛认可,但缺乏强势项目作为背书,始终难以形成更大范围的影响力。而Linux内核正好可以充当这一角色。
对Linux内核社区来说,Rust的引入可能会吸引更年轻的维护者,再者引入不可能一蹴而就,需要耗时多年,从内核最外围,从驱动部分开始接纳Rust,也为其他用户尝试用Rust写Linux内核模块打下基石,从而为社区注入更多活水。
四、毒舌:没必要担心AI幻觉,毕竟人更擅长犯错误
今年以来,在技术圈,大模型是无法回避的关键词。Github Copilot的问世对于软件开发领域来说无疑是一次剧烈的冲击。在各种各样的副驾驶层出不穷后,人们关注的不仅是其对生产力的提升,更开始在意这种生产模式颠覆下一系列可能的连锁反应。
不少程序员开始尝试AI编程,在副驾驶的帮助下,即使在面对自己不熟悉的语言或者平台编程的时候,都会更有底气,不会在一些低级错误上面浪费时间,也能减少在基础问题上的自信受挫。当然关于AI生成代码的可用性不高,数据安全存在隐患等等质疑也相伴左右。
当被问及“未来是否会有模大型编写的代码被提交上来?”时,Torvalds予以了肯定:甚至很可能已经开始了, 只不过规模不大。
但是他对AI编程看得很淡然:此前一直有自动化技术帮助大家编码,因此AI也没什么特别。而且Torvalds希望AI能在自动纠错方面发挥更大作用。
对于糟糕代码向来“零容忍”的Torvalds表示:“因为我看到的众多bug都很直白,并不需要更高层次的推理能力。”AI如果能帮助人们找到这些一眼可见的愚蠢问题,无疑将很大程度上提升整体代码的质量。
此外,对于向来被诟病又无从规避的AI幻觉问题,Torvalds更是难掩毒舌本色:“没有AI,我依然每天都在看到人们创造的各种bug,所以我完全不担心。我认为,在犯错这方面,人类显然更胜一筹。”
参考链接:
https://www.zdnet.com/article/linus-torvalds-on-state-of-linux-today-and-how-ai-figures-in-its-future/
https://new.qq.com/rain/a/20230926A01M3S00
https://www.zhihu.com/question/633907059