2021 年 8 月 25 日,Linux 迎来了 30 岁的生日。30 年前,芬兰计算机系研究生 Linus Torvalds 发布了一份简短的说明,介绍自己正出于业余爱好开发一款操作系统—— Linux 。如今,30 年过去了,Linux 已经成为软件开发历史上的传奇。
1开创性的 Linux
与世界上许多伟大的项目一样,Linux 最初只是一个非常小的项目。
1991 年,Unix 还是 x86 操作系统大家族中一位既重要、但存在感又略显不足的成员。
这一年的 8 月 25 日, Linus Benedict Torvalds 在 Usenet 新闻组 comp.os.minix 上宣布,他正在研究“一款面向 386(486)平台的 AT 克隆形式(免费的)操作系统”,并表示他只是兴趣使然,这款操作系统可能不会像 GNU 那么大、那么专业。
就连 Torvalds 自己也不知道,他的一个小小决定后来会给这个世界带来了何等深远的影响。
Linux 采用 GPL 许可证(这是被广泛使用的自由软件许可证),在过去的 30 年里,依靠来自世界各地的大量志愿贡献者,Linux 已经成长为计算机领域的佼佼者。它在很大程度上保持了对来自政府、公司和学术机构的干预的弹性。从服务器电脑到智能手机,再到嵌入式设备,Linux 改善了世界各地数十亿人的生活。
如今,世界上几乎所有的重要网站,包括谷歌、Facebook 以及维基百科,都运行在 Linux 之上。云也是一样,即使是在微软自己的 Azure 当中,最受欢迎的操作系统仍然是 Linux。全球五百强超级计算机全部采用 Linux。另外,得益于 Android 给力的市场表现,Linux 还成为最受欢迎的终端用户操作系统。
2Linux 之父:完全没想到我的实验习作能存在 30 年
据 ZDNet 报道,Linus Torvalds 在谈到 Linux 的发展历程时表示,作为“缔造者”,他对 Linux 的崛起有着既开心、又困惑的复杂情感。
Torvalds 认为 Linux 严格来说有 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 做出的种种尝试还没有专门的术语进行表述。如今,我们知道这是开源。开源所强调的世界各地开发人员在共同所有、共同管理的代码之上携手贡献的概念,也成为有史以来最重要的软件开发方法,甚至没有之一。
虽然如果没有 Linus,Linux 可能根本不会出现。但其他极具影响力的早期 Linux 开发者,包括 Theodore Ts'o、James Bottomley、Gerald Pfeifer 以及 Greg Kroah-Hartman,对于 Linux 项目的成长同样至关重要。
Linux 算是起飞了,但当时的 Torvalds 根本弄不清它的发展方向。“91 年的 Linus Torvalds 完全想象不到 30 年后的世界,甚至压根没觉得自己的这款实验习作能存在三十年。在他看来,当时有很多项目都比 Linux 重要得多。”
3商业世界里的 Linux
在诞生之初,Linux 并没有被正式定名为 Linux。“Linux 只是我定的开发名称,从没想过把它当成最终定名,毕竟它听起来太狂、太自负了,基本相当于「Linus 的 Unix」。”所以,Torvalds 给它取了个比较……难听的名字,叫「Freax」,意为「Free Unix」。
幸运的是,第一位 Linux 管理员 Ari Lemmk 认为 Freax 这名字太“蠢”了,跟「freaks」同音。他认为 Linux 就挺好,毕竟听起来不错、又是已有的开发名称。”
回顾这一切,Torvalds 常常觉得“当初非常纠结的一些东西,现在想想其实也没那么重要。只是在当时身在其中,人总会被眼前的事物困扰。”
着眼于宏观趋势,Torvalds 认为 1992 年初 Linux 转而使用 Gnu Public License Version 2(GPLv2)的决定尤其重要。他回忆道,“我们最初使用的不是这个许可证,但我认为 GPLv2 正是让 Linux 获得广泛欢迎的一大重要原因。并不是每个人都喜欢 GPL,我在自由软件基金会那边就遇到过不少问题。但我仍然认为 GPLv2 非常重要,也呼吁大家认真对待许可问题。”
“我认为参与项目的企业也做出了巨大贡献,我知道这个话题已经被说烂了,但我还是想要强调,开源社区中的某些部门、某些参与者对于商业元素的介入表现得太过消极。”
Linux 的商业利益很重要,也是支持它走到今天的关键驱力。
“这是个文化议题,虽然最初体现得不明显(92 年时已经陆续出现了各种商业 Linux 发行版),但却贯穿了整个开源发展史。在此期间,IBM 的加入、甲骨文、Red Hat 上市等等都是重大事件,但我认为最重要的就是 开源内核开发者学会了如何在众多企业之间共生共存。这一点非常独特、也非常关键。”
Torvalds 个人觉得架构移植可能在概念上最具划时代意义,特别是 Linux/alpha 移植,它改变了项目的整个发展愿景。“当然,包括 BitKeeper 以及之后的 Git 等版本控制系统(VCS)都是很大的进步,改变了我们管理源代码的能力。内核树中也曾有一部分尝试过另一种 VCS,即并发版本系统。但对于 Linux 这样的分布式项目,并发版本系统表现并不理想。所以 BitKeeper 与 Git 虽然没有直接改变内核,却间接让一些发展进步成为可能。”
事实上,Torvalds 表示直到建立起 Git 之后,他才开始觉得自己是个成功的程序员。因为从那时起,Linux 再也不会沦为用过即抛的一次性项目。
展望未来,Torvalds 给自己做了定性:“我 51 岁了,我也喜欢自己正在参与的一切。如果不做 Linux,我还能做什么?在花园里闲逛?真的难以想象。也许再过几年,等孩子们都长大成人、另立门户了,我的答案会有所不同。但我还是很难想象自己蹲在后院挖土,希望到时候别被打脸。”
附 Linux 迄今为止的大事件回顾:
- 1991 年 8 月 25 日 Linus Torvalds 向全世界介绍 Linux 。
- 1991 年 9 月 17 日 Linus 发布 Linux 首个版本 V0.0.1。
- 1992 年 ,Linux 面临第一次“战争”,操作系统大师、Unix 的教育操作系统版本 Minix 的创造者 Andrew Tannenbaum 宣称 “Linux 已经过时了”。
- 1993 年 Slackware Linux 发布。虽然早期有一些 Linux 发行版,但 Patrick Volkerding 的 Slackware 是第一个广泛成功的 Linux 发行版。
- 1993 年 Debian Linux 诞生。流行的社区版 Linux,是由它开始的。今天,它是 Mint、Ubuntu 和许多其他流行的 Linux 发行版的基础。
- 1994 年 Linus 第一次采用 GNU 通用公共许可证(GPL)发布了 Linux 1.0 版本。
- 1994 年 Red Hat(红帽)诞生,这是迄今为止最成功的 Linux 公司。
- 1995 年 首届 Linux 博览会开幕。
- 1996 年 Linux 第一个桌面界面 KDE 诞生,KDE 中的 “K” 是 “Kool” 的意思。
- 1996 年欧洲顶级商用 Linux 厂商 SUSE 发布了其首款独立 Linux 发行版。
- 1997 年新的 Linux 桌面 GNOME 项目发起,如今它与 KDE 都是 Linux 重要的桌面系统。
- 1998 年一封来自微软内容的“万圣节文件”被揭露。早期的 Linux 和开放源代码负责人 Eric S. Raymond 公布了一份来自微软内部的万圣节文件,微软正视 Linux 为重大威胁,并开始制定反开源战略和反对 Linux 的活动。
- 1999 年 Corel 发布了第一个主流 Linux 桌面,虽然没有取得成功,但为后续的 Ubuntu 铺平了道路。
- 1999 年 Linux 与 Windows 服务器操作系统的战争开始。Linux 首次在文件服务方面与 Windows NT 进行了基准测试,Linux 赢了。
- 2000 年 IBM 为 Linux 投资 10 亿 美金,这笔投资也被证明是 IBM 有史以来最明智的投资。
- 2000 年 Linux 基金会正式成立,致力于围绕开源项目构建可持续的生态系统,推动 Linux 良性发展,2020 年 Linux 基金会项目正式进入中国。
- 2001 年 Linux 2.4 发布,有了这个版本,Linux 就可以与 Solaris 和其他高端服务器操作系统竞争。
- 2003 年 SCO 与 Linux 开战,SCO 开始起诉 IBM 和其他公司,指控 Linux 抄袭 Unix。这起官司在过去多年里阻碍了 Linux 的商业发展。
- 2004 年 Ubuntu 诞生,在 Debian Linux 的基础上,Ubuntu 成为了非常流行的 Linux 桌面操作系统。
- 2004 年 Linux 统治超级计算机,此时,世界上最快的超级计算机半数以上运行 Linux。
- 2005 年 Linus Torvalds 首次出现在《商业周刊》的封面,打破了人们对 Linux 成为主要商业参与者的任何怀疑。
- 2005 年 Linus 创建了分布式版本控制系统 Git。一个月之内,Linux 系统的源码已经由 Git 管理了。Git 也迅速成为最流行的分布式版本控制系统。
- 2007 年安卓来了,包括谷歌和众多硬件厂商在内的开放手机联盟宣布推出 Android 操作系统,目前 Android 已经成为最流行的移动端操作系统。
- 2008 年纽约证券交易所改用 Linux 作为核心操作系统,这一举措很快就被世界上许多其他主要证券交易所效仿。
- 2011 年谷歌推出首款 Chromebook CR-48,运行基于 Gentoo-Linux 的 ChromeOS。到 2015 年,Chromebook 在教育市场等轻办公领域的销量已经超过了 Windows 笔记本。
- 2012 年 IT 产业开始从服务器和数据中心转移到云端,云端设备运行在 Linux 上。到 2019 年,微软客户的虚拟机 (VM) 实例有一半以上运行 Linux。
- 2012 年 Red Hat(红帽)公司身价达 10 亿美元,成为第一家价值 10 亿美元的开源公司。
- 2014 年 微软 CEO Satya Nadella 宣称,“ 微软热爱 Linux ”。随后,微软通过在云端和内部部署支持 Linux 和开源软件来证明这一点,走上拥抱开源之路。
- 2019 年 微软为 Windows 10 用户推出自己的原生 Linux -- Windows Subsystem for Linux 2.0。2019 年 IBM 斥资 340 亿美元收购 Red Hat(红帽),这是有史以来最大的软件收购。进一步奠定 Linux 的主导地位。
- 2020 年 全球云计算市场每年投入超过 1000 亿美元,90% 的云端设备运行在 Linux 上。