【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

Linux 30 岁了!Linux 之父:完全没想到我的实验习作能存在 30 年

  • 2021-08-26
  • 本文字数:4148 字

    阅读完需:约 14 分钟

Linux 30 岁了!Linux 之父:完全没想到我的实验习作能存在30年

2020 年 8 月 25 日,Linux 迎来了 30 岁的生日。30 年前,芬兰计算机系研究生 Linus Torvalds 发布了一份简短的说明,介绍自己正出于业余爱好开发一款操作系统 — Linux 。如今,30 年过去了,Linux 已经成为软件开发历史上的传奇。


为什么 Linux 是开创性的?


与世界上许多伟大的项目一样,Linux 最初只是一个非常小的项目。


1991 年,Unix 还是 x86 操作系统大家族中一位既重要、但存在感又略显不足的成员。


这一年的 8 月 25 日,芬兰计算机系研究生 Linus Benedict Torvalds 在 Usenet 新闻组 comp.os.minix 上宣布,他正在研究“一款面向 386(486)平台的 AT 克隆形式(免费的)操作系统,他只是兴趣使然,这款操作系统可能不会像 gnu 那么大、那么专业。”


就连 Torvalds 自己也不知道,他的一个小小决定后来给这个世界带来了何等深远的影响。


三十年后,Linux 已经成为 IT 领域的王者。


世界上几乎所有的主要网站,包括谷歌、Facebook 以及维基百科,都运行在 Linux 之上。云也是一样,即使是在微软自己的 Azure 当中,最受欢迎的操作系统仍然是 Linux。全球五百强超级计算机全部采用 Linux。另外,得益于 Android 给力的市场表现,Linux 还成为最受欢迎的最终用户操作系统。


为什么 Linux 是开创性的?


通过采用 GPL 许可证(这是一种自由软件许可证),承诺参与的开发人员将他们对 Linux 项目的贡献授予公共领域,Linux 操作系统能够成功地建立一个完整的平台,为许多用户提供,强大和灵活性,具有与专有解决方案相当或更好的功能。事实上,许多其他操作系统的灵感都来自于 GNU/Linux 项目。


在过去的 30 年里,依靠来自世界各地的大量志愿贡献者,Linux 已经成长为计算机领域的佼佼者。可以说,它已成为人类成就的标志性象征。


Linux 已成长为一个全球可用的自由软件基础,它在很大程度上保持了对来自政府、公司和学术机构的干预的弹性。从服务器电脑到智能手机,再到嵌入式设备,Linux 改善了世界各地数十亿人的生活。


Linux 已经无处不在。

Linux 之父:完全没想到我的实验习作能存在 30 年


Linux 之父 Torvalds 谈到 Linux 的发展历程,作为“缔造者”,他对 Linux 的崛起有着既开心、又困惑的复杂情感。


至于这款操作系统的生日,Torvalds 认为严格来说它有 4 个生日:


“第一个就是新闻小组上公开帖子的时间,即 8 月 25 日。现在,大家还能找到帖子的标题、发布日期和时间,还有完整的帖子内容。但 0.01 这个版本虽然从未出现在任何公开场合当中(仅在私下发布)、也没有被往来邮件直接提及,但却同样是个历史性的节点。现在,大家可以通过 tar 文件中的创建日期找到 0.01 的诞生时间(9 月 17 日)。”


“所以,我觉得它们俩都可以说是 Linux 的生日。顺带一提,有些人对 Linux 的诞生日还有不同意见。例如,最早公开提及 Linux 是在 7 月 3 日:当时我第一次在 Minix 新闻组上公开寻求 POSIX 文档,并提到我正在做一个尚未命名的项目。另一方面,Linux 的首次正式亮相是 0.02 版本,相较于 0.01 版本加上了一个小小的补丁,当时的日期是 10 月 5 日。”


在早期探索中,Torvalds 得到了赫尔辛基大学教授们的鼓励。


“大多数情况下,Linux 项目都表现得非常低调。不像那种传统的大学项目,我也不希望它成为大学项目。但赫尔辛基大学、至少是计算机科学系,对于非官方项目还是抱有很开放的心态。我一直不觉得 Linux 有多么特别,它只是碰巧发展壮大了而已。我从来不觉得成功的项目就必须得有特别的推进方式,或者必须要有大学官方项目的光环作为加持。Linux 在大学里的应用不少,但我觉得我们系在这方面的心态特别开放,单纯是把 Linux 看作一个很酷的本地项目。”


