Skip site navigation (1) Skip section navigation (2)

FreeBSD 促进项目

随着 BSD 项目 (DragonFlyBSD、 FreeBSD、 NetBSD, 以及 OpenBSD) 的不断成长, 关于它们的迷思也在逐渐增加。 这其中有一部分是由于人们的误解, 而另一些则是有人故意散布的谣言。

这一页将着力于冷静地拆穿这些迷思。

注意: 在这一页中, “*BSD” 是指全部四个 BSD 项目。 对于只针对某一计划的迷思, 则会单独说明。
如果您认为这页中存在错漏, 请与其维护人 Tom Rhodes <trhodes@FreeBSD.org> 联系。

目录

迷思

*BSD项目采用封闭模式进行开发, 比较近于教堂模式

在那篇名为 《大教堂与集市》的论文中,雷蒙德(Eric Raymond)以 Linux 的开发模式 (他用来开发fetchmail) 的模式为例, 说明了开源开发应当如何进行。 与此相对应,*BSD的开发模式一般被定性为封闭的。

这里隐藏的价值判断是:“集市”(开源)开发模式是好的, 而“大教堂”(封闭)开发模式是坏的。

事实上如果说有什么区别的话,*BSD的开发模式大概 更像描述的 Linux 或者 fetchmail的开发模式。

让我们考虑如下事实:

  • 对于所有的 *BSD项目:当前, FreeBSD, NetBSD,以及 OpenBSD 释出的源代码, 任何人都可以24地从互联网上下载。 你无需等待他人的释出。

    FreeBSD, NetBSD:每 24 小时制作一个可安装的项目当前进展的快照。这些快照就像正常的 release版操作系统一样可以安装, 并不需要安装在现有的系统上。

    OpenBSD:可安装的快照也是每天都产生的, 并且如果Theo认为快照足够好的话,他会把它们上传到OpenBSD的镜像站点上。

    与之不同的是: Linux 的新内核发布是随心所欲的, Linux 的发行频率取决于不同发行版制造商心血来潮的行动。

    对于*BSD用户来说, Linux 新内核的每次发布都是不值得宣传的, 因为那是每天都在发生的事情。

  • 所有的*BSD项目都使用CVS来管理他们的源代码。

    所有的*BSD项目:都制作了一棵CVS树, 来让任何人24小时地浏览、下载。 我们可以使用匿名的CVS,CVSupip,CTM(通过电子邮件), 或者通过FTP,来检索源代码。

  • 任何人都可以使用安装在他们*BSD系统上的名为 send-pr程序,或者使用一个基于web 的工具来提交补丁、错误报告、文档, 或者做出其他的贡献。

    Pointers to this system litter the documentation.

  • 当然并不是每个人都可以把他对*BSD源代码的修改写入 CVS树的。为此你需要先成为committer。 一般来说,他们使用send-pr 或者其他工具向项目做出了若干经过深思熟虑才产生的贡献,才能成为committer。

    与 Linux 的机制其实是一样的。 理论上说只有一个人允许改变内核---Linus。 只是对于一些特定领域比如网络部分的代码才委托给其他人。

    另外:Nik (nik@FreeBSD.org) 是一个相关的例子。 当他对FreeBSD文档项目和网页做出了一定的贡献之后, 虽然他从没有要求成为committer, 他们大方地给与了该权限以免他老是麻烦别的 committer来把那些变更写入CVS树。


不能只做你自己的发行版或者从 *BSD派生出一些工作

