Linux 和 BSD 都是免费的、开源的 UNIX 系列系统,它们甚至使用很多相同的软件,连不少业界的朋友也恉将两者混淆,但它们究竟有什么不同?

  两者最大不同,在操作系统的构造和用户授权的哲学思想上。许多人所称的 “Linux” 实际上不是 Linux。Linux 从技术上说只是 Linux 核心,典型的 Linux 版本则包括了 Linux 核心和许多软件。这是为什么 Linux 有时被称为 GNU/Linux。事实上,许多在 Linux 上使用的软件,同样也在 BSD 上使用。Linux 和 BSD 都是 UNIX 系列的操作系统,Linux 是由 Linus Torvalds 在芬兰上大学的时候开发的。BSD 则代表 Berkeley Software Distribution,源于对美国加州大学伯克利分校所开发的贝尔实验室UNIX的一系列修改,它最终发展成一个完整的操作系统,现在有多个不同的分支。

系统核心

  因为 Linux 是只是一个核心,所以有制作 Linux 版本的需要。所要做的工作就是,汇集那些创建一个完整 Linux 操作系统所需的所有软件,将它组合成一个像 Ubuntu、Mint、Debian、Red Hat 或者是 Arch 这样的 Linux 版本,决此全球有许多不同的 Linux 版本。与此相反的是,BSD 这个名字则代表其核心和操作系统,例如 FreeBSD 便是以单一项目方式来维护的。换句话说,如果你想要安装 FreeBSD,就只有一个 FreeBSD 可供你安装。如果你想要安装 Linux,你首先需要在许多 Linux 版本之间选择。BSD 包括一个名为 Ports 的系统,它提供了一种安装软件套件的方式。Ports 系统包含了套件的示程序代码,所以如果想安装软件的话,则需要先编译它们。如果曾经使用过以前流行的 Gentoo Linux,有点类似那样。不过套件也可以是预安装的二进制形式,以便不需要花时间和系统资源编译就能运行。

用户授权

  用户授权是两者的主要差异,虽然它不会对大多数人产生影响。Linux 使用 GNU 通用公共用户授权即 GPL。如果你修改了 Linux 核心,并将其分发,就必须放出修改的原程序代码。BSD 使用 BSD 用户授权,如果修改了 BSD 核心或并且发布它,也不需要必须公开程序代码。你可以自由地对你的 BSD 程序代码做任何你想做的事,你没有义务发布修改的程序代码,当然你想发布也行。两者都是开放源码的,但是以不同的方式。人们有时会陷入关于哪种用户授权是「更自由」的辩论。GPL 可以帮助用户以确保他们可以拥有 GPL 软件的程序代码,并限制开发人员迫使他们开放程序代码。BSD 用户授权不能确保用户可以拥有程序代码,只是给开发人员选择是否公开程序代码的权利,即使他们想要把它变成一个闭源项目。

BSD分支

  目前三个主流 BSD 系统分别是FreeBSD、NetBSD和OpenBSD。FreeBSD 是最受欢迎的,针对高性能和易用性。支持 Intel 和 AMD 的32位和64位处理器。NetBSD 被设计运行在几乎任何架构上,支持更多的体系结构。OpenBSD 为最大化的安全性设计的,这不仅仅它宣称的功能,在实践中也确实如此。它是为银行和其他重要机构的关键系统设计的。还有两个其他的重要 BSD 系统 DragonFly BSD 和 Darwin 即 Mac OS X。DragonFly BSD 的设计目标,是提供一个运行在多线程环境中的操作系统如计算器群集。 Mac OS X 实际上基于 Darwin 系统,而 Darwin 系统基于 BSD。它与其他的 BSD 有点不同,虽然底层核心和其他的软件是开源的 BSD 程序代码,但操作系统的大部分是不公开的闭源 Mac OS 程序代码。苹果在 BSD 基础上开发了 Mac OS X 和 iOS,这样他们就不必写操作系统底层,就像 Google 在 Linux 基础上开发 Android 系统一样。

选择 BSD 还是 Linux?

  Linux 显然比 FreeBSD 更受欢迎,Linux 往往会比 FreeBSD 更早提供新硬件支持。BSD 有一个兼容套件可用,使之能像大多数的其他软件一样,原生的执行 Linux 已编译好的程序。如果使用过 Linux, FreeBSD 不会让你感觉到太大的不同。如果把 FreeBSD 作为桌面系统,你也可以使用相同的 GNOME,KDE 或 Xfce 桌面环境,你也可以在BSD上使用 Linux 上的大多数的其他软件。但注意 FreeBSD 不会自动安装的图形化桌面,所以你要花相对于 Linux 更多的心思来照顾你的 BSD。FreeBSD 的可靠性和稳定性,也许更适合作为服务器的系统。部分厂商会选择 BSD 而不是 Linux,因为 BSD 的话就不必放出他们修改的程序代码。如果你是一个 PC 桌面用户,你真的不需要太过在意 BSD。你可能会喜欢 Linux,因为它具有更先进的硬件支持、更容易安装,具有现代操作系统的特点。如果你关注服务器或嵌入式的设备,你可能会更喜欢 FreeBSD。