许多人认为10月5日是Linux Kernel的周年纪念日,因为这是Linux项目在1991年首次对外公开发布的时间。但你可能不知道的是,早在1991年8月26日,当年还是大学生的Linus Torvalds就向comp.os.minix新闻组的成员透露了出于“业余爱好”而正在研究操作系统的消息。因此,这个时间也被许多爱好者视为Linux Kernel的真正诞生日期。
Linus 28年前发帖说:“我正在研究一款(自由的)操作系统(就是个兴趣爱好,我不会搞得像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协议。