互联网奠基人传之《 Linux 之父 Linus Torvalds 》

1969年出生的 Linus Torvalds 是 Linux 操作系统之父,而 Linux 是互联网的基石,所以 Linus 也是互联网的奠基人之一。

Linux 是互联网的基石

Linux 是互联网的基石,体现在下面几个方面。

第一,Linux 是网络服务器的事实标准。全世界的网络服务器有百分之七八十都是使用 Linux 作为操作系统的。互联网本质是很多遵从统一规则的计算机组成的网络,统一规则的载体是很多开源软件,而这些软件的载体就是开源免费并且不被单一商业实体所控制的 Linux 操作系统。

第二,开源软件思想是互联网之所以是互联网的关键。开源软件运动,开始于自由软件,但是腾飞于 Linux 社区。开源,也就是 Open Source 这个词,是由 Eric Steven Raymond 和 Linus 等人提出并阐述的。开源软件如何开发,包括团队如何组织协调,Linus 本人其实发挥了难以想象的关键作用。他说

我做开源,因为开源是做软件的唯一正确方式。

开源也可以认为是自由软件的一种改良,所以 Richard Stallman 的思想当然也很大程度的被继承了下来,Linux 的法律授权协议也始终都是 GPL 。

总之,互联网的基石必须是自由的,不受单一方控制的,开源和免费的 Linux 构成了这个基石。

Linux 是如何诞生的?

下面讲讲 Linus 是如何创造 Linux 的。

Linus 是芬兰人,10岁的时候在一台名叫 Commodore Vic 20 的机器上学习了编程。1988年 Linus 上大学了,很快就喜欢上了 Unix 操作系统。但是当时 Unix 在欧洲很难买到,也非常的贵,所以大二的时候 Linus 就开始自己动手开发一款 Unix 的克隆了。从动手到最终 Linus 把 Linux 的最初版本放到服务器上,吸引来自全球的开发者共同开发,其实只用了一年的时间。

Linus 本人做过一次演讲叫《 Linux 起源》,谷歌一下 The Origin Of Linux youtube ,就可以搜到。里面他自己介绍了能这么快完成 Linux 的原因有这么几个:

有意思的是,直到 Linux 作为互联网服务器的统治地位确立以后,Linus 自己也坚持认为,Linux 做个人工作站是他最关注的角度。但是开源社区就是这么有意思,很多事情也不是以创世人的意愿为转移的。时代需要互联网服务器系统,Linux 的腾飞也正是因为胜任了这个角色。后来 Linux 在超级计算机和手机领域(安卓就是 Linux 系统)取得了统治地位,唯独在个人工作站领域还是没有超过苹果和微软。

2000年的时候时代杂志评选了上个世纪最有影响力的100位人物,Linus 排在了第17位,他前面是丘吉尔,后面是曼德拉。比尔盖茨的排名远远在后面。人们会感恩为大家铺路的人,而不是自己构建宏伟宫殿的人,开放的产业链远比封闭产业链有价值的多。

Git 改变世界

Linus 主要的项目只有两个,令人叹服的是,这两个项目都改变了世界。一个是 Linux ,另一个是 Git 。Git 是傻 x 的意思。Linus 调侃说,

我从来都是个自我膨胀的混蛋,所有我的项目我都用自己的名字来命名,首先是 Linux ,现在是 Git 。

Git 是一个去中心化的版本控制工具,是 Linus 二十年来管理 Linux 项目的经验总结。Linus 说

If are not distributed, you are not worth using.

如果你不是分布式的,你就不值得被使用

这里的你,指的是之前的版本控制的行业标准 CVS 和 SVN 。Peter 自己2008年开始工作的时候,北京的公司里面还都是以 SVN 为主的,是中心化的版本控制,一直到2010年左右,我自己先后工作过两家公司,公司里只有我自己用 Git 。而 Git 本身是去中心化的,就像 Linus 说的

没有任何一个机器是特殊的,每个人的机器上都是一个完整的项目克隆

最早是 SourceForge 上面最支持了 Git ,后来 Github 公司才诞生。Github 是基于 Git 的 SASS 服务,彻底改变了程序员的工作方式,因为大家可以随时到 Github 上找合适的开源项目去参考了。

不管是 Git 和 Github ,都把项目团队内部的管理流程,甚至伦理思维做了大幅度的民主化推动。

总结

Linus 本人最牛的地方是能把梦想落到实际操作中。Linux 是世界上最知名的开源软件项目,也是人类有史以来构建的最复杂的系统之一。但是 Linus 没有建立森严的层级组织,而是通过吸引全球数以万计的自由开发者免费贡献,就完成了项目。这是一个给人类带来希望的奇迹。Linux 不仅仅是一个代码项目,也是一种互联网出现以后的新的人类协作方式,叫做开源模式。Linux 以及后来出现的 Wikipedia 项目,是无数人心中的人类希望,开源模式大概率会是人类社会未来在软件之外的各个领域都越来越常见的协作模式。

最后用一句 Linus 的话结束本文:

given enough eyeballs, all bugs are shallow

对于很多双眼睛盯着的代码,bug 是无处藏身的