Linus 坚守 30 年,改变了世界!
星标/置顶 公众号👇,硬核文章第一时间送达!
2021 年 8 月 25 日,Linux 迎来了 30 岁的生日。30 年前,芬兰计算机系研究生 Linus Torvalds 发布了一份简短的说明,介绍自己正出于业余爱好开发一款操作系统—— Linux 。如今,30 年过去了,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 还成为最受欢迎的终端用户操作系统。
据 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 重要得多。”
在诞生之初,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 上。
关注公众号「高效程序员」👇,一起优秀!