前事不忘,后事之师,唠唠开源的前世今生

?? 编者按:

过去三十年,开源软件以开放、共享、协同的新型生产方式,成为全球信息技术发展的强大推动力。是什么造就了开源个小小的个人项目何以改变计算机工业乃至人类 会的历史的视角,我们可以得到哪些启发/p>

让我们跟随红帽工程师@醉卧沙场,回溯计算机系统发展的历史长河。

操作系统之初,人们追求分时复用的设计。在 Multics 项目因为不堪重负而消亡后,Unix 系统悄悄地从这个项目的残骸里出世。虽然 Multics 项目死掉了,但是人们对分时复用系统的追求没有停止,所以在 Multics “死后”,Unix 作为个人追求和爱好开始默默发展

Unix 的最初设计者 Ken Thompson 是 Multics 项目的研究员,他在 1969 年设计了Unix了系统的第一代雏形。开始的 Unix 是用汇编语言和 B 语言所写,后来 Dennis Ritchie 加入创作,开创了 C 语言,然后二人又用 C 语言重写了 Unix。不得不说,用 C 语言重写 Unix 系统对其影响很大。一个用高级语言编写的可读性可扩展性良好的支持分时复用的系统代码,很快在世界顶级黑客间得到广泛流传和认可。

Unix V7 版本界面

Unix 系统得到前所未有的成功和发展,在 1979 年发布的 V7 版本可以称为第一个完整意义上的 Unix 系统。而当时对于 V6 版本的源代码注释,也成了 Unix 的最正式文档,流传至今。那个时候,作为一个从事计算机行业的人,没有一份 V6 注释版源码的拷贝,你简直都没法说自己是黑客。Unix 开始进入黄金发展的时期。

1978 年,第一家 Unix 的公司 SCO 成立,Unix 的产业开始初见端倪。微软当时也加入到 Unix 中,把 AT&T 版本移植到了微型计算机上,取名 Xenix 来卖(不过后来他们就另谋他路了)。

上面我们提到了加州大学伯克利分校,这是 Unix 发展史上的一个重要高校,他们对 Unix 的贡献非常巨大。为什么为 Ken Thompson 曾在此教学,并将 Unix 的研究深深地植入了这里,以至于他离开后,这里的老师和学生仍然持续的努力研究。1977 年,第一版的 Berkeley Software Distribution (BSD)问世,伯克利分校迅速成为一个核心开发点,很多创意被反馈回贝尔实验室。

1980 年,DARPA(美国国防部高级研究计划局)想要实现全新的 TCP/IP 协议栈,BSD 版 Unix 成为首选,因为这版代码最公开最容易得到,DARPA 选择和伯克利合作开发。

1985 年,Intel 的 386 芯片问世。这在当时还不是很起眼,因为当时大家的注意力还都在 Sun 公司的工作站上。当时可以很轻松地运行 Unix 的微处理器,在后来让 Sun 知道了什么叫无力回天。同年,Richard Stallman 发表 GNU 宣言,发起了自由软件基金会。只是当时没有人把他和他的组织放在眼里。

1986 年,IBM 开始在大型机市场失利,以 Intel 386 为基础,配合 Unix 跑起来的 PC 机开始占领市场。其实这个时候如果有人用 Stallman 的 GNU 项目配合 386 制作出 Unix 工作站,那将是最便宜的解决方案,而且便宜得不是一点。

Unix 的战争愈演愈烈,经历几轮战争后,Unix 群的人们的梦想开始破灭。Unix 的商业化没有取得成功,成为鸡肋的存在。微软在 Unix 自相残杀的时候迅速占领了无人重视的小型机市场,赚得盆满钵满,并巩固了其统治地位。“自由”的梦想似乎就要在此终结。

但是曙光在这一刻悄然埋下。1988 年,伯克利分校的黑客 Keith Bostic 受到 Stallman 的影响(听说 Stallman 先生“游说”了当时的 BSD 老大很久,劝他移除并重写 BSD 中 Unix 商业代码相关的部分),开始尝试把 BSD 中 AT&T 的专有代码清除出去,之后 William Jolitz 在 1990 年把 BSD 移植到了 386 机器上。这一消息立刻引起不小的轰动,但是在 1991 年底到 1992 年初的时候,Jolitz 突然退出了这个项目,并毁掉了自己的成果。原因传说是项目的赞助商选择专有授权模式,而不同意他希望将源代码无条件无限制发布的愿望,于是,这个程序员就怒了。

一直以来,主要反对 GNU 的不是以微软为首的商业软件体系,而是 BSD 等其它开源协议拥护者。他们并不认同甚至反感 GPL 协议。BSD 认为自己的协议比 GPL 更自由,GPL 反而是具有传染性的毒瘤。而 Stallman 又是个极致的“自由”崇拜者,他反对所有的私有软件,认为其系统上只能有“自由”软件,不能有不遵守 GPL 协议的“蛀虫”。这一点在思想上很大程度上不受传统 Unix 文化影响下的人们的支持,他们反而喜欢类似 BSD 的方式。Torvalds 在这一点上很聪明,他巧妙穿梭在 GPL 协议和反 GPL 协议之间。他利用 GNU 的软件集搭建 Linux 内核,用 GPL 协议保护自己的成果,但是拒绝认同 Stallman 的思想体系。他曾多次明确表示,自己认为自由软件非常好,但是他也用专有软件,他希望自己的内核上既可以跑自由软件,也可以跑专有软件,选择权交给用户。这样的观念平衡了两方的人,大家都愿意在 Linux 上开发贡献。

其实 Richard Stallman 只是固执了些,他作为一个大师级别的程序员,已经接近了“思想者”的地步,他们这样的人有自己独到的思想体系是非常正常的。就像中国古代百家争鸣时代的一大批哲学家思想家一样,一个人的能力高到一定地步,就开始创立思想体系。但是,作为计算机行业,实用主义还是最受欢迎的。

后来,Linux 抱到 Apache 服务器的大腿,开始一发不可收拾地发展起来。迅速成长为替代 Unix 的存在,受到各大厂商、开发者、使用者的多方支持。

其实仔细想想,Unix 文化从未离我们而去。它只是饶了一圈,在商业化的道路上消亡殆尽后,伴随着互联 的兴起,以另一种开源的形式重新出现,汇聚在它身边的还是以前那些抱着相同理想的黑客们(或他们的继任者们)。同时,Unix 的没落也告诉了我们,距离开源越近,越能得到好的发展。任何试图将 Unix 私有化的企业都逐渐消亡了。回归开源道路的 Unix 文化,才是如今发下去的动力。这是几十年下来,这些老黑客和他们的继任者们,在历尽挫折与失败后共同总结的经验,为此他们还形成了各种思想体系(开源协议)。尽管协议有不同,思想也有不同,但是相同点都是“开源”。

?? 另一个教训其实就是:别太自视清高。Unix 和很多厂商一直专注于大型机市场,认为廉价粗制的 Intel 芯片都是上不了台面的。最后一次次被打脸,甚至还让微软凭借并不出众的技术就抢到了个人桌面计算机的主导权。


声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年1月5日
下一篇 2022年1月5日

相关推荐