Linux牛X简史:Linux是如何开发出来的?
从最初诞生在芬兰的一间卧室里,到现在成为,全球网民都离不开的操作系统。绝对堪称神话般的存在!
先来看个Linux牛X简史。
迄今为止,在全球范围内:
80%以上智能手机,均使用基于Linux内核的Android系统。
全球排名前500超算中,98%在用Linux。
纽交所、纳斯达克等证券交易市场,都在用Linux。
75%的云计算企业报告平台,也在用Linux。
全球主机行业33.8%的服务器用Linux。
亚马逊、沃尔玛等电商平台都在用Linux。
可以说,每一次程序员的女票去淘宝“败家”,都受恩惠于Linux。不过,Linux,却被一位来自圣诞老人故乡芬兰的60后大叔,因着Just for fun的缘故,开发于“一个窗帘紧闭黑灯瞎火的芬兰少年的卧室中”。
芬兰风光
如今,Linux的父亲——李纳斯·本纳第克特·托瓦兹(Linus Benedict Torvalds,以下简称“李纳斯”),也已49岁。
李纳斯近照
能亲眼见证自己的“儿子”,如此惠及全球,一定很有成就感。然而,他开发出Linux,却不过是兴趣使然。
一个有电脑的外公
李纳斯的外公,在赫尔辛基大学当教授,近水楼台先得月,李纳斯因此可以使用外公单位发的电脑。
小李纳斯
这台Commodore VIC-20计算机,唯一能做的事,就是用Basic语言,在上面编程序。
外公经常在上面做数学运算,因为眼花就让李纳斯,帮自己录程序。而这也建立了李纳斯的数学认知,并学会了编写小游戏。
整个中学年代,李纳斯都是在电脑前度过的,期间还掌握了汇编语言。
李纳斯年轻时用过的电脑
一本书,一辈子
考入赫尔辛基大学后,他遇到了影响一生的那本书——《操作系统:设计和实现》,作者是Andrew S. Tanenbaum。李纳斯曾如此美誉该书,“这本书把我推上了生命的高峰”。
《操作系统:设计和实现》中文版
那时, Unix已开发出来。Unix最早是用汇编写的,开发过程中,Unix的两位创始人肯·汤普逊和丹尼斯·里奇,觉得用汇编写程序,实在太痛苦了!
于是,哥俩决定用高级语言,来完成下一个版本,他们先后尝试了Fortran和B语言,却只遇见了成功他妈——失败!
这其中,哥俩中的丹尼斯,收拾好情绪,继续改造 B 语言。丹尼斯为B增加了数据类型,并让B语言,能直接编译为机器码,然后又以「New B」来命名这门语言(好名字
后来,丹尼斯把「New B」改为C语言,并用C语言,重新编写Unix的内核,从此,Unix与C白首不相离。
尽管Unix可以完成很多操作,但是必须由人来完成。正是这一bug,催促着灵魂不安分的李纳斯,想去优化它。
抛砖引玉:Unix的不完美,催生“宝玉”Linux
1991年初,22岁的李纳斯,花3500美元,分期付款买了台杂牌组装电脑,然后又买了MINIX(Mini Unix的缩写)操作系统。
李纳斯在摸清MINIX 的优点缺点后,把MINIX系统改成了自己得心应手的「战斗机」。也就是在这台电脑上,Linux的初始版本诞生了。
Linux的形象是一个企鹅,之所以用企鹅,是因为李纳斯曾被企鹅咬过
事后回忆这段经历,李纳斯说,“这花费了我大量的精力:编程-睡觉-编程-睡觉-编程-吃饭(饼干)-编程-睡觉-编程-洗澡(冲冲了事)--编程”。
熬了四五个月昏天黑地的日子后,这位刚过弱冠之年的北欧大鼻子青年,开发出了Linux 0.01。自此,他成了那个时代,被追捧的程序员偶像。
青年李纳斯
不过,比生孩子更重要的,是养孩子。Linux之所以成功,主要凭借它的开源特点。
Linux从出生,就打着开源的烙印,这对Linux的后续发展至关重要。从1991年,内核0.01版本发布,到1994年1.0版本登场,世界各地无数的开发者,都为Linux提交了代码。
李纳斯还为Linux建立了讨论组comp.os.linux,吸引全世界的程序员,不断地推进Linux长成巨人。
comp.os.linux讨论组截图
对于Linux的成功,他“归功”于自己的缺点:1.他很懒散;2.他喜欢授权给其他人。
作为版权所有者,李纳斯如此制定Linux规则:1.可免费使用该操作系统,但不得将它作为商品。2.对其所作的改动和改进,必须以源代码的形式,将其公开(而不是二进制,这是不公开的)。3.如不同意以上规定,则无权对它进行复制或从事任何行为。
硅谷多了个小李子
1996年底,李纳斯在接到Transmeta(全美达)这家在美国并不知名的公司的offer后,离开芬兰飞赴美国。在全美达,一待就是六年。
某种程度上,这六年,严重影响了Linux操作系统的前进,因为李纳斯成了“硅谷小李子·没时间·分身乏术打工男”。
好在李纳斯在离开全美达后,开始为开放源代码开发实验室(OSDL : Open Source Development Labs, Inc)工作。
这一次,Linux终于迎来系统人生第二春。
交恶微软,拒绝苹果
Linux出现前,桌面操作系统基本由微软和苹果控制。Linux出现后,桌面操作系统的蛋糕格局,依旧变化甚小,但服务器端市场却是瞬息万变。
最初,微软希望在服务器领域,复制桌面操作系统的辉煌,然而半路杀出的 Linux竟在后来,占据了服务器市场半壁江山。
商场如战场,李纳斯也因此,和微软结下梁子。他的头像,被钉在了微软公司的飞镖靶心上。李纳斯对此调侃道,“一定是我的大鼻子太好瞄准了。”
大鼻子·李
而李纳斯和苹果之间,就没那么剑拔弩张,毕竟Linux和OS X也算是一起从前辈Unix那里一起学(mo)过(fang)的同门师兄。
而且,他还收到了乔布斯发来的工作邀约,前提是——停止开发Linux。
面对乔帮主邀约,李纳斯果然没有......接受,他说,“为什么我要关心这些?为什么我要对苹果公司的故事表现出兴趣?我不觉得苹果公司所做的事情有什么吸引我的地方。我一生的目标也不是占领什么面操作系统的市场(的确,虽然我马上就要做到这点了,但这从来就不是我的生活目标)。”
这次“谈判”虽不愉快,却影响了后续的IT格局。被拒了的苹果,从关注Linux转向BSD。
与此同时,Linux的开源模式,也红得发紫。Linux 1.0版本推出后,很多基于Linux操作系统的公司纷纷冒出,“红帽”公司便是典型代表,连IBM和英特尔,也给Linux打call。1999年,IBM还花费10亿美元来推广Linux。
本鹅就是这么红,红红红红
Linux以开源、独立、自由之风,在服务器端大获成功,甚至可以说,没有Linux,就没有互联网的今天。
再后来,移动互联网时代来了。OS X发出了新枝——iOS,Linux则诞生了 Android,而这两位共同的祖父,就是Unix。
或许,这就是命吧!
当初,乔布斯和李纳斯的一次不愉快谈话,让OS X和Linux井水不犯河水。十几年后的今天,它们的“后代”,终于还是成了肩并肩行走在移动互联网时代的双子星。
不爱名利爱代码
凭借Linux,李纳斯获得了无数成就和荣誉。其中,曾两次给李纳斯颁发奖项的美国《时代》周刊,对其给出了极高的评价:
“有些人生来就具有统率百万人的领袖风范;另一些人则是为写出颠覆世界的软件而生。唯一一个能同时做到这两者的人,就是托瓦兹(李纳斯的姓氏)”。
甚至,在《时代》周刊根据读者投票,评选出的二十世纪100位最重要人物中,林纳斯竟排到第15位,而从20世纪的最后几年,就开始霸占全球首富称号的比尔·盖茨,是第17位。
然而,他却是一个不像名人的名人,他和妻子——芬兰空手道冠军托夫、以及两个女儿,住在圣克拉拉的一个公寓里。对于“Linux之父”的美誉,他声称自己发明LINUX“只是为了好玩”。
而他的名为《Just for Fun》的自传,也呼应了他的淡泊。
李纳斯的自传《Just for Fun》
如果说他有啥缺点的话,大概就是会在社交媒体爆粗口、以及会因为技术问题而在演讲中竖中指。
在中国,有无可能成为“XX之父”?
中国晚于欧美“触网”,所以国内也相对缺少,能成为程序员们的压倒性偶像的人物。
不过在中国,比李纳斯大5岁的、有着“WPS之父”之称的求伯君,曾于1988年,独自开发出WPS,时年仅24岁。
求伯君
巧合是,两个人创立传奇的工具都是386电脑,或许,是时代造就了李纳斯和求伯君这样的独立软件英雄。
当然,仁者见仁,或许每个程序员心中,都有一个专属自己的榜样。
当下,中国已是仅次于美国的互联网第二大国,没准看文章的你,就是下一个“XX之父”呢?愿未来可期!