跳转到内容

FOSS 网络基础设施与安全/FOSS 和 GNU/Linux 简介

来自维基教科书,开放世界的开放书籍

自由/开源软件

[编辑 | 编辑源代码]

自由/开源软件,或称 FOSS,是指那些以自由许可证发布的软件,这些许可证授予用户研究、更改和改进其设计的权利,因为其源代码是可获得的。自由软件基金会提出的自由软件定义指出,其许可证中应包含四项基本自由

1. 运行程序的自由,无论出于何种目的;

2. 研究和修改程序的自由;

3. 复制程序的自由,以便您可以帮助您的邻居,以及

4. 改进程序并将您的改进发布给公众的自由,以便整个社区受益。

自由 2 和 4 需要访问源代码,因为在没有源代码的情况下研究和修改软件[1]非常困难且效率低下,因为人类通常无法理解机器代码或目标代码。开源倡议发布的开源定义指出

1. 许可证不得禁止免费重新分发;

2. 程序必须包含源代码,并且必须允许以源代码形式以及编译形式分发;

3. 许可证必须允许修改和衍生作品,并且必须允许这些作品以与原始软件许可证相同的条款进行分发;

4. 许可证必须维护作者的源代码和声誉的完整性,要求衍生作品与原始软件具有不同的名称或版本号;

5. 许可证不得歧视任何个人或群体;

6. 许可证不得限制任何人将程序用于特定领域;

7. 程序附带的权利必须适用于程序被重新分发给的所有人,而无需这些方执行额外的许可证;

8. 程序附带的权利不得取决于程序是否属于特定软件发行版;

9. 许可证不得对与许可软件一起分发的其他软件施加限制;以及

10. 许可证的任何条款不得以任何特定技术或界面风格为前提。

一些 FOSS 软件的例子包括:Linux 内核、GNOME 桌面和 Free Berkeley Software Distribution (FreeBSD)。最知名和最流行的 FOSS 许可证包括:GNU 通用公共许可证 (GPL)、GNU 宽通用公共许可证 (LGPL)、BSD 许可证、Apache 许可证、MIT 许可证和 Mozilla 公共许可证。有关 FOSS 的更多信息,请参阅 Kenneth Wong 和 Phet Sayo 撰写的《FOSS:一般介绍》。[2]

GNU/Linux

[编辑 | 编辑源代码]

GNU/Linux(也称为 Linux)是一种计算机操作系统。它是 FOSS 开发中最突出的例子之一。最初,GNU/Linux 主要由个人爱好者开发和使用。从那时起,GNU/Linux 已获得 IBM、Sun Microsystems、惠普和 Novell 等大型公司的支持,用于服务器,并且正在桌面市场中越来越流行。支持者和分析师将这一成功归因于其供应商独立性、低成本、安全性和可靠性。

1983 年,理查德·斯托曼创立了 GNU 项目。GNU 的目标是开发一个完全由自由软件组成的完整的类 Unix 操作系统。到 1990 年代初,GNU 已生产或收集了大多数必要的组件——库、编译器、文本编辑器、类 Unix shell——除了最低级别内核。GNU 项目于 1990 年开始开发自己的内核 Hurd,该内核基于 Mach 微内核。然而,这种基于 Mach 的设计随后被证明很困难,开发进展缓慢。

与此同时,1991 年,芬兰大学学生林纳斯·托瓦兹在赫尔辛基大学学习期间开始以爱好为目的开发另一个内核。Linux 由互联网上的各种程序员进一步开发。1992 年,它与 GNU 系统相结合,形成了一个功能齐全的自由操作系统。GNU 系统最常见于这种形式,通常称为“GNU/Linux 系统”或“Linux 发行版”。这是迄今为止 GNU 最受欢迎的变体。有 300 多个基于 GNU 的发行版使用 Linux 内核。一些最广泛使用的发行版包括:Debian、Gentoo、Mandriva、Red Hat Linux、Slackware、SuSE 和 Ubuntu。

Linux 内核最初设想用于基于 Intel 80386 的机器。虽然最初并非打算移植到其他架构,但 Linux 现在是世界上移植最广泛的操作系统之一,运行在从 iPAQ 到 IBM System z9 的各种系统上。针对不太主流的架构存在专门的发行版。Linux 作为超级计算机的操作系统越来越普遍。2005 年 11 月,超级计算机 Top 500 列表指出,世界上最快的两台超级计算机运行的是 Linux。在 500 个系统中,有 74% 运行着某种版本的 Linux,包括前 10 名中的 7 个。

Linux 内核和大多数 GNU 组件是根据 GNU GPL 许可的。GPL 要求所有源代码修改和衍生作品也必须根据 GPL 许可,有时被称为“共享并共享” (或“版权”) 许可证。

网络运营商对 FOSS 的看法

[编辑 | 编辑源代码]

所有网络运营商都需要提供一套服务,为此他们需要可靠的系统。网络冲浪、电子邮件和域名系统 (DNS) 等服务构成了所有网络提供商的支柱。网络运营商还需要随着用户数量的增长而扩展,因为他们通常在高容量业务中运营。这需要一个可靠的系统,该系统可以快速扩展,并且可以有效地运行服务。

FOSS 在许可费用方面比专有软件提供了多个优势,在安装和操作方面提供了灵活性,以及可以作为互联网基础设施基本构建块参考实现的源代码。FOSS 还减少了与其他软件相关的病毒和安全问题,因为可以公开审计源代码。最后,软件的非法复制在全球范围内越来越令人担忧,使用 FOSS 可确保您始终站在法律一边。

用于网络的 GNU/Linux

[编辑 | 编辑源代码]

虽然存在其他操作系统,如 *BSD,以及那些也提供源代码访问的操作系统,但 GNU/Linux 是世界上最流行的 FOSS 系统。从网络的角度来看,UNIX 操作系统是多用户系统的先驱。UNIX 和 UNIX 克隆(如 *BSD 和 GNU/Linux)在设计时就考虑到了网络性能和安全性。

过去,大多数网络系统依赖昂贵的硬件和专有的 UNIX 平台来获得最大的益处。使用 GNU/Linux,可以在更便宜的硬件上实现同等的益处。同时,源代码的可用性使运营商能够创建自己的扩展,并将软件微调以满足他们自己的需求。

此外,大多数用于网络操作的服务器和程序都可以在 GNU/Linux 上使用,并且不断开发许多额外的实用程序以提供更多优势。

BSD 替代方案

[编辑 | 编辑源代码]

尽管 GNU/Linux 在过去几年中获得了广泛认可,但仍存在其他开源操作系统,主要是各种 BSD:NetBSD、FreeBSD 和 OpenBSD。BSD 许可证是 FOSS 最广泛使用的许可证之一。许多软件程序都在此许可证下发布,包括 Apache 和 Berkeley Internet Name Domain (BIND)。与 GNU GPL 等许可证相比,此许可证的限制较少,尤其是与版权提供的默认限制相比,使其更接近公共领域。因此,在保留对源代码的开放访问的同时,BSD 许可证也允许在专有软件和产品中使用该软件。

  1. 由程序员用高级语言编写的代码,可以被人阅读但不能被计算机阅读。源代码必须转换为目标代码或机器语言,计算机才能读取或执行该程序。
  2. http://www.iosn.net/foss/foss-general-primer/foss_primer_current.pdf
华夏公益教科书