没过多久,Torvalds 就意识到自己的小项目绝非池中之物。


到 1991 年底,Linux 已经比 GNU Hurd 或者 Minix(Andrew Tannenbaum 开创的免费教育用 Unix 操作系统)获得了更多关注。


“大概是 1991 年圣诞节前后,我开始对磁盘进行分页。从这里开始,Linux 相当于是在 Minix 的未竟边疆中拓荒了。也正因为如此,Linux 的版本号才从 0.03(大概是 1991 年 11 月)跃升至 0.12(1992 年 1 月),” Torvalds 说, “这可不是什么激进之举(当时也有其他人在开发执行分页等 Minix 扩展),但至少表明 Linux 正在超越 Minix、做一些我并不熟悉的尝试。到 1992 年夏天,我们已经成功运行起 X 版,那时候的 Linux 看起来也与之前的 Minix 完成不同(从那之后,我就再也没有关注过 Minix)”。


其余的事情可以说是顺理成章。纵观 Linux 的整个发展史,最令 Torvalds 震惊的是 1992 年、自己第一次意识到有一群不认识的人在使用 Linux 并为它开发补丁。”


当时,Linux 做出的种种尝试还没有专门的术语进行表述。如今,我们知道这是开源。开源所强调的世界各地开发人员在共同所有、共同管理的代码之上携手贡献的概念,也成为有史以来最重要的软件开发方法,甚至没有之一。


虽然如果没有 Linux,Linux 可能根本不会出现。但其他极具影响力的早期 Linux 开发者,包括 Theodore Ts'o、James Bottomley、Gerald Pfeifer 以及 Greg Kroah-Hartman,对于 Linux 项目的成长同样至关重要。


Linux 算是起飞了,但当时的 Torvalds 根本弄不清它的发展方向。“91 年的 Linus 完全想象不到 30 年后的世界,甚至压根没觉得自己的这款实验习作能存在三十年。在他看来,当时有很多项目都比 Linux 重要得多。”

商业世界里的 Linux


在诞生之初,Linux 并没有被正式定名为 Linux。“Linux 只是我定的开发名称,从没想过把它当成最终定名,毕竟它听起来太狂、太自负了,基本相当于「Linus 的 Unix」。所以,Torvalds 给它取了个比较……难听的名字,叫「Freax」,意为「Free Unix」。


幸运的是,第一位 Linux 管理员 Ari Lemmk 认为 Freax 这名字太“蠢”了,跟「freaks」同音。他认为 Linux 就挺好,毕竟听起来不错、又是已有的开发名称。”


回顾这一切,Torvalds 常常觉得“当初非常纠结的一些东西,现在想想其实也没那么重要。只是在当时、在其中,人总会被眼前的事物困扰。”


例如,“个人而言,0.03 是个巨大的进步,因为这是 Linux 第一次获得自托管功能。但有些人觉得 0.12 更重要,因为从这时起它才真正获得有限的可用性(也就是前文提到的,有其他人开始使用这套系统)。没错,当时愿意尝试 Linux 的都堪称铁粉,但从 0.12 版本起已经开始有了活跃的内核开发者。”


着眼于宏观趋势,Torvalds 认为 1992 年初 Linux 转而使用 Gnu Public License Version 2(GPLv2)的决定尤其重要。他回忆道,“我们最初使用的不是这个许可证,但我认为 GPLv2 正是让 Linux 获得广泛欢迎的一大重要原因。并不是每个人都喜欢 GPL,我在自由软件基金会那边就遇到过不少问题。但我仍然认为 GPLv2 非常重要,也呼吁大家认真对待许可问题。”


“我认为参与项目的企业也做出了巨大贡献,我知道这个话题已经被说烂了,但我还是想要强调,开源社区中的某些部门、某些参与者对于商业元素的介入表现得太过消极。”


Linux 的商业利益很重要,也是支持它走到今天的关键驱力。


“这是个文化议题,虽然最初体现得不明显(92 年时已经陆续出现了各种商业 linux 发行版),但却贯穿了整个开源发展史。在此期间,IBM 的加入、甲骨文、Red Hat 上市等等都是重大事件,但我认为最重要的就是开源内核开发者学会了如何在众多企业之间共生共存。这一点非常独特、也非常关键。”