你可以的。 你只需在文档和源代码中说明代码源自何处。 有一系列派生项目存在着:

  • DragonflyBSD 运行在CD-ROM上的完整的桌面操作系统, 他也能被安装, 但是对那些没有硬盘的计算机极其有用。

  • TrustedBSD 对FreeBSD提供了一套可信扩展, 目标是实现 (CC)。 该项目仍在开发中, 并且它的很多代码都已经反馈回 FreeBSD操作系统, 只是二者的开发是独立进行的。

  • FreeSBIE 运行在CD-ROM上的完整的桌面操作系统, 他也能被安装, 但是对那些没有硬盘的计算机极其有用。

  • Frenzy 另一个“生活” (live-cd) 发行版, 只是为系统管理任务进行了定制。

  • PicoBSD 经过裁减定制的适应软盘的FreeBSD发行版。 特别适合于把没有硬盘的386 PC机改造成一个路由器或者网络打印机。 他是FreeBSD源代码树的一部分, 参见/usr/src/release/picobsd。

  • NanoBSD 又一个来自FreeBSD的项目, 它能对 FreeBSD 进行裁剪, 以便放到闪存卡或者其他大容量存储器中。 它是 FreeBSD 源代码树的一部分, 参见 /usr/src/tools/tools/nanobsd。

  • TinyBSD shell脚本组成的工具包, 以方便基于FreeBSD 5.x, 6.x的嵌入式开发。

  • ThinBSD 一个很小的基于FreeBSD的引导镜像, 允许标准PC作为微软windows RDP server 或者X 终端的无盘瘦客户机。 它完全通过DHCP(动态主机配置协议)来配置。

  • PC-BSD 继承自FreeBSD, 面向桌面, 它被社区设计成易于安装、受到较好的支持的操作操作系统

  • DesktopBSD 另一个继承自FreeBSD, 强调桌面易用性的操作系统。

  • Gentoo/FreeBSD 该项目移植他们自己的管理工具, 发挥FreeBSD的可信内核、userland长处的成果。 该项目完全不成熟, 是实验性质的。

  • m0n0wall 一个基于FreeBSD的具有很多昂贵防火墙才具有的特性 (比如web interface, reset to factorydefaults, stateful packet filtering, NAT/PAT redirection, DHCP client and server, cachingDNS forwarder and more) 的防火墙系统。

  • pfSense 是一种派生自 m0n0wall 的开源防火墙系统, 它完成了许多目标和特性, 例如 OpenBSD 的 Packet Filter (PF)、 FreeBSD 6.1、 用于提供高性能数据包队列的 ALTQ 支持, 以及一套集成的包管理系统, 用于为该环境扩展新的功能。

  • Whistle Interjet: 可以作为路由器、web服务器以其用途的网络工具, 并且可以配置成一个web浏览器, mailhost。它基于 FreeBSD, 并且在保持足够私有权以保持商业生存的条件下向 FreeBSD项目回馈了大量增强代码。

与DragonflyBSD,相似 ,OpenBSD不是一个从新发起的项目, 他源自NetBSD项目, 并且自分化出来那一天就一直在沿着自己的路径在发展着。


*BSD 可以作为一个很棒的服务器,但是是拙劣的 (UNIX®)桌面

*BSD 可以作为一个很棒的服务器,同样可以做为很优秀的桌面。 服务器必需要的很多东西(迅速响应用户请求,稳定性,系统资源的有效使用) 对于一个桌面机器来说同样是需要的。

*BSD 可以像 Linux 那样使用相同的桌面工具,KDE,GNOME,火狐浏览器, windowmanagers,以及 OpenOffice套件等办公应用程序。


The BSD 的codebase已经过于陈旧、过时, 并且正在死去。

虽然BSD的codebase 已经20多年了,不过他既没有过时, 更没有死去。 很多专业使用者喜爱FreeBSD提供的久经考验的稳定性。

技术方面的增强仍在不断地被加入到*BSD系统, 这些包括但是不限于:

  • SMP: 支持多CPU

  • SoftUpdates: 使得BSD的文件系统至少像 Linux 的文件系统一样快, 却 无需 引入 “异步写” 以及与之相关的风险。

  • 虚拟内存系统:虚拟内存子系统仍在改进。 整合的虚拟内存/缓存设计帮 wcarchive.cdrom.com 这样的系统承受住了成千上万个并发连接。

  • 支持的平台: FreeBSD 当前主要支持七种平台: Alpha、 AMD64、 i386、 安腾、 PC-98、 PowerPC 以及 UltraSPARC。 将该项目移植到其他平台的工作仍在进行中。参见支持的平台 获取更多信息。

  • MAC Framework: FreeBSD 支持强制访问控制, 一般在昂贵的可信的操作系统才能见到的特性。 FreeBSD为你免费提供高级安全。参见 TrustedBSD 项目 提供了更进一步的可信扩展。

  • GEOM classess: GEOM is a modular disk framework that lets you concatenate, mirror, stripe, or encrypt disks. It is rich in functionality and keeps your data safe.


