aboutsummaryrefslogtreecommitdiff
path: root/en/advocacy/myths.sgml
blob: 40fd80b102f13afd9f40c294a36392f09dc73670 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" [
<!ENTITY base CDATA "..">
<!ENTITY date "$FreeBSD: www/en/advocacy/myths.sgml,v 1.32 2006/01/09 09:27:09 pav Exp $">
<!ENTITY title "FreeBSD Advocacy Project">
<!ENTITY % navincludes SYSTEM "../includes.navabout.sgml"> %navincludes;
<!ENTITY % includes SYSTEM "../includes.sgml"> %includes;
]>

<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 &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="#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 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>

    <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.freesbie.org/">FreeSBIE</a> is
	  a complete desktop running off the CD-ROM.
	  It can also be installed, but extremely useful for diskless
	  computers.</p></li>

	<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="../projects/nanobsd/">NanoBSD</a> is another
	  project to produce a 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://www.tinybsd.org/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://www.thinbsd.org/">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.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>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 13,000
      applications ready to download and install in the FreeBSD ports
      collection. On i386, AMD64 and Alpha, 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 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="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>&gt;</td>
</tr>
</tbody>
</table>


    &footer;
  </body>
</html>