操作系统基础与实践:基于openEuler平台
上QQ阅读APP看书,第一时间看更新

1.3.3 GNU/Linux的开源创新

GNU/Linux的蓬勃发展也是UNIX的涅槃重生。到了20世纪80年代,几乎所有的软件都是专属软件,这意味用户必须付费才能使用,并且无法对软件进行修复和扩展,在技术层面阻碍了UNIX的应用和发展。

一些黑客程序员发起了开源运动,迎来了操作系统的开源创新与发展新模式。在这个过程中,有两个里程碑式的开源项目起到了至关重要的作用,一个是BSD项目,另一个是GNU项目。

BSD项目发起于加利福尼亚大学伯克利分校。在这个以自由著称的学校,校友肯·汤普森创造并带回了UNIX,他的在校研究生学弟比尔·乔伊(Bill Joy)在1977年编译了第一版BSD。BSD开启了开放源码的传统,每一个发行版包含每个部分的完整源码。BSD在1989年对所有人开放了操作系统网络部的源码,这是早期开源运动的重要里程碑之一,推动了BSD家族的发展和广泛应用,并对后来的开源软件运动产生了深远影响。

在1999年的DEF CON黑客大会上,OpenBSD的创始人西奥·德若特(Theo de Raadt)公开讨论了微软公司的后门程序Back Orifice 2000,并对其进行了严厉批评。作为回应,他承诺将在OpenBSD操作系统中加入对抗后门程序的安全措施。这个事件引起了广泛关注,OpenBSD因此成了安全性和反后门的代名词之一。操作系统安全越来越受到人们的重视,开源也成为操作系统业界应对此类信任危机的一个重要手段。

GNU项目是由理查德·斯托曼(Richard Stallman)于1983年发起的一个免费的软件项目,旨在开发出一个完整的UNIX类操作系统,其源码能够不受限制地被修改和传播。为了支持GNU项目,理查德·斯托曼还创立了自由软件基金会(Free Software Foundation),专门用于资助开源软件社区的发展。到了1990年,GNU项目已经开发出了一个包含UNIX操作系统的所有主要部件的环境,包括编译器、编辑器、调试器等必要的部件,但还缺乏一个可用的内核。

GNU/Linux是开源创新模式下诞生的一个新型操作系统。1991年,一个叫林纳斯·托瓦兹(Linus Torvalds)的计算机专业的学生编写了一个命名为“linux”的内核,将其免费发布在互联网上。这个内核与GNU项目已经开发的软件组成了一个新的操作系统,即GNU/Linux,通常直接简称为Linux。这个操作系统使用GNU GPL(General Public License,通用公共许可证),授权任何人都可修改、发布和使用,这一特性使得该操作系统随着互联网的发展快速传播,并形成了一个庞大的开源社区。

GNU项目已经取得了优秀的成绩,却常常被忽略。GNU项目的成功在于其提供了一套完整的工具链,使开发者可以自由地使用、修改和分发软件,从而推动了开源软件和自由软件运动的发展。

在开源社区的推动下,人们围绕Linux内核创作了多个优秀的发行版,如最初的Slackware Linux、大名鼎鼎的Debian、Red Hat Linux等。这些发行版将各种应用程序和Linux内核打包在一起,为用户提供了非常方便的安装、升级等管理手段,极大加快了Linux的推广。除了开源软件采购和许可成本低的优势外,庞大的社区和用户群体使得软件的安全性、可信度和稳定性都得到了较好的保证,厂商还可根据自己的业务要求对软件进行定制和优化,提高系统的性能和适应性。正因如此,华为、谷歌、IBM、英特尔等许多国内外企业都投入了大量人力、物力资助自由软件基金会,这些贡献支撑了开源软件行业的蓬勃发展。