aboutsummaryrefslogtreecommitdiff
path: root/en_US.ISO8859-1/articles/explaining-bsd/article.xml
blob: a3651ee5c4b98310149596e5c14ee4a1412d112e (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
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN"
	"http://www.FreeBSD.org/XML/share/xml/freebsd50.dtd">
<!-- $FreeBSD$ -->
<!-- The FreeBSD Documentation Project -->
<article xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:lang="en">
  <info><title>Explaining BSD</title>
    

    <author><personname><firstname>Greg</firstname><surname>Lehey</surname></personname><affiliation>
	<address><email>grog@FreeBSD.org</email></address>
      </affiliation></author>

    <legalnotice xml:id="trademarks" role="trademarks">
      &tm-attrib.freebsd;
      &tm-attrib.amd;
      &tm-attrib.apple;
      &tm-attrib.intel;
      &tm-attrib.linux;
      &tm-attrib.opengroup;
      &tm-attrib.sparc;
      &tm-attrib.sun;
      &tm-attrib.unix;
      &tm-attrib.general;
    </legalnotice>

    <pubdate>$FreeBSD$</pubdate>

    <releaseinfo>$FreeBSD$</releaseinfo>

    <abstract>
      <para>In the open source world, the word <quote>Linux</quote> is almost
	synonymous with <quote>Operating System</quote>, but it is not the only
	open source &unix; operating system.  According
	to the <link xlink:href="http://www.leb.net/hzo/ioscount/data/r.9904.txt">Internet
	  Operating System Counter</link>, as of April 1999 31.3% of the
	world's network connected machines run Linux.  14.6% run BSD &unix;.
	Some of the world's largest web operations, such as <link xlink:href="http://www.yahoo.com/">Yahoo!</link>, run BSD.  The world's
	busiest FTP server of 1999 (now defunct), <link xlink:href="ftp://ftp.cdrom.com/">ftp.cdrom.com</link>, used BSD to
	transfer 1.4 TB of data a day.    Clearly this is not a niche
	market: BSD is a well-kept secret.</para>

      <para>So what is the secret?  Why is BSD not better known?  This white
	paper addresses these and other questions.</para>

      <para>Throughout this paper, differences between BSD and Linux will be
	noted <emphasis>like this</emphasis>.</para>
    </abstract>
  </info>

  <sect1 xml:id="what-is-bsd">
    <title>What is BSD?</title>

    <para>BSD stands for <quote>Berkeley Software Distribution</quote>.  It is
      the name of distributions of source code from the University of
      California, Berkeley, which were originally extensions to AT&amp;T's
      Research &unix; operating system.  Several open source operating system
      projects are based on a release of this source code known as
      4.4BSD-Lite.  In addition, they comprise a number of packages from other
      Open Source projects, including notably the GNU project.  The overall
      operating system comprises:</para>

    <itemizedlist>
      <listitem>
	<para>The BSD kernel, which handles process scheduling, memory
	  management, symmetric multi-processing (SMP), device drivers,
	  etc.</para>

	<para><emphasis>Unlike the Linux kernel, there are several different
	    BSD kernels with differing capabilities.</emphasis></para>
      </listitem>

      <listitem>
	<para>The C library, the base API for the system.</para>

	<para><emphasis>The BSD C library is based on code from Berkeley, not
	    the GNU project.</emphasis></para>
      </listitem>

      <listitem>
	<para>Utilities such as shells, file utilities, compilers and
	  linkers.</para>

	<para><emphasis>Some of the utilities are derived from the GNU
	    project, others are not.</emphasis></para>
      </listitem>

      <listitem>
	<para>The X Window system, which handles graphical display.</para>

	<para>The X Window system used in most versions of BSD is maintained
	  by the
	  <link xlink:href="http://www.X.org/">X.Org project</link>.
	  &os; allows the user to choose from a variety of desktop
	  environments, such as <application>Gnome</application>,
	  <application>KDE</application>, or <application>Xfce</application>;
	  and lightweight window managers like
	  <application>Openbox</application>,
	  <application>Fluxbox</application>, or
	  <application>Awesome</application>.</para>
      </listitem>

      <listitem>
	<para>Many other programs and utilities.</para>
      </listitem>
    </itemizedlist>
  </sect1>

  <sect1 xml:id="what-a-real-unix">
    <title>What, a real &unix;?</title>

    <para>The BSD operating systems are not clones, but open source
      derivatives of AT&amp;T's Research &unix; operating system, which is also
      the ancestor of the modern &unix; System V.  This may surprise you.  How
      could that happen when AT&amp;T has never released its code as open
      source?</para>

    <para>It is true that AT&amp;T &unix; is not open source, and in a copyright
      sense BSD is very definitely <emphasis>not</emphasis> &unix;, but on the
      other hand, AT&amp;T has imported sources from other projects,
      noticeably the Computer Sciences Research Group (CSRG) of the University of
      California in Berkeley, CA.  Starting in 1976, the CSRG started
      releasing tapes of their software, calling them <emphasis>Berkeley
	Software Distribution</emphasis> or <emphasis>BSD</emphasis>.</para>

    <para>Initial BSD releases consisted mainly of user programs, but that
      changed dramatically when the CSRG landed a contract with the Defense
      Advanced Research Projects Agency (DARPA) to upgrade the communications
      protocols on their network, ARPANET.  The new protocols were known as
      the <emphasis>Internet Protocols</emphasis>, later
      <emphasis>TCP/IP</emphasis> after the most important protocols.  The
      first widely distributed implementation was part of 4.2BSD, in
      1982.</para>

    <para>In the course of the 1980s, a number of new workstation companies
      sprang up. Many preferred to license &unix; rather than developing
      operating systems for themselves.  In particular, Sun Microsystems
      licensed &unix; and implemented a version of 4.2BSD, which they called
      &sunos;.  When AT&amp;T themselves were allowed to sell &unix; commercially,
      they started with a somewhat bare-bones implementation called System
      III, to be quickly followed by System V.  The System V code base did not
      include networking, so all implementations included additional software
      from the BSD, including the TCP/IP software, but also utilities such as
      the <emphasis>csh</emphasis> shell and the <emphasis>vi</emphasis>
      editor.  Collectively, these enhancements were known as the
      <emphasis>Berkeley Extensions</emphasis>.</para>

    <para>The BSD tapes contained AT&amp;T source code and thus required a
      &unix; source license.  By 1990, the CSRG's funding was running out, and
      it faced closure. Some members of the group decided to release the BSD
      code, which was Open Source, without the AT&amp;T proprietary code.
      This finally happened with the <emphasis>Networking Tape 2</emphasis>,
      usually known as <emphasis>Net/2</emphasis>.  Net/2 was not a complete
      operating system: about 20% of the kernel code was missing.  One of the
      CSRG members, William F. Jolitz, wrote the remaining code and released
      it in early 1992 as <emphasis>386BSD</emphasis>.  At the same time,
      another group of ex-CSRG members formed a commercial company called
      <link xlink:href="http://www.bsdi.com/">Berkeley Software Design Inc.</link>
      and released a beta version of an operating system called
      <link xlink:href="http://www.bsdi.com/">BSD/386</link>, which was based on
      the same sources.  The name of the operating system was later changed
      to BSD/OS.</para>

    <para>386BSD never became a stable operating system.  Instead, two other
      projects split off from it in 1993:
      <link xlink:href="http://www.NetBSD.org/">NetBSD</link> and
      <link xlink:href="&url.base;/index.html">FreeBSD</link>.  The two projects
      originally diverged due to differences in patience waiting for
      improvements to 386BSD: the NetBSD people started early in the year,
      and the first version of FreeBSD was not ready until the end of the
      year.  In the meantime, the code base had diverged sufficiently to
      make it difficult to merge.  In addition, the projects had different
      aims, as we will see below.  In 1996,
      <link xlink:href="http://www.OpenBSD.org/">OpenBSD</link> split off from
	NetBSD, and in 2003,
      <link xlink:href="http://www.dragonflybsd.org/">DragonFlyBSD</link> split
	off from FreeBSD.</para>
  </sect1>

  <sect1 xml:id="why-is-bsd-not-better-known">
    <title>Why is BSD not better known?</title>

    <para>For a number of reasons, BSD is relatively unknown:</para>

    <orderedlist>
      <listitem>
	<para>The BSD developers are often more interested in polishing their
	  code than marketing it.</para>
      </listitem>

      <listitem>
	<para>Much of Linux's popularity is due to factors external to the
	  Linux projects, such as the press, and to companies formed to
	  provide Linux services.  Until recently, the open source BSDs had no
	  such proponents.</para>
      </listitem>

      <listitem>
	<para>BSD developers tend to be more experienced than Linux
	  developers, and have less interest in making the system easy to use.
	  Newcomers tend to feel more comfortable with Linux.</para>
      </listitem>

      <listitem>
	<para>In 1992, AT&amp;T sued
	  <link xlink:href="http://www.bsdi.com/">BSDI</link>,
	  the vendor of BSD/386, alleging that the product contained
	  AT&amp;T-copyrighted code.  The case was settled out of court in
	  1994, but the spectre of the litigation continues to haunt people.
	  In March 2000 an article published on the web claimed
	  that the court case had been <quote>recently settled</quote>.</para>

	<para>One detail that the lawsuit did clarify is the naming: in the
	  1980s, BSD was known as <quote>BSD &unix;</quote>.  With the
	  elimination of the last vestige of AT&amp;T code from BSD, it
	  also lost the right to the name &unix;.  Thus you will see
	  references in book titles to <quote>the 4.3BSD &unix; operating
	    system</quote> and <quote>the 4.4BSD operating
	    system</quote>.</para>
      </listitem>
    </orderedlist>
  </sect1>

  <sect1 xml:id="comparing-bsd-and-linux">
    <title>Comparing BSD and Linux</title>

    <para>So what is really the difference between, say, Debian Linux and
      FreeBSD?  For the average user, the difference is surprisingly small:
      Both are &unix; like operating systems.  Both are developed by
      non-commercial projects (this does not apply to many other Linux
      distributions, of course).  In the following section, we will look at BSD
      and compare it to Linux.  The description applies most closely to
      FreeBSD, which accounts for an estimated 80% of the BSD installations,
      but the differences from NetBSD, OpenBSD and DragonFlyBSD are small.
      </para>

    <sect2>
      <title>Who owns BSD?</title>

      <para>No one person or corporation owns BSD. It is created and
	distributed by a community of highly technical and committed
	contributors all over the world. Some of the components of BSD are
	Open Source projects in their own right and managed by different
	project maintainers.</para>
    </sect2>

    <sect2>
      <title>How is BSD developed and updated?</title>

      <para>The BSD kernels are developed and updated following the Open
	Source development model.  Each project maintains a publicly
	accessible <emphasis>source tree</emphasis> under
	<link xlink:href="https://subversion.apache.org/">Subversion</link>
	(SVN), which contains all source files for the
	project, including documentation and other incidental files.  SVN
	allows users to <quote>check out</quote> (in other words, to
	extract a copy of) any desired version of the system.</para>

      <para>A large number of developers worldwide contribute to improvements
	to BSD.  They are divided into three kinds:</para>

      <itemizedlist>
	<listitem>
	  <para><firstterm>Contributors</firstterm> write code or documentation.
	    They are not permitted to commit (add code) directly to the source
	    tree.  In order for their code to be included in the system, it
	    must be reviewed and checked in by a registered developer, known
	    as a <emphasis>committer</emphasis>.</para>
	</listitem>

	<listitem>
	  <para><firstterm>Committers</firstterm> are developers with write
	    access to the source tree.  In order to become a committer, an
	    individual must show ability in the area in which they are
	    active.</para>

	  <para>
	    It is at the individual committer's discretion whether they should
	    obtain authority before committing changes to the source tree.  In
	    general, an experienced committer may make changes which are
	    obviously correct without obtaining consensus.  For example, a
	    documentation project committer may correct typographical or
	    grammatical errors without review.  On the other hand, developers
	    making far-reaching or complicated changes are expected to submit
	    their changes for review before committing them.  In extreme
	    cases, a core team member with a function such as Principal
	    Architect may order that changes be removed from the tree, a
	    process known as <firstterm>backing out</firstterm>.  All committers
	    receive mail describing each individual commit, so it is not
	    possible to commit secretly.</para>
	</listitem>

	<listitem>
	  <para>The <firstterm>Core team</firstterm>.  FreeBSD and
	    NetBSD each have a core team which manages the project.  The
	    core teams developed in the course of the projects, and their role
	    is not always well-defined.  It is not necessary to be a developer
	    in order to be a core team member, though it is normal.  The rules
	    for the core team vary from one project to the other, but in
	    general they have more say in the direction of the project than
	    non-core team members have.</para>
	</listitem>
      </itemizedlist>

      <para>This arrangement differs from Linux in a number of ways:</para>

      <orderedlist>
	<listitem>
	  <para>No one person controls the content of the system.  In
	    practice, this difference is overrated, since the Principal Architect
	    can require that code be backed out, and even in the Linux project
	    several people are permitted to make changes.</para>
	</listitem>

	<listitem>
	  <para>On the other hand, there <emphasis>is</emphasis> a central
	    repository, a single place where you can find the entire operating
	    system sources, including all older versions.</para>
	</listitem>

	<listitem>
	  <para>BSD projects maintain the entire <quote>Operating
	      System</quote>, not only the kernel. This distinction is only
	    marginally useful: neither BSD nor Linux is useful without
	    applications.  The applications used under BSD are frequently the
	    same as the applications used under Linux.</para>
	</listitem>

	<listitem>
	  <para>As a result of the formalized maintenance of a single SVN
	    source tree, BSD development is clear, and it is possible to
	    access any version of the system by release number or by date.
	    SVN also allows incremental updates to the system: for example,
	    the FreeBSD repository is updated about 100 times a day.  Most of
	    these changes are small.</para>
	</listitem>
      </orderedlist>
    </sect2>

    <sect2>
      <title>BSD releases</title>

      <para>FreeBSD, NetBSD and OpenBSD provide the system in three different
	<quote>releases</quote>.  As with Linux, releases are assigned a
	number such as 1.4.1 or 3.5.  In addition, the version number has a
	suffix indicating its purpose:</para>

      <orderedlist>
	<listitem>
	  <para>The development version of the system is called
	    <firstterm>CURRENT</firstterm>.  FreeBSD assigns a number to
	    CURRENT, for example FreeBSD 5.0-CURRENT.  NetBSD uses a slightly
	    different naming scheme and appends a single-letter suffix which
	    indicates changes in the internal interfaces, for example NetBSD
	    1.4.3G.  OpenBSD does not assign a number (<quote>OpenBSD-current</quote>).
	    All new development on the system goes into this branch.</para>
	</listitem>

	<listitem>
	  <para>At regular intervals, between two and four times a year, the
	    projects bring out a <firstterm>RELEASE</firstterm> version of the
	    system, which is available on CD-ROM and for free download from
	    FTP sites, for example OpenBSD 2.6-RELEASE or NetBSD 1.4-RELEASE.
	    The RELEASE version is intended for end users and is the normal
	    version of the system.  NetBSD also provides <emphasis>patch
	      releases</emphasis> with a third digit, for example NetBSD
	    1.4.2.</para>
	</listitem>

	<listitem>
	  <para>As bugs are found in a RELEASE version, they are fixed, and
	    the fixes are added to the SVN tree.  In FreeBSD, the resultant
	    version is called the <firstterm>STABLE</firstterm> version, while in NetBSD and OpenBSD
	    it continues to be called the RELEASE version.  Smaller new
	    features can also be added to this branch after a period of test
	    in the CURRENT branch.</para>
	</listitem>
      </orderedlist>

      <para><emphasis>By contrast, Linux maintains two separate code trees:
	  the stable version and the development version.  Stable versions
	  have an even minor version number, such as 2.0, 2.2 or 2.4.
	  Development versions have an odd minor version number, such as 2.1,
	  2.3 or 2.5.  In each case, the number is followed by a further
	  number designating the exact release.  In addition, each vendor adds
	  their own userland programs and utilities, so the name of the
	  distribution is also important.  Each distribution vendor also
	  assigns version numbers to the distribution, so a complete
	  description might be something like <quote>TurboLinux 6.0 with kernel
	  2.2.14</quote></emphasis></para>
    </sect2>

    <sect2>
      <title>What versions of BSD are available?</title>

      <para>In contrast to the numerous Linux distributions, there are only
        four major open source BSDs.  Each BSD project maintains its own source
	tree and its own kernel.  In practice, though, there appear to be
	fewer divergences between the userland code of the projects than there
	is in Linux.</para>

      <para>It is difficult to categorize the goals of each project: the
	differences are very subjective.  Basically,</para>

      <itemizedlist>
	<listitem>
	  <para>&os; aims for high performance and ease of use by
	    end users, and is a favourite of web content providers.  It runs
	    on a <link xlink:href="&url.base;/platforms/">number of platforms</link>
	    and has significantly more users than the other projects.</para>
	</listitem>

	<listitem>
	  <para>NetBSD aims for maximum portability: <quote>of course it runs
	      NetBSD</quote>.  It runs on machines from palmtops to large
	    servers, and has even been used on NASA space missions.  It is a
	    particularly good choice for running on old non-&intel;
	    hardware.</para>
	</listitem>

	<listitem>
	  <para>OpenBSD aims for security and code purity: it uses a
	    combination of the open source concept and rigorous code reviews
	    to create a system which is demonstrably correct, making it the
	    choice of security-conscious organizations such as banks, stock
	    exchanges and US Government departments.  Like NetBSD, it runs on
	    a number of platforms.</para>
	</listitem>

	<listitem>
	  <para>DragonFlyBSD aims for high performance and scalability under
	    everything from a single-node UP system to a massively clustered system.
	    DragonFlyBSD has several long-range technical goals, but focus lies on
	    providing a SMP-capable infrastructure that is easy to understand,
	    maintain and develop for.</para>
	</listitem>
      </itemizedlist>

      <para>There are also two additional BSD &unix; operating systems which are not
	open source, BSD/OS and Apple's &macos; X:</para>

      <itemizedlist>
	<listitem>
	  <para>BSD/OS was the oldest of the 4.4BSD derivatives.  It
	    was not open source, though source code licenses were
	    available at relatively low cost.  It resembled FreeBSD in
	    many ways.  Two years after the acquisition of BSDi by
	    Wind River Systems, BSD/OS failed to survive as an
	    independent product.  Support and source code may still
	    be available from Wind River, but all new development is
	    focused on the VxWorks embedded operating system.</para>
	</listitem>

	<listitem>
	  <para><link xlink:href="http://www.apple.com/macosx/server/">&macos;
	      X</link> is the latest version of the operating system for
	      &apple;'s
	      &mac; line.  The BSD core of this operating
	      system, <link xlink:href="http://developer.apple.com/darwin/">Darwin</link>,
	      is available as a fully functional open source operating
	      system for x86 and PPC computers.  The Aqua/Quartz
	      graphics system and many other proprietary aspects of
	      &macos; X remain closed-source, however.  Several Darwin
	      developers are also FreeBSD committers, and
	      vice-versa.</para>
	</listitem>
      </itemizedlist>
    </sect2>

    <sect2>
      <title>How does the BSD license differ from the GNU Public
	license?</title>

      <para>Linux is available under the
	<link xlink:href="http://www.fsf.org/copyleft/gpl.html">GNU General Public
	  License</link> (GPL), which is designed to eliminate closed
	source software.  In particular, any derivative work of a product
	released under the GPL must also be supplied with source code if
	requested.  By contrast, the
	<link xlink:href="http://www.opensource.org/licenses/bsd-license.html">BSD
	  license</link> is less restrictive: binary-only distributions are
	  allowed.  This is particularly attractive for embedded
	  applications.</para>
    </sect2>

    <sect2>
      <title>What else should I know?</title>

      <para>Since fewer applications are available for BSD than Linux, the BSD
	developers created a Linux compatibility package, which allows Linux
	programs to run under BSD.  The package includes both kernel
	modifications, in order to correctly perform Linux system calls, and
	Linux compatibility files such as the C library. There is no
	noticeable difference in execution speed between a Linux application
	running on a Linux machine and a Linux application running on a BSD
	machine of the same speed.</para>

      <para>The <quote>all from one supplier</quote> nature of BSD means that
	upgrades are much easier to handle than is frequently the case with
	Linux.  BSD handles library version upgrades by providing
	compatibility modules for earlier library versions, so it is possible
	to run binaries which are several years old with no problems.</para>
    </sect2>

    <sect2>
      <title>Which should I use, BSD or Linux?</title>

      <para>What does this all mean in practice?  Who should use BSD, who
	should use Linux?</para>

      <para>This is a very difficult question to answer.  Here are some
	guidelines:</para>

      <itemizedlist>
	<listitem>
	  <para><quote>If it ain't broke, don't fix it</quote>: If you already
	    use an open source operating system, and you are happy with it,
	    there is probably no good reason to change.</para>
	</listitem>

	<listitem>
	  <para>BSD systems, in particular FreeBSD, can have notably higher
	    performance than Linux.  But this is not across the board.  In many
	    cases, there is little or no difference in performance.  In some
	    cases, Linux may perform better than FreeBSD.</para>
	</listitem>

	<listitem>
	  <para>In general, BSD systems have a better reputation for
	    reliability, mainly as a result of the more mature code
	    base.</para>
	</listitem>

	<listitem>
	  <para>BSD projects have a better reputation for the quality and
	    completeness of their documentation. The various documentation
	    projects aim to provide actively updated documentation, in many
	    languages, and covering all aspects of the system.</para>
	</listitem>

	<listitem>
	  <para>The BSD license may be more attractive than the GPL.</para>
	</listitem>

	<listitem>
	  <para>BSD can execute most Linux binaries, while Linux can not execute BSD
	    binaries.  Many BSD implementations can also execute binaries
	    from other &unix; like systems.  As a result, BSD may present an
	    easier migration route from other systems than
	    Linux would.</para>
	</listitem>
      </itemizedlist>
    </sect2>

    <sect2>
      <title>Who provides support, service, and training for BSD?</title>

      <para>BSDi / <link xlink:href="http://www.freebsdmall.com">FreeBSD
	Mall, Inc.</link> have been providing support contracts for
	FreeBSD for nearly a decade.</para>

      <para>In addition, each of the projects has a list of consultants for
	hire:
	<link xlink:href="&url.base;/commercial/consult_bycat.html">FreeBSD</link>,
	<link xlink:href="http://www.netbsd.org/gallery/consultants.html">NetBSD</link>,
	and <link xlink:href="http://www.openbsd.org/support.html">OpenBSD</link>.</para>
    </sect2>
  </sect1>
</article>