其实,两者之间的不同,远远超出了我们下面提到的这些,尤其是在构建完整操作系统和许可授权的哲学思想上,更是相差甚远。通过这篇短文将可以简单的了解它们之间的不同。
基础
许多人所称的“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许可证并不能确保用户可以拥有源代码,而是给开发人员选择是否公布代码的权利,即使他们想要把它变成一个闭源项目。