doc/en/advocacy/myths.sgml
Giorgos Keramidas 96635df6eb Make sure that href="#support" has somewhere to point to.
Submitted by:	Rostislav Krasny <rosti_bsd@yahoo.com>
		on freebsd-www
2003-01-27 02:19:38 +00:00

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 &lt;<a href="mailto:trhodes@FreeBSD.org">trhodes@FreeBSD.org</a>&gt;
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
&lt;<a href="mailto:nik@freebsd.org">nik@FreeBSD.ORG</a>&gt;</td>
<td>Jordan Hubbard
&lt;<a href="mailto:jkh@freebsd.org">jkh@FreeBSD.ORG</a>&gt;</td>
</tr>
<tr>
<td>Ian F. Darwin
&lt;<a href="mailto:ian@DarwinSys.com">ian@DarwinSys.com</a>&gt;</td>
<tr>
<td>Adrian Filipi-Martin
&lt;<a href="mailto:adrian@ubergeeks.com">adrian@ubergeeks.com</a>&gt;</td>
</tr>
<tr>
<td>Tom Rhodes
&lt;<a href="mailto:trhodes@FreeBSD.org">trhodes@FreeBSD.org</a></td>
</tr>
</tbody>
</table>
&footer
</body>
</html>