in doc commit 39004 because of a broken link) due to the link in the TinyBSD README having been updated in src commit 236707. Approved by: gabor (mentor)
462 lines
19 KiB
Text
462 lines
19 KiB
Text
<!DOCTYPE HTML PUBLIC "-//FreeBSD//DTD HTML 4.01 Transitional-Based Extension//EN" [
|
|
<!ENTITY base CDATA "..">
|
|
<!ENTITY date "$FreeBSD$">
|
|
<!ENTITY title "FreeBSD Advocacy Project">
|
|
<!ENTITY % navinclude.about "INCLUDE">
|
|
<!ENTITY url.articles "../doc/en_US.ISO8859-1/articles">
|
|
]>
|
|
|
|
<html>
|
|
&header;
|
|
|
|
<p>As the BSD projects (DragonFlyBSD, FreeBSD, NetBSD, and OpenBSD) have grown in size,
|
|
a number of persistent myths have grown up around them. Some of these are
|
|
perpetuated by well meaning but misguided individuals, others by people
|
|
pursuing their own agendas.</p>
|
|
|
|
<p>This page aims to dispel those myths while remaining as dispassionate
|
|
as possible.</p>
|
|
|
|
<blockquote><b>Note:</b> Throughout this page, ``*BSD'' refers to all
|
|
four of the BSD Projects. Where a myth or response is specific to a
|
|
particular project it is indicated as such.</blockquote>
|
|
|
|
<blockquote>If you are aware of an omission or error on this page, please
|
|
let the maintainer, Tom Rhodes <<a href="mailto:trhodes@FreeBSD.org">trhodes@FreeBSD.org</a>>
|
|
know.</blockquote>
|
|
|
|
<h2>Index</h2>
|
|
|
|
<ul>
|
|
<li><a href="#closed-model">*BSD has a closed development model,
|
|
it's more ``Cathedral'' than ``Bazaar''</a></li>
|
|
|
|
<li><a href="#own-distro">You can't make your own distributions or
|
|
derivative works of *BSD</a></li>
|
|
|
|
<li><a href="#server">*BSD makes a great server, but a poor
|
|
desktop</a></li>
|
|
|
|
<li><a href="#old-codebase">The *BSD codebase is old, outdated, and
|
|
dying</a></li>
|
|
|
|
<li><a href="#bsd-war">The *BSD projects are at war with one
|
|
another, splinter groups form each week</a></li>
|
|
|
|
<li><a href="#clustering">You can't cluster *BSD systems (parallel
|
|
computing)</a></li>
|
|
|
|
<li><a href="#support">There's no commercial support for
|
|
*BSD</a></li>
|
|
|
|
<li><a href="#applications">There are no applications for
|
|
*BSD</a></li>
|
|
|
|
<li><a href="#beats">*BSD is better than (some other system)</a></li>
|
|
|
|
<li><a href="#beaten">(some other system) is better than *BSD</a></li>
|
|
</ul>
|
|
|
|
<h2>Myths</h2>
|
|
|
|
<h3><a name="closed-model">*BSD</a> has a closed development
|
|
model, it's more ``Cathedral'' than ``Bazaar''</h3>
|
|
|
|
<p>Eric Raymond wrote an influential paper, ``<a href="http://www.catb.org/~esr/writings/cathedral-bazaar/">The
|
|
Cathedral and the Bazaar</a>'' in which the Linux development model
|
|
(and the model Eric used for <tt>fetchmail</tt>) is held up as an
|
|
example of how to do ``open'' development. By contrast, the model
|
|
employed by *BSD is often characterized as closed.</p>
|
|
|
|
<p>The implicit value judgment is that ``bazaar'' (open) is good, and
|
|
``cathedral'' (closed) is bad.</p>
|
|
|
|
<p>If anything, *BSD's development model is probably
|
|
<strong>more</strong> akin to the ``bazaar'' that Eric describes than
|
|
either Linux or <tt>fetchmail</tt>.</p>
|
|
|
|
<p>Consider the following;</p>
|
|
|
|
<ul>
|
|
<li><p><b>All the *BSD projects:</b> The current, bleeding edge source
|
|
code for FreeBSD, NetBSD, and OpenBSD is available for anyone to download
|
|
from the Internet, 24 hours a day. You don't need to wait for
|
|
someone else to roll a release.</p>
|
|
|
|
<p><b>FreeBSD, NetBSD:</b> An installable snapshot of the current
|
|
progress is made every 24 hours. These snapshots can be installed
|
|
exactly like an ordinary release, and do not require installation
|
|
over an existing system.</p>
|
|
|
|
<p><b>OpenBSD:</b> Installable snapshots are generated daily and if
|
|
Theo thinks they are good enough, he uploads them to the mirrors.</p>
|
|
|
|
<p>Contrast this with Linux, where new kernel distributions are
|
|
made available on an ad-hoc basis, and where the frequency of
|
|
each Linux distribution release is at the whim of the individual
|
|
vendor.</p>
|
|
|
|
<p>There's none of the Linux fanfare every time a new kernel is
|
|
released, simply because for most *BSD users it is an every day
|
|
event.</p></li>
|
|
|
|
<li><p>All the *BSD Projects use CVS to maintain their source code.</p>
|
|
|
|
<p><b>All the *BSD Projects:</b> make a CVS tree available for anyone to
|
|
browse and download, 24 hours a day. The tree can be retrieved using
|
|
Anonymous CVS, CVSup, CVSupit, CTM (by e-mail), or through simple
|
|
FTP.</p></li>
|
|
|
|
<li><p>Anyone can submit patches, bug reports, documentation, and
|
|
other contributions. They can do this by using the <tt>send-pr</tt>
|
|
program installed on their *BSD system, or by using a web based
|
|
interface.</p>
|
|
|
|
<p>Pointers to this system litter the documentation.</p></li>
|
|
|
|
<li><p>Not everyone can commit code changes to the *BSD code. You
|
|
need to be a <EM>committer</EM> first. Typically, people are offered
|
|
``commit privs'' after they have made a few well-thought out
|
|
submissions to the project using <tt>send-pr</tt> or similar.</p>
|
|
|
|
<p>This is identical to the Linux mechanism. Only one person is
|
|
(notionally) allowed to change the Kernel, Linus. But specific areas
|
|
(such as the networking code) are delegated to other people.</p>
|
|
|
|
<p><i>Aside: Nik (nik@FreeBSD.org) is a case in point. After making
|
|
several submissions to the FreeBSD Documentation Project and
|
|
web pages, he was offered ``commit privs'' so that he did not
|
|
have to keep bothering other committers to commit the changes. He
|
|
never had to ask for them, they were freely given.</i></p></li>
|
|
</ul>
|
|
|
|
<hr noshade size="1">
|
|
|
|
<h3><a name="own-distro">You</a> cannot make your own distributions
|
|
or derivative works of *BSD</h3>
|
|
|
|
<p>You can. You just need to say in the documentation and source
|
|
files where the code is derived from. A bunch of derivative
|
|
projects exists:</p>
|
|
|
|
<ul>
|
|
<li><p><a href="http://www.dragonflybsd.org/">DragonflyBSD</a>
|
|
started as a code fork from
|
|
FreeBSD 4.X, but it has since its own user community and
|
|
development goals.</p></li>
|
|
|
|
<li><p><a href="http://www.trustedbsd.org/">TrustedBSD</a>
|
|
provides a set of trusted operating system
|
|
extensions to the FreeBSD operating system, targeting the
|
|
Common Criteria for Information Technology Security
|
|
Evaluation (CC). This project is still under development,
|
|
and much of the code is destined to make its way back into
|
|
the base FreeBSD operating system, but the development
|
|
takes place separately.<p></li>
|
|
|
|
<li><p><a href="http://www.hybrid-cluster.com/">Hybrid Cluster</a> is
|
|
a web cluster, based on FreeBSD and ZFS, which provides data
|
|
redundancy and automated load balancing of standard LAMP
|
|
websites and applications.
|
|
|
|
<li><p><a href="http://frenzy.org.ua/eng/">Frenzy</a> is
|
|
another live-CD distribution, but customized
|
|
for administering tasks. It contains software for hardware
|
|
tests, file system checks, security checks, network setup
|
|
and analysis.<p></li>
|
|
|
|
<li><p><a
|
|
href="http://www.FreeBSD.org/cgi/man.cgi?query=picobsd">PicoBSD</a>
|
|
is a tailored distribution of FreeBSD that fits
|
|
on a floppy. It is great for turning diskless 386 PC into a
|
|
router or a network print server. It is a part of the FreeBSD
|
|
source tree, see /usr/src/release/picobsd.</p></li>
|
|
|
|
<li><p><a href="&url.articles;/nanobsd/index.html">NanoBSD</a> is another
|
|
project to produce reduced versions
|
|
of FreeBSD to put it on a Compact Flash card or other mass
|
|
storage. It is also a part of the FreeBSD source tree, see
|
|
/usr/src/tools/tools/nanobsd.</p></li>
|
|
|
|
<li><p><a href="http://code.google.com/p/tinybsd/">TinyBSD</a> is
|
|
a set of tools made up of shell scripts designed to allow easy
|
|
development of Embedded Systems based on FreeBSD 5.x and
|
|
6.x.</p></li>
|
|
|
|
<li><p><a href="http://thinbsd.zefyris.com/">ThinBSD</a> is a small
|
|
FreeBSD based boot image that allows a standard PC to act as
|
|
a diskless thin client for a Microsoft Windows RDP server or
|
|
an X terminal. It is entirely configured via DHCP.</p></li>
|
|
|
|
<li><p><a href="http://www.pcbsd.org/">PC-BSD</a> is a desktop
|
|
oriented FreeBSD derivative. It is
|
|
intended to be easy to install and well-supported by its
|
|
community.</p></li>
|
|
|
|
<li><p><a href="http://www.desktopbsd.net/">DesktopBSD</a> is
|
|
another FreeBSD based operating system
|
|
customized for desktop usability.</p></li>
|
|
|
|
<li><p><a href="http://www.gentoo.org/proj/en/gentoo-alt/bsd/fbsd/index.xml">Gentoo/FreeBSD</a>
|
|
is an effort by the Gentoo Project to port their complete
|
|
administration facilities to take advantage of the reliable
|
|
FreeBSD kernel and userland. This project is purely
|
|
incomplete and experimental.</p></li>
|
|
|
|
<li><p><a href="http://www.m0n0.ch/wall/">m0n0wall</a> is
|
|
a FreeBSD based firewall system that has
|
|
many of the features of expensive firewalls like web
|
|
interface, reset to factory defaults, stateful packet
|
|
filtering, NAT/PAT redirection, DHCP client and server,
|
|
caching DNS forwarder and more.</p></li>
|
|
|
|
<li><p><a href="http://www.pfsense.com">pfSense</a> is an open source
|
|
firewall derived from the m0n0wall firewall system with several
|
|
different goals and features, such as OpenBSD's Packet Filter (PF),
|
|
FreeBSD 6.1, ALTQ support for excellent packet queuing and
|
|
finally an integrated package management system for extending the
|
|
environment with new features.</p></li>
|
|
|
|
<li><p>The Whistle Interjet: A ``network appliance'' that acts as a
|
|
router, web server, mailhost (and other functionality), and can be
|
|
configured using a web browser. The underlying operating system is
|
|
FreeBSD, and Whistle have contributed many of their code
|
|
enhancements back to the FreeBSD project (while keeping enough of
|
|
them proprietary that they can stay in business).</p></li>
|
|
|
|
</ul>
|
|
|
|
<p>Similarly to DragonflyBSD, OpenBSD was not a standalone project,
|
|
it started as a spinoff from the NetBSD project, and has since evolved
|
|
its own distinctive approach.</p>
|
|
|
|
<hr noshade size="1">
|
|
|
|
<h3><a name="server">*BSD</a> makes a great server, but a poor
|
|
(&unix;) desktop</h3>
|
|
|
|
<p>*BSD makes a great server. It also makes a great desktop. Many of
|
|
the requirements for a server (responsiveness under load, stability,
|
|
effective use of system resources) are the same requirements as for a
|
|
desktop machine.</p>
|
|
|
|
<p>*BSD has access to the same desktop tools (KDE, GNOME, Firefox,
|
|
windowmanagers) as Linux. And ``office'' applications such as
|
|
OpenOffice suite work under *BSD too.</p>
|
|
|
|
<hr noshade size="1">
|
|
|
|
<h3><a name="old-codebase">The</a> BSD codebase is old, outdated, and
|
|
dying</h3>
|
|
|
|
<p>While the BSD codebase may be more than 20 years old, it is neither
|
|
outdated nor dying. Many professional users like the stability that years
|
|
of testing has provided FreeBSD.</p>
|
|
|
|
<p>Technological enhancements continue to be added to *BSD, including,
|
|
but not limited to;</p>
|
|
|
|
<ul>
|
|
<li><p>SMP: Symmetric Multi-Processing, making use of systems with
|
|
multiple CPUs.</p></li>
|
|
|
|
<li><p>SoftUpdates: Makes the BSD filesystem at least as fast as the
|
|
Linux filesystem, <strong>without</strong> needing to enable
|
|
asynchronous writes, with their associated risk.</p></li>
|
|
|
|
<li><p>VM system: The VM (Virtual Memory) subsystem continues to be
|
|
refined. The merged VM/cache design helps systems like
|
|
wcarchive.cdrom.com juggle thousands (literally, more than 10,000)
|
|
simultaneous FTP connections without falling over.</p></li>
|
|
|
|
<li><p>Architecture ports: FreeBSD supports seven main architectures
|
|
currently: Alpha, AMD64, i386, Itanium, PC-98, PowerPC and UltraSPARC.
|
|
There are also ongoing works to port the project for further
|
|
architectures. See the <a
|
|
href="../platforms/index.html">Supported Platforms</a> page
|
|
for more information.</p></li>
|
|
|
|
<li><p>MAC Framework: FreeBSD supports Mandatory Access Control, a feature
|
|
usually found in trusted operating systems available for high
|
|
prices. FreeBSD gives you advanced security for free! The
|
|
<a href="http://www.trustedbsd.org">TrustedBSD Project</a>
|
|
provides further trusted operating system extensions.</p></li>
|
|
|
|
<li><p>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.</li>
|
|
|
|
</ul>
|
|
|
|
<hr noshade size="1">
|
|
|
|
<h3><a name="bsd-war">The</a> *BSD projects are at war with one another,
|
|
splinter groups form each week</h3>
|
|
|
|
<p>No. While occasional advocacy may get a touch heated, the *BSD flavors
|
|
continue to work with one another. FreeBSD's Alpha port was initially
|
|
heavily based on the work done by the NetBSD team. Both NetBSD and
|
|
OpenBSD used the FreeBSD ports collection to bootstrap their own port
|
|
sets. FreeBSD and NetBSD both integrate security fixes first discovered
|
|
by the OpenBSD team.</p>
|
|
|
|
<p>The FreeBSD and NetBSD projects separated more than ten years
|
|
ago. OpenBSD and DragonflyBSD are the only new BSD projects to
|
|
split off in the last ten years.</p>
|
|
|
|
<p>The *BSD projects cooperate in other areas as well. For example, the
|
|
monthly publication <a href="http://www.daemonnews.org/">DaemonNews</a>
|
|
is a collaborative effort by members of all four projects.</p>
|
|
|
|
<hr noshade size="1">
|
|
|
|
<h3><a name="clustering">You</a> can't cluster *BSD systems (parallel
|
|
computing)</h3>
|
|
|
|
<p>The following URLs should disprove this;</p>
|
|
|
|
<ul>
|
|
<li><a href="http://www.epm.ornl.gov/pvm/">http://www.epm.ornl.gov/pvm/</a>
|
|
The Parallel Virtual Machine is nothing more than a software package that makes
|
|
setting up a Cluster simple. The source code is freely available, and will run
|
|
on FreeBSD without much problem.</li>
|
|
|
|
<li><a href="http://www.scl.ameslab.gov/Projects/old/ClusterCookbook/">
|
|
http://www.scl.ameslab.gov/Projects/old/ClusterCookbook/</a></li>
|
|
|
|
<li><a href="http://people.freebsd.org/~brooks/papers/bsdcon2003/fbsdcluster/">
|
|
http://people.freebsd.org/~brooks/papers/bsdcon2003/fbsdcluster/</a>
|
|
Brooks Davis's paper about the implementation of a FreeBSD
|
|
cluster with more than 300 CPU's</li>
|
|
|
|
<li><a href="http://www.onlamp.com/pub/a/bsd/2004/07/01/freesbie.html">
|
|
http://www.onlamp.com/pub/a/bsd/2004/07/01/freesbie.html</a>
|
|
Building a Web Cluster with FreeSBIE (a FreeBSD derivative
|
|
live-CD system)</li>
|
|
|
|
<li><a href="http://www.openbsd.org/faq/pf/carp.html">
|
|
http://www.openbsd.org/faq/pf/carp.html</a>
|
|
OpenBSD's Common Address Redundancy Protocol (CARP) to
|
|
build redundant clusters at the level of the firewall</li>
|
|
|
|
<li><a href="http://www.countersiege.com/doc/pfsync-carp">
|
|
http://www.countersiege.com/doc/pfsync-carp</a>
|
|
A good explanation of CARP</li>
|
|
|
|
<li><a href="http://pf4freebsd.love2party.net/carp.html">
|
|
http://pf4freebsd.love2party.net/carp.html</a>
|
|
OpenBSD's CARP ported to FreeBSD</li>
|
|
|
|
</ul>
|
|
|
|
<p>Note, that
|
|
<a href="mailto:freebsd-cluster@FreeBSD.org">freebsd-cluster</a>
|
|
mailing list is available for further discussion about
|
|
clustering of FreeBSD.</p>
|
|
|
|
<hr noshade size="1">
|
|
|
|
<h3><a name="support">There's no commercial support for *BSD</a></h3>
|
|
|
|
<p><b>FreeBSD:</b> The <a href="../commercial/consult_bycat.html">FreeBSD
|
|
Commercial Vendors Page</a> lists companies that offer commercial
|
|
support for FreeBSD.</p>
|
|
|
|
<p>The <a href="http://www.freebsdmall.com">FreeBSD
|
|
Mall</a> also offer commercial support, along with shirts,
|
|
hats, books, software, and promotional items.</p>
|
|
|
|
<p>For training, one might try <a href="http://www.bsdmall.com/">BSDMall.com</a>, but they sell
|
|
other items too, like shirts, hats, books and software! Definitely worth a look.</p>
|
|
|
|
<p><b>OpenBSD:</b> The <a href="http://www.openbsd.org/support.html">OpenBSD Commercial
|
|
Consulting Page</a> lists companies that offer commercial support for
|
|
OpenBSD.</p>
|
|
|
|
<hr noshade size="1">
|
|
|
|
<h3><a name="applications">There</a> are no applications for *BSD</h3>
|
|
|
|
<p>The free software community started running on predominantly BSD
|
|
systems (SunOS and similar). *BSD users can generally compile software
|
|
written for these systems without needing to make any changes.</p>
|
|
|
|
<p>In addition, each *BSD project uses a ``ports'' system to make the
|
|
building of ported software much easier.</p>
|
|
|
|
<p><b>FreeBSD:</b> There are currently more than 16,000
|
|
applications ready to download and install in the FreeBSD ports
|
|
collection. On i386 and AMD64, the Linux emulation layer will
|
|
also run the vast majority of Linux applications. On the AMD64 and Itanium
|
|
architectures there is a compatibility layer to run 32-bit FreeBSD binaries.</p>
|
|
|
|
<p><b>NetBSD:</b> The Linux emulation layer will run the vast majority of
|
|
i386 Linux applications, and the majority of SunOS4 applications can be
|
|
run on a SPARCStation.</p>
|
|
|
|
<p><b>OpenBSD:</b> There are currently more than 3700 applications
|
|
ready to download and install in the OpenBSD ports collection. The Linux
|
|
emulation layer will also run the vast majority of i386 Linux
|
|
applications, and the majority of SunOS4 applications can be run on a
|
|
SPARCStation.</p>
|
|
|
|
<p>Both NetBSD and OpenBSD are able to use applications in FreeBSD's ports
|
|
collection with minimal effort. Their lower number of ported
|
|
applications reflects this.</p>
|
|
|
|
<p>It is true that most companies when porting to PC Unix will choose Linux
|
|
first. Fortunately, *BSD's Linux emulation layer will run these
|
|
programs (Acrobat, StarOffice, Mathematica, WordPerfect, Quake, Intel
|
|
ICC compiler, Compaq's Alpha compiler ...)
|
|
with few, if any, problems.</p>
|
|
|
|
<p>As a historical note, the first version of Netscape Navigator that ran
|
|
on FreeBSD with Java support was the Linux version. Now you can
|
|
also use a native FreeBSD version of Mozilla with a native Java
|
|
plugin, all compiled conveniently from the ports!</p>
|
|
|
|
<hr noshade size="1">
|
|
|
|
<h3><a name="beats">*BSD</a> is better than (insert other system)</h3>
|
|
|
|
<p>This is user opinion only.</p>
|
|
|
|
<hr noshade size="1">
|
|
|
|
<h3><a name="beaten">(insert some</a> other system) is better than *BSD</h3>
|
|
|
|
<p>This is user opinion only.</p>
|
|
|
|
<hr noshade size="1">
|
|
|
|
<h2>Contributors</h2>
|
|
|
|
<p>Members of the FreeBSD, NetBSD, and OpenBSD projects have contributed
|
|
to this page;</p>
|
|
|
|
<table width="100%">
|
|
<tbody>
|
|
<tr>
|
|
<td>Nik Clayton
|
|
<<a href="mailto:nik@FreeBSD.org">nik@FreeBSD.org</a>></td>
|
|
<td>Jordan Hubbard
|
|
<<a href="mailto:jkh@FreeBSD.org">jkh@FreeBSD.org</a>></td>
|
|
</tr>
|
|
<tr>
|
|
<td>Ian F. Darwin
|
|
<<a href="mailto:ian@DarwinSys.com">ian@DarwinSys.com</a>></td>
|
|
<tr>
|
|
<td>Adrian Filipi-Martin
|
|
<<a href="mailto:adrian@ubergeeks.com">adrian@ubergeeks.com</a>></td>
|
|
</tr>
|
|
<tr>
|
|
<td>Tom Rhodes
|
|
<<a href="mailto:trhodes@FreeBSD.org">trhodes@FreeBSD.org</a>></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
|
|
&footer;
|
|
</body>
|
|
</html>
|