查看原文
其他

为何 Linus 一个人就能写出这么强的系统,中国却做不出来?

The following article is from 码农翻身 Author 码农翻身刘欣

来自:码农翻身(微信号:coderising)

为何 Linus 一个人就能写出这么强的系统,中国却做不出来?


要想回答这个问题,必须得回到Linux诞生之时去看一看。


Linus的技术


现在能手搓操作系统的人确实很多,可是如果我们穿越到80年代末,事情就完全不同了。


那个时候欧美的人还都忙着攒电脑,在中国,电脑更是只能在机房才能看到的稀罕物,程序员都很少,更别说写操作系统了。


没有Web,没有Google,没有人教你“30天自制操作系统”,资料极其匮乏,就连Intel CPU的相关资料都很难找到。


在这种情况下,让你手搓个操作系统,把汇编、保护模式、链接和装载、进程管理、内存管理、文件系统、IO管理统统搞定,在一台386的机器上跑起来,难度绝非今日科比。


但是Linus就是在这种情况下,参考了Minix,独自开发了一个操作系统出来。


毫无疑问,Linus是一个杰出的程序员。


当然,他不是一蹴而就的,他是先在自己的386上写了一个多线程的程序,然后发展成了终端模拟器,为了让终端模拟器开机就能运行,从BIOS开始,写引导程序,搞定实模式和保存模式的切换,后来为了保存数据,又添加了磁盘驱动,I/O管理......最后赫然发现:自己写了一个操作系统。


完整的故事可以看看这篇漫画《Linux之父:财务自由以后,我失眠了!


此时中国第一代程序员的杰出代表是求伯君,严援朝,鲍岳桥等人,我想他们应该也有这个能力搞出来。


不过当时有个非常重要更紧急的任务:让电脑支持中文,在上面跑中文应用软件。


所以就有了CCDOS, UCDOS, WPS,CCED,没人会想着从头儿写个操作系统。


Linus开创了一种开发模式


一般人写出来自己玩玩也就算了,Linus却把它放到了BBS上,广泛征求意见,接受批评。


他还接受网友提交的改进代码,从而Linux变得更强,更好。


在那个年代,这是一件非常了不起的事情。


Linus先是自己滚了一个小雪球,然后吆喝说:快来了,这里有个好玩的东西,我们一起玩吧!


在互联网的大潮推动下,无数操作系统的精英都能加入进来,把这个小雪球滚成了一个大雪球。


无意之间,Linus 开创了一种全新的互联网的协作方式,一种大规模的开源开发方法,他证明,成千上万的人可以为一个项目做出贡献,这个项目的商业价值不亚于一家公司花费数十亿美元做出的产品,这是一项伟大的社会学发明。


作为鲜明对比的是GNU Hurd。


Richard Stallman于 1983 年 9 月创立了GNU 项目,计划创建一个自由的 GNU操作系统。


如果Richard Stallman能及早地把操作系统给开发出来,估计没有Linux什么事了。 


但是GNU Hurd的开发采用了一种“教堂”的模式,是有计划地修建而成的,宏伟的黑客精神纪念碑。


Hurd的开发举步维艰,Linux都快占领全世界了,它还无法拿出一个可以在生产环境上使用的、稳定的系统。


而Linux更像是一个“嘈杂的大集市”,它是在 Internet 去中心化的松散组织结构中开发出来的。


Linux的协作方式,更加适应互联网时代。


大集市的开发方式,80年代就已经存在,但是规模都没有Linux那么大——仅仅内核就有近2万人,算上其他模块得有数十万人参与开发。


有了Linux成功的榜样,像Apache等开源软件如雨后春笋般发展起来,开源开始统治世界。


中国1994年5月17日才正式接入全球互联网,两个月前,Linux 1.0已经发布了。


随后几年中国和全世界类似,都是在Linux内核的基础上搞自己的发行版,蓝点Linux,红旗Linux,冲浪Linux,甚至联想都弄了一个幸福Linux,一时间热闹非凡。


这个时候Linux已成大势,中国不可能从头儿开发一个操作系统了。



Linus 的领导力


Linus是IT界顶级网红,表面看,他脾气暴躁,怼天怼地怼空气,一眼不和就开始喷,fuck,shit之类的词经常出现在邮件列表中,他在Linux 开发环境中培养了一种辱骂文化。


但是大家想想,一个有数十万人参与开发的,2000多万行代码的操作系统,仅仅靠暴躁的脾气能管理得了吗?


单靠Linus一个人,绝对无法review那么多的代码,更不可能合并那么多的请求。


必定有个强大的核心团队,紧密地围绕着Linus,一直追随着他,为Linux不断做出贡献。


Linus养成了一种“无为而治”的风格,把权力授权给核心开发小组,放手让各个核心去做自己想做的事情,即使出错,也让他们自己去纠正,而不是自己出面。


这种方式非常有效,Linux迅速发展,每个与Linux相关的人都给与他最高的信任。


Linus 被证明是一个合格的独裁者。


他可能很强硬,但他很公平。


他可能固执己见,但他很少犯错误。


他可能对开发人员很苛刻,但他对用户很友善。


中国肯定也有这样领导特质的程序员,但是Linus在恰当的时间出现了,可遇而不可求


最后总结一下:Linux这么强的操作系统,不是Linus一个人写出来的,他在合适的时间发起了这个项目,并且找到了一种有效的开发方式,用卓越的领导能力组织起了几十万人的协作开发,最终发展成了全世界最流行的操作系统。


现在想复制Linux的成功几乎不可能了,也没有必要了,基于开源的Linux做开发多好! 

作者简介:

本文作者刘欣,著有畅销书《码农翻身》,《半小时漫画计算机》,前IBM架构师,领导过多个企业应用架构设计和开发工作;洞察技术本质,擅长用故事去讲解复杂技术。

---END---


推荐↓↓↓

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存