附录 D:历史和背景
本章旨在让读者对 GNU/Linux 和自由/开源软件的历史和生态系统有一些了解和背景知识。
D.1 源代码与二进制机器代码
计算机软件是用各种不同的编程语言编写的。这种
源代码可以由经过适当培训的任何人编写和理解。
#include <iostream.h>
main()
{
cout << "Hello World!";
return 0;
}
人类可读的源代码随后被编译成计算机可以运行的
二进制机器代码。
01001000 01100101 01101100 01101100 01101111 00100000 01010111 01101111 01110010 01101100 01100100 00100001 00100000
如果无法访问源代码并且未经允许修改它,无论是您个人还是您的整个社区,都无法研究软件的工作原理及其功能——更不用说更改和改进它了——您将完全依赖于拥有源代码的公司/个人的意愿。
D.2 Richard Stallman、GNU 和自由软件
Richard M. Stallman (RMS) 是一名系统程序员,他越来越不满于专有软件施加的技术和社会限制,分别于 1984 年和 1985 年创立了
GNU 项目 (GNU's Not Unix),旨在创建一个自由的类 Unix 操作系统,并创立了
自由软件基金会 (FSF),一个推广自由软件的基金会。
自由软件并不意味着免费,自由软件可以是商业的。它指的是作为自由的“自由”,具体由以下四项基本自由定义:
- (0) 运行程序的自由,无论出于何种目的。
- (1) 研究程序如何工作的自由,并对其进行更改以使其实现您希望的功能。
- (2) 重新分发副本的自由,以便您可以帮助您的邻居。
- (3) 改进程序并向公众发布您的改进(以及通常的修改版本)的自由,以便整个社区受益。
自由 1 和 3 需要访问程序的源代码。
D.2.1 GNU GPL、Copyleft 和其他自由软件许可证
任何确保上述四项基本自由的软件许可证都被视为自由软件许可证。存在数十种不同的自由软件许可证。自由软件许可证通过利用现有的版权法来为用户提供比您通常拥有的更多的自由和权利。
目前使用最广泛的自由软件许可证是 GNU 通用公共许可证(GPL)。GNU GPL 的一个特点是它应用了被称为
copyleft的原则。这意味着虽然您被允许修改和重新分发 GPL 许可的软件——这些衍生作品
必须在类似条款下分发——从而确保 GPL 许可的程序将始终保持自由软件。非 copyleft 许可证也称为
宽松许可证,这些类型的自由软件许可证允许在不同的、不兼容的许可证下重新分发软件——甚至是专有许可证。
D.3 Linux 和 Linus Torvalds
到 1980 年代末,GNU 项目已经创建了一个
几乎完整的自由 Unix 操作系统,但内核却成了问题。
1991 年,与 GNU 项目无关,当时 22 岁的芬兰大学生 Linus Torvalds 决定编写一个可以在家使用的 Unix 内核。同年晚些时候,他在新闻组上宣布了第一个版本,使用了这些现在不朽的话语:“......我正在做一个(免费的)操作系统(只是一个爱好,不会像 GNU 那样庞大和专业)......”。
该内核被命名为 Linux,很快就获得了 GNU GPL 许可,人们开始将其与 GNU 工具结合使用。一个由 GNU 加 Linux 组成的完全功能、自由的类 Unix 操作系统成为现实!
如今,Linus Torvalds 居住在美国,并继续领导 Linux 内核的开发——但他不再孤单,如今每年有超过一千名开发者为内核贡献代码——其中一些是利用业余时间贡献的志愿者,而另一些则受雇于大型公司,如 IBM、Intel、Novell 和 Red Hat。
D.4 开源
开源一词于 1998 年由一群希望与自由软件运动的意识形态言论保持一定距离的人创造,目的是使自由软件对商业利益更具吸引力。
自由软件基金会和开源促进会认可的软件许可证几乎都相同,因此在实践中开源和自由软件之间差异很小——差异几乎完全在于哲学和修辞层面。为了弥合两个阵营之间的鸿沟,“FOSS”(自由和开源软件)一词经常被使用。
D.5 openSUSE 的历史
SUSE 于 1992 年 9 月 2 日在德国成立,原名为 Gesellschaft für Software- und Systementwicklung mbH (S.u.S.E. GmbH),意为:“软件和系统开发有限公司”。第一个 GNU/Linux 发行版 (S.u.S.E. Linux 1.0) 于 1994 年发布——这使得 SUSE 成为现存最古老的 GNU/Linux 发行版之一。最初,它只是一个名为 Slackware 的美国发行版的德语版本,但后来 SUSE 已成为领先的发行版之一。2003 年,SUSE 被 Novell 收购。
2005 年,openSUSE 项目启动,目标是开放开发并更多地让社区参与。
2010 年,Novell 被 Attachmate 收购。交易于 2011 年 4 月最终敲定,Attachmate 的首批行动之一是将 SUSE 拆分为一个独立于 Novell 的业务部门,并将 SUSE 总部迁回德国纽伦堡。2014 年,Micro Focus 与 Attachmate 合并,但这并未影响 SUSE 或 openSUSE 项目。2019 年,Micro Focus 将 SUSE 出售给瑞典私募股权公司 EQT Partners,这也对 openSUSE 项目几乎没有直接影响。
2014 年,开发分支 openSUSE Factory 足够稳定,成为了一个可用的滚动发布发行版,名为 openSUSE Tumbleweed。openSUSE Tumbleweed 构成了 SUSE Linux Enterprise Server 和 Desktop (SLES 和 SLED) 的基础。这又导致了稳定版 openSUSE 的变化,并于 2015 年创建了 openSUSE Leap,它使用 SUSE Linux Enterprise 作为核心系统,并具有一种长期支持形式,每年进行主要的 Service Pack 更新,而主要版本每 3-4 年才发布一次。
|
|
|
|
| GNU 项目吉祥物 |
Linux 的官方吉祥物 - 企鹅 Tux |
KDE 吉祥物 - 龙 Konqui |
SUSE 吉祥物 - 变色龙 Geeko |
D.6 GNU/Linux 生态系统
D.6.1 发行版
当 Linux 内核、GNU 工具以及来自“上游”的其他自由软件组件捆绑在一起形成一个完整的现代操作系统时,它被称为 GNU/Linux
发行版。存在许多针对不同类型用户和使用场景的发行版——企业、家庭用户、服务器、桌面、多媒体中心等。有些是商业的,另一些则完全基于社区志愿者的努力。除了捆绑软件之外,发行商通常还会整合、品牌化、修补软件,并提供内部开发的额外工具等等。当然,多个发行版的存在之所以可能,正是因为软件组件是自由软件。

|
| 此图显示了上游项目、分发商和最终用户的生态系统。 |
D.6.2 谁开发自由软件,为什么?
许多开发人员受雇于大型公司,如 IBM、Novell、Red Hat、Google、Mozilla Foundation、KDAB、Intel、AMD、Canonical、Oracle 等。这些公司通常通过销售围绕自由软件的服务或销售安装有自由软件的硬件来建立商业模式。通过使用自由软件,公司可以与他人分担开发成本。
还有许多人以其他方式获得报酬来开发自由软件,例如通过大学工作、政府赞助、捐赠、学生可以通过
Google 编程之夏项目获得报酬等。
然而,也有许多许多人在业余时间无偿地从事自由软件工作。他们可能有许多不同的动机。
- 他们可能需要某个功能或遇到某个错误(“解决自己的痛点”)。
- 这有助于他们提升技能和人脉,并创造就业机会。
- 编程既有趣又富有挑战性。
- 可以获得很多认可和尊重。
- 您可以选择自己喜欢的项目,不像在日常工作中那样。
- 他们可能认为软件自由本身就足够重要,值得为此努力。
- 他们将参与到一个激动人心的全球社区中。
- 等等。
D.6.3 谁在使用 GNU/Linux?
许多人仍然认为 GNU/Linux 是一个小众的爱好者操作系统——当然,在标准台式电脑上的市场份额很小。然而,约百分之一的市场份额仍然意味着全球数百万计的人在使用。对于通常可以自由再分发的事物,无法获得真正可靠的市场份额或用户总数衡量标准。
然而,GNU/Linux 在其他领域非常普及。绝大多数的 Web 服务器和其他服务器都运行 GNU/Linux。Facebook、Google 和 Yahoo 的整个基础设施都建立在 GNU/Linux 之上。GNU/Linux 已被用于从南极到 NASA 在外太空的各个地方。GNU/Linux 是世界上大多数
超级计算机的首选操作系统。而且 GNU/Linux
嵌入在设备中,人们甚至常常不知道它的存在,例如手机、电视、电子书阅读器、PDA、路由器、硬盘录像机、NAS 设备等等。
通过电子邮件将您的评论发送至 admin [at] opensuse-guide.org