2

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

 1 year ago
source link: https://www.51cto.com/article/751804.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

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

作者:码农翻身刘欣 2023-04-12 08:16:35
Linux这么强的操作系统,不是Linus一个人写出来的,他在合适的时间发起了这个项目,并且找到了一种有效的开发方式,用卓越的领导能力组织起了几十万人的协作开发,最终发展成了全世界最流行的操作系统。

​为何 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做开发多好! ​

责任编辑:武晓燕 来源: 码农翻身

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK