许多人认为 10 月 5 日是 Linux Kernel 的周年纪念日,因为这是 Linux 项目在 1991 年首次对外公开发布的时间。但你可能不知道的是,早在 1991 年 8 月 26 日,当年还是大学生的 Linus Torvalds 就向 comp.os.minix 新闻组的成员透露了出于“业余爱好”而正在研究操作系统的消息。因此,这个时间也被许多爱好者视为 Linux Kernel 的真正诞生日期。
我正在研究一款(自由的)操作系统(就是个兴趣爱好,我不会搞得像 GNU 那么大那么专业),打算让它工作在 386(486) AT 平台上。它从四月就开始酝酿了,马上就快好了。我希望那些喜欢或不喜欢 minix 的人能够反馈意见,因为我的系统和它有点类似(同样的文件系统的物理布局 —— 由于实际原因,还有些其他的东西)。我现在已经移植了 bash(1.08) 和 gcc(1.40), 而且看起来奏效了。这意味着我会在几个月内得到一些实用的东西。我想了解大多数人想要的特性是什么,欢迎各位积极提出建议,不过我不保证能实现
1991 年 8 月 26 日,21 岁的芬兰学生 Linus Benedict Torvalds 在 comp.os.minix 新闻组宣布了 Linux 项目,声称它只是一个业余性质的项目,不会像 GNU 那样庞大和专业。但 Linus 没有在 8 月 26 日这天发布 Linux,而是于 9 月 17 日在芬兰大学和研究网络(FUNET)的 FTP 服务器(ftp.funet.fi)上向一部分朋友私下公开了 Linux(0.01),当时只有一到两个人下载,首个公开发布的版本 Linux 0.02 是在 10 月 5 日,首个不需要 Minix 的独立版本是在当年圣诞节发布的 0.11。
最初发布的 Linux 0.01 版本仅包含10239 行代码,而现在的 Linux Kernel 5.x 系列,内核树的总代码行数约为 260 万行。
▲ 内核版本的代码行数
28 年后的今天,Linux 已经悄无声息地统治了世界,绝大部分服务器运行的都是 Linux;基于 Linux 的 Android 是目前最流行的操作系统,运行在超过 20 亿台设备上;云服务多提供基于 Linux 的系统,就连微软的 Azure 服务最受用户欢迎的操作系统也是基于 Linux;NASA 国际空间站上的大部分计算机运行的是 Linux;, SpaceX 的 Dragon 飞船和 Falcon 9 火箭也是运行 Linux。
最新的数据显示,过去的 2018 年,Linux Kernel 发布了 6 个版本,从年初的 Linux 4.15 到圣诞节前夕的 4.20,共有 74,974 个 commits,增加了 3,385,121 行代码,移除了 2,512,040 行代码,净增 87 万行代码,内核树的总代码行数为 26,132,637 行。递交最多 commits 的内核开发者除了 Linus Torvalds 还有 David S. Miller、Arnd Bergmann、Christoph Hellwig、Colin Ian King 和 Chris Wilson。
根据 "gmail.com" 的域名记录,最积极为内核贡献的厂商是英特尔(将近 6%),其次是红帽(5.3%)。
为纪念 Linux Kernel 28 周年,下面列出了 28 个与 Linux 和 Linus Torvalds 相关的有趣事实。
- 凭借其 200 多万行的代码量,Linux Kernel 仍然是地球上(单个)最大的开源项目。
- Linux 差点不叫这个名字!Linus Torvalds 原本想把他的“业余爱好”项目称为 “FreaX”(“free”, “freak” 和 “Unix”的组合)。值得庆幸的是,他早期使用的代码托管服务器的所有者说服了他,最终取名为 “Linux”(“Linus” 和 “Unix”的组合)。
- 首个 Linux 版本 100% 由 Linus Torvalds 编写,但最新的版本由 Linus 编写的代码仅包含不到 1%。这并不是说明他懈怠,只是他现在主要忙于管理和合并其他开发者编写的代码。
- Linux 被世界上所有主要的太空计划使用,其中包括 NASA 和 ESA。
- 谈及更广阔的宇宙,有以 Linux 和 Linus Torvalds 命名的小行星。
- Linux 的吉祥物 Tux 之所以是一只企鹅,据 Linus 回忆是因为他曾经被一只愤怒的企鹅咬伤。
- Linux 完全统治超级计算机。截至 2018 年,世界上最快的 500 个超级计算机 100% 运行 Linux。
- Linux 开发社区非常活跃。据统计,Linux Kernel 以平均每小时 7.8 个补丁的速度被合并。
- Linux 早期以 MINIX 操作系统为原型,导致 Linus 采用类似于 Minix 的文件系统布局来实现他的新兴项目。之后由于被证明效率低下,Linus 采用“扩展文件系统”(ext)取代它,至今仍在使用。
- Linux 1.0 于 1994 年 3 月 14 日发布,共包含 176,250 行代码。2.0 版本紧随其后,于 1996 年发布。
- Linux 运行在从智能手机到服务器,再到潜艇和太空火箭等大量事物上。
- 乔布斯曾在 2000 年为 Linus Torvalds 提供一份工作,条件是他停止在 Linux 上的开发。Linus 拒绝了。
- Linux 有多成功?它的长期竞争对手微软,在 90 年代初曾试图“毁灭”该项目,到现在却在利用 Linux 进行服务器业务的发展,甚至在为内核开发做贡献!
- 说到贡献,谷歌、英特尔、华为、三星、红帽、Canonical 和 Facebook 是近年来 Linux 内核开发的主要贡献者。
- Linus 出生于芬兰,一个双语国家,并认为瑞典语是他的“母语”。他说,由于发音不同,他常常觉得用英语说话“不舒服”,但却更喜欢阅读英文书籍。
- Linux 可能是现在最大的自由软件项目(参见第一条),不过在 1991 年首次发布时,它仅有约 1 万行代码。
- 在重新调整其开发和发布时间表后,新版本的 Linux kernel 现在基本每隔 66 天左右发布一次。
- Linux 不是 Linus Trovalds 唯一知名的作品,还有 Git 版本控制系统和潜水日志软件 Subsurface。
- Linus 之所以开发 Git 的是当时因版权问题,Linux 内核开发社区不能继续使用版本管理软件 BitKeeper,而又没有其他的替代方案可满足需求,最后 Linus 以十天的时间编写出 Git 的第一个版本。
- 据估计,90% 的好莱坞视觉效果在生产流程的某个阶段依赖于 Linux。
- 根据 openhub.net 的统计数据,超过 95% 的 Linux Kernel 代码是用 C 语言编写的。
- 最新版本的 Linux kernel 可能有 13.3%的代码由空行组成。这并非毫无意义,空行是严谨的编码风格的一部分,使内核保持整洁、高效和有序。
- 基于 Linux 的 Android 是目前全球最成功的移动操作系统。
- Linux 的每个内核版本都有一个有趣的代号,比如 v4.13 的 “Fearless Coyote” 和 v4.18 的 “Merciless Moray”。
- 据红帽所述,排名前十的公有云中有 9 个是运行在 Linux 上的。
- Ubuntu 是世界上最流行的基于 Linux 的桌面发行版,它在全球拥有约 2000 万用户。Linux 占台式计算机约 2% 的使用份额。
- 第一本关于 Linux 的出版物是 Matt Welsh 于 1993 年出版的 “Linux 安装和入门” 。第一本专刊 “Linux Journal” 于 1994 年 3 月出版,并首次对 Linus 进行了采访。
- Linux 是开源领域最着名的模范,但其实早期版本的 Linux 是禁止商业使用或再分发的。直到 1992 年发布 0.12 版本,Linus 才采用 GPL 协议。
最后,祝 Linux Kernel 生日快乐!