Torvalds 个人觉得架构移植可能在概念上最具划时代意义,特别是 Linux/alpha 移植,它改变了项目的整个发展愿景。“当然,包括 BitKeeper 以及之后的 Git 等版本控制系统(CVS)都是很大的进步,改变了我们管理源代码的能力。内核树中也曾有一部分尝试过另一种 CVS,即并发版本系统。但对于 Linux 这样的分布式项目,并发版本系统表现并不理想。所以 BitKeeper 与 Git 虽然没有直接改变内核,却间接让一些发展进步成为可能。”


事实上,Torvalds 表示直到建立起 Git 之后,他才开始觉得自己是个成功的程序员。因为从那时起,Linux 再也不会沦为用过即抛的一次性项目。


展望未来,Torvalds 给自己做了定性:“我 51 岁了,我也喜欢自己正在参与的一切。如果不做 Linux,我还能做什么?在花园里闲逛?真的难以想象。也许再过几年,等孩子们都长大成人、另立门户了,我的答案会有所不同。但我还是很难想象自己蹲在后院挖土,希望到时候别被打脸。”

Linus 的担忧:我们都老了,但 Linux 维护后继无人


不过,在日新月异的技术世界,Linux 已不再年轻。


2019 年, Linus Torvalds 曾在 Linux 大会上公开表达对 Linux 维护后继无人的担忧。


在目前这一代维护者逐渐老去之后,Linux 项目将走向何处?


Torvalds 谈到了为开源操作系统寻找未来维护者时的种种挑战。


Linux 内核社区的参与者们年纪不算太大,“很多新人都在 50 岁以下,他们才是目前开发工作的主力。当然,跟那些 30 岁上下的人们相比,我们确实是越来越老了。好在我们这些长期参与项目的早期成员还能做做维护与管理工作。”


“我们的维护者确实不够。能编写代码的人很多,能处理一部分维护工作的也不少,但很难找到那种可以吸纳他人代码贡献并立足上游将一切整合起来的人才。这也是我们目前面临的一大主要问题。”


顶尖 Linux 开发者们已至暮年。


上一代顶级程序员们确实在逐渐老去,Linus Torvalds 本人今年也超过了 50 岁。


软件开发分析公司 Bitergia 创始者之一 Jesús M González-Barahona 发现,在以“参与项目的时间”作为“年龄”指标对 Linux 内核开发者进行统计时,可以看到新生代程序员的占比一直在逐年下降。目前占比最高的参与者们,一般是十多年前就加入了 Linux 社区,之后几代的比例则呈现出下降趋势。


Parallels 公司服务器虚拟化 CTO James Bottomley 表示,“老一辈贡献者仍是项目主力。Linux 内核开发工作一直无法接棒,几年之后不知道还能剩下多少早期成员。”


谷歌软件工程师兼高级 Linux 内核开发者 Andrew Morton 则总结道,“我们正在变老,精力也越来越差。从现在来看,年轻一代也不像当初的贡献者们那样对内核开发充满热情。”


从多年前开始,Linux 基金会就一直试图解决问题。一直在努力吸引更多新的人才。现在大家基本达成了共识,人才匮乏已经成为 Linux 实现进一步增长的最大障碍。Linux 基金会希望通过 LinuxCon 在新生代程序员中建立影响力。


如今,Linux 作为最流行的操作系统,在超过 20 亿的设备上运行,已经成为人类技术发展中的不可或缺的一部分。我们难以想象无人维护的后果会是什么样。


参考链接:


https://www.zdnet.com/article/linus-torvalds-on-linuxs-30th-birthday/


https://mp.weixin.qq.com/s?__biz=MzU1NDA4NjU2MA==&mid=2247507704&idx

公众号推荐:

2024 年 1 月,InfoQ 研究中心重磅发布《大语言模型综合能力测评报告 2024》,揭示了 10 个大模型在语义理解、文学创作、知识问答等领域的卓越表现。ChatGPT-4、文心一言等领先模型在编程、逻辑推理等方面展现出惊人的进步,预示着大模型将在 2024 年迎来更广泛的应用和创新。关注公众号「AI 前线」,回复「大模型报告」免费获取电子版研究报告。

