390 lines
16 KiB
Text
390 lines
16 KiB
Text
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" [
|
|
<!ENTITY base CDATA "..">
|
|
<!ENTITY title "FreeBSD Advocacy Project">
|
|
<!ENTITY % includes SYSTEM "../includes.sgml"> %includes;
|
|
]>
|
|
|
|
<html>
|
|
&header;
|
|
|
|
<p>As the BSD projects (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
|
|
three 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="#aout">*BSD uses the a.out executable format, which is
|
|
outdated technology</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.tuxedo.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 as and when
|
|
people request on the OpenBSD mailing lists.</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>
|
|
|
|
<p>Also, see this article written by Jordan Hubbard in Performance
|
|
Computing, titled <a href="http://www.performance-computing.com/features/9810of1.shtml">What is FreeBSD?</a></p>
|
|
|
|
<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.</p>
|
|
|
|
<p>For example, PicoBSD is a tailored distribution of FreeBSD that
|
|
fits on a floppy. It's great for turning a diskless 386 PC into a
|
|
router or a network print server.</p>
|
|
|
|
<p>The Whistle Interjet is 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>
|
|
|
|
<p>The OpenBSD project 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,
|
|
windowmanagers) as Linux. And ``office'' applications such as
|
|
WordPerfect or StarOffice work under BSD's Linux emulation
|
|
layer.</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 or 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: Ports of *BSD are under way or already exist
|
|
on many other architectures, including UltraSPARC, Alpha, and PowerPC.
|
|
NetBSD and OpenBSD both have more architecture ports than FreeBSD, which
|
|
is, at the time of writing, running on i386, Alpha and
|
|
UltraSPARC.</p></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>This cooperation extends to the commercial company BSDi, who graciously
|
|
donated their DOS emulation layer to FreeBSD.</p>
|
|
|
|
<p>The FreeBSD and NetBSD projects separated more than five years
|
|
ago. OpenBSD is the only new BSD project to split off in the last five
|
|
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 three 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://cubix.desy.de/General/bsd/bsd.html">http://cubix.desy.de/General/bsd/bsd.html</a></li>
|
|
|
|
<li><a href="http://acme.ecn.purdue.edu/">http://acme.ecn.purdue.edu/</a>
|
|
Advanced Computer Matrix for Engineering (ACME) which runs the FreeBSD Operating System.</li>
|
|
|
|
<li><a href="http://www.scl.ameslab.gov/workshops/Talks/Mikler/mikler.html">
|
|
http://www.scl.ameslab.gov/workshops/Talks/Mikler/mikler.html</a></li>
|
|
|
|
<li><a href="http://www.scope.gmd.de/info/www6/technical/paper196/paper196.html">
|
|
http://www.scope.gmd.de/info/www6/technical/paper196/paper196.html</a>NetBSD for Clusters!</li>
|
|
|
|
<li><a href="http://www.ccrc.wustl.edu/~milind/MediaServers.html">
|
|
http://www.ccrc.wustl.edu/~milind/MediaServers.html</a></li>
|
|
|
|
<li><a href="http://daily.daemonnews.org/view_story.php3?story_id=964">
|
|
http://daily.daemonnews.org/view_story.php3?story_id=964</a>
|
|
Daemon News Posting, quick talk about Clustering</li>
|
|
|
|
<li><a href="http://www.scl.ameslab.gov/Projects/ClusterCookbook/index.html">
|
|
http://www.scl.ameslab.gov/Projects/ClusterCookbook/index.html</a></li>
|
|
</ul>
|
|
<p>In addition to this, Tom Rhodes is currently writing an article designed to walk a user through setting up
|
|
a Parallel Computing environment using FreeBSD and other utilities. Keep an eye out for this article in late
|
|
2002 early 2003.</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="http://www.freebsd.org/commercial/consulting.html">FreeBSD
|
|
Commercial Consulting 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 6,000
|
|
applications ready to download and install in the FreeBSD ports
|
|
collection. On both the i386 and Alpha, the Linux emulation layer will
|
|
also run the vast majority of Linux applications.</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 slightly more than 400 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="aout">*BSD</a> uses the a.out executable format, which is
|
|
outdated technology</h3>
|
|
|
|
<p><b>FreeBSD:</b> Quite a while ago (before 1998) FreeBSD used the a.out
|
|
format by default. There were no pressing reasons to switch earlier. In
|
|
particular, FreeBSD did not (and does not) have the problems building
|
|
shared libraries that spurred the Linux conversion from a.out to ELF. As
|
|
of FreeBSD version 3.0, FreeBSD uses the ELF executable format.</p>
|
|
|
|
<p>Check out the wonderful article that Tom Rhodes wrote about upgrading
|
|
an a.out to ELF system, it has information on the way FreeBSD uses a.out and
|
|
ELF, along with tons of other useful information. The html version can be found here:
|
|
<a href="http://www.Pittgoth.com/~darklogik/aout/article.html">
|
|
http://www.Pittgoth.com/~darklogik/aout/article.html</a>, but its also available in
|
|
the PDF (article.pdf), dvi (article.dvi), postscript (article.ps), sgml (article.sgml),
|
|
and TeX (article.tex) versions. Just change the extension as appropriate.</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>
|