Linux和BSD都是免费的,开源的,类Unix系统。他们甚至使用很多相同的软件。他们看上去简直就像是一个
操作系统,那么,它们有什么不同吗?
其实,两者之间的不同,远远超出了我们下面提到的这些,尤其是在构建完整操作系统和许可授权的哲学思想上,更是相差甚远。通过这篇短文将可以简单的了解它们之间的不同。
基础
许多人所称的“Linux”实际上不是Linux。Linux从技术上说只是Linux内核,典型的Linux发行版则包括了Linux内核和许多软件。这是为什么Linux有时被称为GNU/Linux。事实上,许多在Linux上使用的软件同样也在BSD上使用。
Linux和BSD都是类UNIX操作系统。我们可以通过阅读类UNIX操作系统历史发现Linux和BSD有不同的谱系。Linux是由LinusTorvalds在芬兰上大学的时候开发的。BSD则代表“BerkeleySoftwareDistribution,伯克利软件套件”,其源于对加州大学伯克利分校所开发的贝尔实验室UNIX的一系列修改,它最终发展成一个完整的操作系统,现在有多个不同的BSD分支。
内核vs.完整操作系统
严格的说,Linux是只是一个内核。制作Linux发行版所要做的
工作就是,汇集那些创建一个完整Linux操作系统所需的所有软件,将它组合成一个像Ubuntu、Mint、Debian、RedHat或者是Arch这样的Linux发行版。有许多不同的Linux发行版。
与此相反的是,BSD这个名字则代表其内核和操作系统。例如,FreeBSD提供了FreeBSD内核和FreeBSD操作系统。它是作为一个单一的项目维护的。换句话说,如果你想要安装FreeBSD,就只有一个FreeBSD可供你安装。如果你想要安装Linux,你首先需要在许多Linux发行版之间选择。
BSD包括一个名为Ports的系统,它提供了一种安装软件包的方式。Ports系统包含了软件包的源代码,所以您的计算机如果想安装软件的话,则需要先编译他们。(如果您曾经使用过以前流行的Gentoo,有点类似那样。)不过,软件包也可以是预安装的二进制形式,以便你不需要花时间和系统资源编译他们就能运行。
许可证
许可证是典型的差异,虽然它不会对大多数人产生影响。Linux使用GNU通用公共许可证,即GPL。如果你修改了Linux内核,并将其分发,你就必须放出您的修改的源代码。
BSD使用BSD许可证。如果你修改了BSD内核或发行版,并且发布它,你根本不需要必须发布其源代码。你可以自由地对你的BSD代码做任何你想做的事情,你没有义务发布的你修改的源代码,当然你想发布也行。
两者都是开放源码的,但是以不同的方式。人们有时会陷入关于哪种许可证是“更自由”的辩论。GPL可以帮助用户以确保他们可以拥有GPL软件的源代码,并限制开发人员迫使他们开放代码。BSD许可证并不能确保用户可以拥有源代码,而是给开发人员选择是否公布代码的权利,即使他们想要把它变成一个闭源项目。
BSD分支
以下是通常认可的三个“主流”BSD操作系统:
FreeBSD:FreeBSD是最受欢迎的BSD,针对高性能和易用性。它支持英特尔和AMD的32位和64位处理器。
NetBSD:NetBSD被设计运行在几乎任何架构上,支持更多的体系结构。在他们的主页上的格言是”理所当然,我们运行在NetBSD上”。
OpenBSD:OpenBSD为最大化的安全性设计的——这不仅仅它宣称的功能,在实践中也确实如此。它是为银行和其他重要机构的关键系统设计的。
还有两个其他的重要BSD操作系统:
DragonFlyBSD:DragonFlyBSD的设计目标是提供一个运行在多线程环境中的操作系统——例如,计算机集群。
Darwin/MacOSX:MacOSX实际上基于Darwin操作系统,而Darwin系统基于BSD。它与其他的BSD有点不同,虽然底层内核和其他的软件是开源代码(BSD代码),但操作系统的大部分是闭源的MacOS代码)。苹果在BSD基础上开发了MacOSX和iOS,这样他们就不必写操作系统底层,就像谷歌在Linux基础上开发android系统一样。
你为什么会选择BSD而不是Linux?
Linux显然比FreeBSD更受欢迎。例如,Linux往往会比FreeBSD更早提供新硬件的支持。BSD有一个兼容包可用,使之能像大多数的其他软件一样原生的执行Linux二进制程序。
如果您使用过Linux,FreeBSD不会让你感觉到太大的不同。如果把FreeBSD作为桌面操作系统,你也可以使用相同的GNOME,KDE或Xfce桌面环境,你也可以在BSD上使用Linux上的大多数的其他软件。有一点需要注意,FreeBSD不会自动安装的图形化桌面,所以你要花相对于Linux更多的心思来照顾你的BSD。BSD更守旧一些。
FreeBSD的可靠性和稳定性也许更适合作为服务器的操作系统。而厂商也会选择BSD而不是Linux作为其操作系统,因为这样他们就不必放出他们修改的代码。
如果你是一个PC桌面用户,你真的不需要太过在意BSD。你可能会喜欢Linux,因为它具有更先进的硬件支持,更容易安装,具有现代操作系统的特点。如果你关注服务器或嵌入式的设备,你可能会更喜欢FreeBSD。
我们可能会听到一些人说他们在桌面电脑上使用FreeBSD,你当然也可能是其中之一!但像Ubuntu或Mint一样的开源操作系统对于多数用户来说更体验良好和更先进些。