AI 前线公众号
2021-08-26 13:578994
用户头像
刘燕 InfoQ高级技术编辑

发布了 1112 篇内容, 共 489.8 次阅读, 收获喜欢 1966 次。

关注

评论 3 条评论

发布
用户头像
这文章审核的不严,很毛糙
2021-08-30 12:05
回复
用户头像
Linux变得越来越庞大、复杂,Linux会随着这一代维护者一起老去。Fuchsia是值得投资的新生代操作系统,未来会在很多领域慢慢顶替Linux。
2021-08-27 15:58
回复
用户头像
创始人是Linus,不是Linux
2021-08-26 14:25
回复
没有更多了
发现更多内容

Removing HTTP/2 Server Push from Chrome

Yestodorrow

架构实战营10期-模块九作业

炮仗

综合系统清理优化工具:MacCleaner PRO中文激活版

真大的脸盆

Mac Mac 软件 mac系统清理优化软件 清理工具 清理优化

架构实战营第10期毕业设计-秒杀系统

Geek_4db2d5

面试处处碰壁?不慌,Java核心面试文档.PDF助你披荆斩棘

三十而立

SaaS时代下的我们需要什么样的数据库?

陈飞

一种基于实时大数据的图指标解决方案

京东科技开发者

大数据 运维 系统架构 开发 图指标

"我眼中的ChatGPT"征文获奖作品合集

InfoQ写作社区官方

技术专题合集 热门活动 ChatGPT

谷歌架构师分享gRPC与云原生应用开发Go和Java为例文档

程序知音

Java 架构 云原生 编程语言 后端

利用 Amazon Managed Blockchain 发展和扩大忠诚度奖励计划(第一部分)

亚马逊云科技 (Amazon Web Services)

人工智能

云原生引擎单元测试实践

京东科技开发者

云原生 单元测试 代码覆盖

GPT-4免费无限制使用教程

南城FE

人工智能 AI 前端 ChatGPT

SVN管理工具:Cornerstone 4 激活版

真大的脸盆

svn Mac Mac 软件 SVN客户端

三月征文活动结果已出炉,快来看看有没有你

InfoQ写作社区官方

热门活动 ChatGPT

机器学习算法(一): 基于逻辑回归的分类预测

汀丶人工智能

数据挖掘 机器学习 数据分析 逻辑回归

户外广告屏为什么会坏?

Dylan

LED 户外LED显示屏

阿里十年架构师总结的Java核心知识点大全,恐怖程度难以想象!

开心学Java

Java spring JVM Java工程师 多线程并发

【程序员日记】---当“微服务”遇到了“电饼铛“

京东科技开发者

架构 微服务 系统架构 开发 企业号 3 月 PK 榜

媒体赞誉丨九科信息入选“第一新声”2022高成长新锐企业榜、RPA高成长企业榜,并受邀参加“2022年高科技高成长年度峰会”

九科Ninetech

场景重塑:乐播投屏搭载无影架构,打造“超级投屏空间”

云布道师

无影

《动手学深度学习--PyTorch》之学习环境搭建

IT蜗壳-Tango

App Store 新定价机制 - 2023年最全版

37手游iOS技术运营团队

ios iap In App Purchase App Store Connect API app store

9 个可以快速掌握的 Java 性能调优技巧,必须掌握

三十而立

Java

Java程序员涨薪必备的性能调优知识点,收好了

三十而立

Java

AIGC导航网站推荐

kcodez

人工智能 AIGC Chat ChatGPT

Java并发夺命23问

程序员大彬

Java Java并发 java面试

PyTorch 深度学习实战 | 基于ResNet的花卉图片分类

TiAmo

数据集 PyTorch

硬核!阿里出品2023版Java架构师面试指南,涵盖Java所有核心技能

三十而立

Java java面试

「Go框架」bind函数:gin框架中是如何绑定请求数据的?

Go学堂

golang 开源 程序员 个人成长

如何构建内部开发者门户:企业参考指南

SEAL安全

企业号 3 月 PK 榜 开发者体验 内部开发者门户

得物社区计数系统设计与实现

得物技术

性能优化 重构 稳定性

Linux 30 岁了!Linux 之父:完全没想到我的实验习作能存在30年_AI&大模型_刘燕_InfoQ精选文章