The *BSD 诸项目彼此在斗争, 每星期都分化出不同群体

不!除了各自的用户者偶尔的激烈的争论以外, *BSD的开发者仍旧在彼此合作的工作着。 比如FreeBSD的alpha平台的移植最初就是高度基于NetBSD团队的工作的。 NetBSD,OpenBSD都使用FreeBSD的ports来管理各自的移植软件库。 FreeBSD,NetBSD都把OpenBSD 团队的安全修正集成到自己的系统中了

FreeBSD和NetBSD“分家”十年多了, OpenBSD与DragonflyBSD是过去 的十年中仅有的分化出来的项目。

*BSD诸项目在各个领域都合作的非常好。 比如,每月一次的出版物DaemonNews 就是四大项目成员合作的成果。


不能使用*BSD作集群系统 (并行计算)

如下的网址给出了反证;

需要指出的是: 如果要进行FreeBSD在集群方面的深入讨论, 可以使用邮件列表 freebsd-cluster


*BSD没有商业支持

FreeBSD:FreeBSD Commercial Vendors Page 列出了给FreeBSD 提供商业支持的公司

FreeBSD Mall 也提供商业支持, 诸如衬衫、帽子、书籍、软件,宣传等等。

培训方面,你可以试试BSDMall.com, 他们也卖其他的东西,比如衬衫、帽子、书籍、软件等等。相当值得一看。

OpenBSD: OpenBSD Commercial Consulting Page 列出了给OpenBSD提供商业支持的公司


*BSD没有应用程序

自由软件都可以在SunOS以及类似的主流的BSD上系统运行。 *BSD用户一般情况下可以无需作任何修改即可编译那些为其他类 unix系统编写的软件。

另外,每一个BSD项目都使用ports系统来管理软件, 使得编译移植软件库中软件极其简单。

FreeBSD: 当前移植软件库中有13000多个应用程序可以下载和安装。 在 i386 和 AMD64 平台上, 提供了 Linux 模拟层能够运行绝大多数 Linux 应用软件。 而在 AMD64 和 安腾(Itanium) 平台上, 则提供了用于运行 32 位 FreeBSD 二进制程序的兼容层。

NetBSD: Linux 模拟层可以运行大部分 i386平台 Linux 的应用程序, 并且大部分SunOS4应用程序能在SPARC工作站上运行。

OpenBSD: 当前移植软件库中大概有400多应用程序可以下载与使用。 Linux 模拟层运行大部分 i386平台的 Linux 程序大部分 SunOS4应用程序能在 SPARC工作站上运行。

用户只需很少的努力, NetBSD与OpenBSD就能够运行FreeBSD的移植软件库的程序。 他们很少的移植程序也说明了这一点。

大部分公司把它们的工作迁移到PC Unix平台时最先选择 Linux, 这是事实。 幸运地是, BSD 的 Linux 模拟层能够运行这些程序 (Acrobat, StarOffice,Mathematica, WordPerfect, Quake, Intel ICC compiler, Compaq's Alpha compiler ...) 即使出了问题,也容易解决。

作为一个有历史意义的注记: 带有 Java 支持的第一版 Netscape Navigator是 Linux 版的。 不过,现在你可以使用带有本地版 Java 插件的本地版 Mozilla 的, 那都可以很方便地从移植软件库编译!


*BSD比(另一个系统)更好

这仅是用户的观点。


(另一个系统)比*BSD更好

这仅是用户的观点。


贡献者

FreeBSD, NetBSD, 以及 OpenBSD 项目的一些成员对该文有所贡献;

Nik Clayton <nik@FreeBSD.org> Jordan Hubbard <jkh@FreeBSD.org>
Ian F. Darwin <ian@DarwinSys.com>
Adrian Filipi-Martin <adrian@ubergeeks.com>
Tom Rhodes <trhodes@FreeBSD.org>