Style cleanup:

- wrap long lines
- put two spaces after a sentence stop
- put <info> and <title> on lines on their own
- in one instance, put the text right next to the <para> tag and not below it

I did not change the capitalizations in this file, so the file should not have
any visible changes.
This commit is contained in:
Benedict Reuschling 2018-06-17 16:57:57 +00:00
parent 836b254188
commit 9d68ff030b
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=51864

View file

@ -3,9 +3,11 @@
"http://www.FreeBSD.org/XML/share/xml/freebsd50.dtd"> "http://www.FreeBSD.org/XML/share/xml/freebsd50.dtd">
<!-- $FreeBSD$ --> <!-- $FreeBSD$ -->
<!-- The FreeBSD Documentation Project --> <!-- 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"> <article xmlns="http://docbook.org/ns/docbook"
<info><title>Explaining BSD</title> 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> <author><personname><firstname>Greg</firstname><surname>Lehey</surname></personname><affiliation>
<address><email>grog@FreeBSD.org</email></address> <address><email>grog@FreeBSD.org</email></address>
@ -29,42 +31,43 @@
<releaseinfo>$FreeBSD$</releaseinfo> <releaseinfo>$FreeBSD$</releaseinfo>
<abstract> <abstract>
<para>In the open source world, the word <quote>Linux</quote> is almost <para>In the open source world, the word <quote>Linux</quote> is
synonymous with <quote>Operating System</quote>, but it is not the only almost synonymous with <quote>Operating System</quote>, but it
open source &unix; operating system.</para> is not the only open source &unix; operating system.</para>
<para>So what is the secret? Why is BSD not better known? This white <para>So what is the secret? Why is BSD not better known? This
paper addresses these and other questions.</para> white paper addresses these and other questions.</para>
<para>Throughout this paper, differences between BSD and Linux will be <para>Throughout this paper, differences between BSD and Linux
noted <emphasis>like this</emphasis>.</para> will be noted <emphasis>like this</emphasis>.</para>
</abstract> </abstract>
</info> </info>
<sect1 xml:id="what-is-bsd"> <sect1 xml:id="what-is-bsd">
<title>What is BSD?</title> <title>What is BSD?</title>
<para>BSD stands for <quote>Berkeley Software Distribution</quote>. It is <para>BSD stands for <quote>Berkeley Software
the name of distributions of source code from the University of Distribution</quote>. It is the name of distributions of
California, Berkeley, which were originally extensions to AT&amp;T's source code from the University of California, Berkeley, which
Research &unix; operating system. Several open source operating system were originally extensions to AT&amp;T's Research &unix;
projects are based on a release of this source code known as operating system. Several open source operating system projects
4.4BSD-Lite. In addition, they comprise a number of packages from other are based on a release of this source code known as 4.4BSD-Lite.
Open Source projects, including notably the GNU project. The overall In addition, they comprise a number of packages from other Open
Source projects, including notably the GNU project. The overall
operating system comprises:</para> operating system comprises:</para>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para>The BSD kernel, which handles process scheduling, memory <para>The BSD kernel, which handles process scheduling, memory
management, symmetric multi-processing (SMP), device drivers, management, symmetric multi-processing (SMP), device
etc.</para> drivers, etc.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>The C library, the base API for the system.</para> <para>The C library, the base API for the system.</para>
<para><emphasis>The BSD C library is based on code from Berkeley, not <para><emphasis>The BSD C library is based on code from
the GNU project.</emphasis></para> Berkeley, not the GNU project.</emphasis></para>
</listitem> </listitem>
<listitem> <listitem>
@ -76,16 +79,17 @@
</listitem> </listitem>
<listitem> <listitem>
<para>The X Window system, which handles graphical display.</para> <para>The X Window system, which handles graphical
display.</para>
<para>The X Window system used in most versions of BSD is maintained <para>The X Window system used in most versions of BSD is
by the maintained by the <link xlink:href="http://www.X.org/">X.Org
<link xlink:href="http://www.X.org/">X.Org project</link>. project</link>. &os; allows the user to choose from a
&os; allows the user to choose from a variety of desktop variety of desktop environments, such as
environments, such as <application>Gnome</application>, <application>Gnome</application>,
<application>KDE</application>, or <application>Xfce</application>; <application>KDE</application>, or
and lightweight window managers like <application>Xfce</application>; and lightweight window
<application>Openbox</application>, managers like <application>Openbox</application>,
<application>Fluxbox</application>, or <application>Fluxbox</application>, or
<application>Awesome</application>.</para> <application>Awesome</application>.</para>
</listitem> </listitem>
@ -100,71 +104,77 @@
<title>What, a real &unix;?</title> <title>What, a real &unix;?</title>
<para>The BSD operating systems are not clones, but open source <para>The BSD operating systems are not clones, but open source
derivatives of AT&amp;T's Research &unix; operating system, which is also derivatives of AT&amp;T's Research &unix; operating system,
the ancestor of the modern &unix; System V. This may surprise you. How which is also the ancestor of the modern &unix; System V. This
could that happen when AT&amp;T has never released its code as open may surprise you. How could that happen when AT&amp;T has never
source?</para> released its code as open source?</para>
<para>It is true that AT&amp;T &unix; is not open source, and in a copyright <para>It is true that AT&amp;T &unix; is not open source, and in a
sense BSD is very definitely <emphasis>not</emphasis> &unix;, but on the copyright sense BSD is very definitely <emphasis>not</emphasis>
other hand, AT&amp;T has imported sources from other projects, &unix;, but on the other hand, AT&amp;T has imported sources
noticeably the Computer Sciences Research Group (CSRG) of the University of from other projects, noticeably the Computer Sciences Research
California in Berkeley, CA. Starting in 1976, the CSRG started Group (CSRG) of the University of California in Berkeley, CA.
releasing tapes of their software, calling them <emphasis>Berkeley Starting in 1976, the CSRG started releasing tapes of their
Software Distribution</emphasis> or <emphasis>BSD</emphasis>.</para> software, calling them <emphasis>Berkeley Software
Distribution</emphasis> or <emphasis>BSD</emphasis>.</para>
<para>Initial BSD releases consisted mainly of user programs, but that <para>Initial BSD releases consisted mainly of user programs, but
changed dramatically when the CSRG landed a contract with the Defense that changed dramatically when the CSRG landed a contract with
Advanced Research Projects Agency (DARPA) to upgrade the communications the Defense Advanced Research Projects Agency (DARPA) to upgrade
protocols on their network, ARPANET. The new protocols were known as the communications protocols on their network, ARPANET. The new
the <emphasis>Internet Protocols</emphasis>, later protocols were known as the <emphasis>Internet
<emphasis>TCP/IP</emphasis> after the most important protocols. The Protocols</emphasis>, later <emphasis>TCP/IP</emphasis> after
first widely distributed implementation was part of 4.2BSD, in the most important protocols. The first widely distributed
1982.</para> implementation was part of 4.2BSD, in 1982.</para>
<para>In the course of the 1980s, a number of new workstation companies <para>In the course of the 1980s, a number of new workstation
sprang up. Many preferred to license &unix; rather than developing companies sprang up. Many preferred to license &unix; rather
operating systems for themselves. In particular, Sun Microsystems than developing operating systems for themselves. In
licensed &unix; and implemented a version of 4.2BSD, which they called particular, Sun Microsystems licensed &unix; and implemented a
&sunos;. When AT&amp;T themselves were allowed to sell &unix; commercially, version of 4.2BSD, which they called &sunos;. When AT&amp;T
they started with a somewhat bare-bones implementation called System themselves were allowed to sell &unix; commercially, they
III, to be quickly followed by System V. The System V code base did not started with a somewhat bare-bones implementation called System
include networking, so all implementations included additional software III, to be quickly followed by System V. The System V code base
from the BSD, including the TCP/IP software, but also utilities such as did not include networking, so all implementations included
the <emphasis>csh</emphasis> shell and the <emphasis>vi</emphasis> additional software from the BSD, including the TCP/IP software,
editor. Collectively, these enhancements were known as the but also utilities such as the <emphasis>csh</emphasis> shell
<emphasis>Berkeley Extensions</emphasis>.</para> 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 <para>The BSD tapes contained AT&amp;T source code and thus
&unix; source license. By 1990, the CSRG's funding was running out, and required a &unix; source license. By 1990, the CSRG's funding
it faced closure. Some members of the group decided to release the BSD was running out, and it faced closure. Some members of the
code, which was Open Source, without the AT&amp;T proprietary code. group decided to release the BSD code, which was Open Source,
This finally happened with the <emphasis>Networking Tape 2</emphasis>, without the AT&amp;T proprietary code. This finally happened
usually known as <emphasis>Net/2</emphasis>. Net/2 was not a complete with the <emphasis>Networking Tape 2</emphasis>, usually known
operating system: about 20% of the kernel code was missing. One of the as <emphasis>Net/2</emphasis>. Net/2 was not a complete
CSRG members, William F. Jolitz, wrote the remaining code and released operating system: about 20% of the kernel code was missing. One
it in early 1992 as <emphasis>386BSD</emphasis>. At the same time, of the CSRG members, William F. Jolitz, wrote the remaining code
another group of ex-CSRG members formed a commercial company called and released it in early 1992 as <emphasis>386BSD</emphasis>.
<link xlink:href="http://www.bsdi.com/">Berkeley Software Design Inc.</link> At the same time, another group of ex-CSRG members formed a
and released a beta version of an operating system called commercial company called <link
<link xlink:href="http://www.bsdi.com/">BSD/386</link>, which was based on xlink:href="http://www.bsdi.com/">Berkeley Software Design
the same sources. The name of the operating system was later changed Inc.</link> and released a beta version of an operating system
to BSD/OS.</para> 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 <para>386BSD never became a stable operating system. Instead, two
projects split off from it in 1993: other projects split off from it in 1993: <link
<link xlink:href="http://www.NetBSD.org/">NetBSD</link> and xlink:href="http://www.NetBSD.org/">NetBSD</link> and <link
<link xlink:href="&url.base;/index.html">FreeBSD</link>. The two projects xlink:href="&url.base;/index.html">FreeBSD</link>. The two
originally diverged due to differences in patience waiting for projects originally diverged due to differences in patience
improvements to 386BSD: the NetBSD people started early in the year, waiting for improvements to 386BSD: the NetBSD people started
and the first version of FreeBSD was not ready until the end of the early in the year, and the first version of FreeBSD was not
year. In the meantime, the code base had diverged sufficiently to ready until the end of the year. In the meantime, the code base
make it difficult to merge. In addition, the projects had different had diverged sufficiently to make it difficult to merge. In
aims, as we will see below. In 1996, addition, the projects had different aims, as we will see below.
<link xlink:href="http://www.OpenBSD.org/">OpenBSD</link> split off from In 1996, <link
NetBSD, and in 2003, xlink:href="http://www.OpenBSD.org/">OpenBSD</link> split off
<link xlink:href="http://www.dragonflybsd.org/">DragonFlyBSD</link> split from NetBSD, and in 2003, <link
off from FreeBSD.</para> xlink:href="http://www.dragonflybsd.org/">DragonFlyBSD</link>
split off from FreeBSD.</para>
</sect1> </sect1>
<sect1 xml:id="why-is-bsd-not-better-known"> <sect1 xml:id="why-is-bsd-not-better-known">
@ -174,39 +184,41 @@
<orderedlist> <orderedlist>
<listitem> <listitem>
<para>The BSD developers are often more interested in polishing their <para>The BSD developers are often more interested in
code than marketing it.</para> polishing their code than marketing it.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>Much of Linux's popularity is due to factors external to the <para>Much of Linux's popularity is due to factors external to
Linux projects, such as the press, and to companies formed to the Linux projects, such as the press, and to companies
provide Linux services. Until recently, the open source BSDs had no formed to provide Linux services. Until recently, the open
such proponents.</para> source BSDs had no such proponents.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>BSD developers tend to be more experienced than Linux <para>BSD developers tend to be more experienced than Linux
developers, and have less interest in making the system easy to use. developers, and have less interest in making the system easy
Newcomers tend to feel more comfortable with Linux.</para> to use. Newcomers tend to feel more comfortable with
Linux.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>In 1992, AT&amp;T sued <para>In 1992, AT&amp;T sued <link
<link xlink:href="http://www.bsdi.com/">BSDI</link>, xlink:href="http://www.bsdi.com/">BSDI</link>, the vendor
the vendor of BSD/386, alleging that the product contained of BSD/386, alleging that the product contained
AT&amp;T-copyrighted code. The case was settled out of court in AT&amp;T-copyrighted code. The case was settled out of
1994, but the spectre of the litigation continues to haunt people. court in 1994, but the spectre of the litigation continues
In March 2000 an article published on the web claimed to haunt people. In March 2000 an article published on the
that the court case had been <quote>recently settled</quote>.</para> 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 <para>One detail that the lawsuit did clarify is the naming:
1980s, BSD was known as <quote>BSD &unix;</quote>. With the in the 1980s, BSD was known as <quote>BSD &unix;</quote>.
elimination of the last vestige of AT&amp;T code from BSD, it With the elimination of the last vestige of AT&amp;T code
also lost the right to the name &unix;. Thus you will see from BSD, it also lost the right to the name &unix;. Thus
references in book titles to <quote>the 4.3BSD &unix; operating you will see references in book titles to <quote>the 4.3BSD
system</quote> and <quote>the 4.4BSD operating &unix; operating system</quote> and <quote>the 4.4BSD
system</quote>.</para> operating system</quote>.</para>
</listitem> </listitem>
</orderedlist> </orderedlist>
</sect1> </sect1>
@ -214,113 +226,123 @@
<sect1 xml:id="comparing-bsd-and-linux"> <sect1 xml:id="comparing-bsd-and-linux">
<title>Comparing BSD and Linux</title> <title>Comparing BSD and Linux</title>
<para>So what is really the difference between, say, Debian Linux and <para>So what is really the difference between, say, Debian Linux
FreeBSD? For the average user, the difference is surprisingly small: and FreeBSD? For the average user, the difference is
Both are &unix; like operating systems. Both are developed by surprisingly small: Both are &unix; like operating systems.
non-commercial projects (this does not apply to many other Linux Both are developed by non-commercial projects (this does not
distributions, of course). In the following section, we will look at BSD apply to many other Linux distributions, of course). In the
and compare it to Linux. The description applies most closely to following section, we will look at BSD and compare it to Linux.
FreeBSD, which accounts for an estimated 80% of the BSD installations, The description applies most closely to FreeBSD, which accounts
but the differences from NetBSD, OpenBSD and DragonFlyBSD are small. for an estimated 80% of the BSD installations, but the
</para> differences from NetBSD, OpenBSD and DragonFlyBSD are
small.</para>
<sect2> <sect2>
<title>Who owns BSD?</title> <title>Who owns BSD?</title>
<para>No one person or corporation owns BSD. It is created and <para>No one person or corporation owns BSD. It is created and
distributed by a community of highly technical and committed distributed by a community of highly technical and committed
contributors all over the world. Some of the components of BSD are contributors all over the world. Some of the components of
Open Source projects in their own right and managed by different BSD are Open Source projects in their own right and managed by
project maintainers.</para> different project maintainers.</para>
</sect2> </sect2>
<sect2> <sect2>
<title>How is BSD developed and updated?</title> <title>How is BSD developed and updated?</title>
<para>The BSD kernels are developed and updated following the Open <para>The BSD kernels are developed and updated following the
Source development model. Each project maintains a publicly Open Source development model. Each project maintains a
accessible <emphasis>source tree</emphasis> publicly accessible <emphasis>source tree</emphasis> which
which contains all source files for the contains all source files for the project, including
project, including documentation and other incidental files. documentation and other incidental files. Users can obtain a
Users can obtain a complete copy of any version.</para> complete copy of any version.</para>
<para>A large number of developers worldwide contribute to improvements <para>A large number of developers worldwide contribute to
to BSD. They are divided into three kinds:</para> improvements to BSD. They are divided into three
kinds:</para>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para><firstterm>Contributors</firstterm> write code or documentation. <para><firstterm>Contributors</firstterm> write code or
They are not permitted to commit (add code) directly to the source documentation. They are not permitted to commit (add
tree. In order for their code to be included in the system, it code) directly to the source tree. In order for their
must be reviewed and checked in by a registered developer, known code to be included in the system, it must be reviewed and
as a <emphasis>committer</emphasis>.</para> checked in by a registered developer, known as a
<emphasis>committer</emphasis>.</para>
</listitem> </listitem>
<listitem> <listitem>
<para><firstterm>Committers</firstterm> are developers with write <para><firstterm>Committers</firstterm> are developers with
access to the source tree. In order to become a committer, an write access to the source tree. In order to become a
individual must show ability in the area in which they are committer, an individual must show ability in the area in
active.</para> which they are active.</para>
<para> <para>It is at the individual committer's discretion whether
It is at the individual committer's discretion whether they should they should obtain authority before committing changes to
obtain authority before committing changes to the source tree. In the source tree. In general, an experienced committer may
general, an experienced committer may make changes which are make changes which are obviously correct without obtaining
obviously correct without obtaining consensus. For example, a consensus. For example, a documentation project committer
documentation project committer may correct typographical or may correct typographical or grammatical errors without
grammatical errors without review. On the other hand, developers review. On the other hand, developers making far-reaching
making far-reaching or complicated changes are expected to submit or complicated changes are expected to submit their
their changes for review before committing them. In extreme changes for review before committing them. In extreme
cases, a core team member with a function such as Principal cases, a core team member with a function such as
Architect may order that changes be removed from the tree, a Principal Architect may order that changes be removed from
process known as <firstterm>backing out</firstterm>. All committers the tree, a process known as <firstterm>backing
receive mail describing each individual commit, so it is not out</firstterm>. All committers receive mail describing
possible to commit secretly.</para> each individual commit, so it is not possible to commit
secretly.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>The <firstterm>Core team</firstterm>. FreeBSD and <para>The <firstterm>Core team</firstterm>. FreeBSD and
NetBSD each have a core team which manages the project. The NetBSD each have a core team which manages the project.
core teams developed in the course of the projects, and their role The core teams developed in the course of the projects,
is not always well-defined. It is not necessary to be a developer and their role is not always well-defined. It is not
in order to be a core team member, though it is normal. The rules necessary to be a developer in order to be a core team
for the core team vary from one project to the other, but in member, though it is normal. The rules for the core team
general they have more say in the direction of the project than 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> non-core team members have.</para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
<para>This arrangement differs from Linux in a number of ways:</para> <para>This arrangement differs from Linux in a number of
ways:</para>
<orderedlist> <orderedlist>
<listitem> <listitem>
<para>No one person controls the content of the system. In <para>No one person controls the content of the system. In
practice, this difference is overrated, since the Principal Architect practice, this difference is overrated, since the
can require that code be backed out, and even in the Linux project Principal Architect can require that code be backed out,
several people are permitted to make changes.</para> and even in the Linux project several people are permitted
to make changes.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>On the other hand, there <emphasis>is</emphasis> a central <para>On the other hand, there <emphasis>is</emphasis> a
repository, a single place where you can find the entire operating central repository, a single place where you can find the
system sources, including all older versions.</para> entire operating system sources, including all older
versions.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>BSD projects maintain the entire <quote>Operating <para>BSD projects maintain the entire <quote>Operating
System</quote>, not only the kernel. This distinction is only System</quote>, not only the kernel. This distinction
marginally useful: neither BSD nor Linux is useful without is only marginally useful: neither BSD nor Linux is useful
applications. The applications used under BSD are frequently the without applications. The applications used under BSD are
same as the applications used under Linux.</para> frequently the same as the applications used under
Linux.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>As a result of the formalized maintenance of a single SVN <para>As a result of the formalized maintenance of a single
source tree, BSD development is clear, and it is possible to SVN source tree, BSD development is clear, and it is
access any version of the system by release number or by date. possible to access any version of the system by release
SVN also allows incremental updates to the system: for example, number or by date. SVN also allows incremental updates to
the FreeBSD repository is updated about 100 times a day. Most of the system: for example, the FreeBSD repository is updated
these changes are small.</para> about 100 times a day. Most of these changes are
small.</para>
</listitem> </listitem>
</orderedlist> </orderedlist>
</sect2> </sect2>
@ -328,105 +350,115 @@
<sect2> <sect2>
<title>BSD releases</title> <title>BSD releases</title>
<para>FreeBSD, NetBSD and OpenBSD provide the system in three different <para>FreeBSD, NetBSD and OpenBSD provide the system in three
<quote>releases</quote>. As with Linux, releases are assigned a different <quote>releases</quote>. As with Linux, releases
number such as 1.4.1 or 3.5. In addition, the version number has a are assigned a number such as 1.4.1 or 3.5. In addition, the
suffix indicating its purpose:</para> version number has a suffix indicating its purpose:</para>
<orderedlist> <orderedlist>
<listitem> <listitem>
<para>The development version of the system is called <para>The development version of the system is called
<firstterm>CURRENT</firstterm>. FreeBSD assigns a number to <firstterm>CURRENT</firstterm>. FreeBSD assigns a number
CURRENT, for example FreeBSD 5.0-CURRENT. NetBSD uses a slightly to CURRENT, for example FreeBSD 5.0-CURRENT. NetBSD uses
different naming scheme and appends a single-letter suffix which a slightly different naming scheme and appends a
indicates changes in the internal interfaces, for example NetBSD single-letter suffix which indicates changes in the
1.4.3G. OpenBSD does not assign a number (<quote>OpenBSD-current</quote>). internal interfaces, for example NetBSD 1.4.3G. OpenBSD
All new development on the system goes into this branch.</para> does not assign a number (<quote>OpenBSD-current</quote>).
All new development on the system goes into this
branch.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>At regular intervals, between two and four times a year, the <para>At regular intervals, between two and four times a
projects bring out a <firstterm>RELEASE</firstterm> version of the year, the projects bring out a
system, which is available on CD-ROM and for free download from <firstterm>RELEASE</firstterm> version of the system,
FTP sites, for example OpenBSD 2.6-RELEASE or NetBSD 1.4-RELEASE. which is available on CD-ROM and for free download from
The RELEASE version is intended for end users and is the normal FTP sites, for example OpenBSD 2.6-RELEASE or NetBSD
version of the system. NetBSD also provides <emphasis>patch 1.4-RELEASE. The RELEASE version is intended for end
releases</emphasis> with a third digit, for example NetBSD users and is the normal version of the system. NetBSD
1.4.2.</para> also provides <emphasis>patch releases</emphasis> with a
third digit, for example NetBSD 1.4.2.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>As bugs are found in a RELEASE version, they are fixed, and <para>As bugs are found in a RELEASE version, they are
the fixes are added to the SVN tree. In FreeBSD, the resultant fixed, and the fixes are added to the SVN tree. In
version is called the <firstterm>STABLE</firstterm> version, while in NetBSD and OpenBSD FreeBSD, the resultant version is called the
it continues to be called the RELEASE version. Smaller new <firstterm>STABLE</firstterm> version, while in NetBSD and
features can also be added to this branch after a period of test OpenBSD it continues to be called the RELEASE version.
in the CURRENT branch. Security and other important bug fixes Smaller new features can also be added to this branch
are also applied to all supported RELEASE versions.</para> after a period of test in the CURRENT branch. Security
and other important bug fixes are also applied to all
supported RELEASE versions.</para>
</listitem> </listitem>
</orderedlist> </orderedlist>
<para><emphasis>By contrast, Linux maintains two separate code trees: <para><emphasis>By contrast, Linux maintains two separate code
the stable version and the development version. Stable versions trees: the stable version and the development version.
have an even minor version number, such as 2.0, 2.2 or 2.4. Stable versions have an even minor version number, such as
Development versions have an odd minor version number, such as 2.1, 2.0, 2.2 or 2.4. Development versions have an odd minor
2.3 or 2.5. In each case, the number is followed by a further version number, such as 2.1, 2.3 or 2.5. In each case, the
number designating the exact release. In addition, each vendor adds number is followed by a further number designating the exact
their own userland programs and utilities, so the name of the release. In addition, each vendor adds their own userland
distribution is also important. Each distribution vendor also programs and utilities, so the name of the distribution is
assigns version numbers to the distribution, so a complete also important. Each distribution vendor also assigns
description might be something like <quote>TurboLinux 6.0 with kernel version numbers to the distribution, so a complete
2.2.14</quote></emphasis></para> description might be something like <quote>TurboLinux 6.0
with kernel 2.2.14</quote></emphasis></para>
</sect2> </sect2>
<sect2> <sect2>
<title>What versions of BSD are available?</title> <title>What versions of BSD are available?</title>
<para>In contrast to the numerous Linux distributions, there are only <para>In contrast to the numerous Linux distributions, there are
four major open source BSDs. Each BSD project maintains its own source only four major open source BSDs. Each BSD project maintains
tree and its own kernel. In practice, though, there appear to be its own source tree and its own kernel. In practice, though,
fewer divergences between the userland code of the projects than there there appear to be fewer divergences between the userland code
is in Linux.</para> of the projects than there is in Linux.</para>
<para>It is difficult to categorize the goals of each project: the <para>It is difficult to categorize the goals of each project:
differences are very subjective. Basically,</para> the differences are very subjective. Basically,</para>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para>&os; aims for high performance and ease of use by <para>&os; aims for high performance and ease of use by end
end users, and is a favourite of web content providers. It runs users, and is a favourite of web content providers. It
on a <link xlink:href="&url.base;/platforms/">number of platforms</link> runs on a <link xlink:href="&url.base;/platforms/">number
and has significantly more users than the other projects.</para> of platforms</link> and has significantly more users
than the other projects.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>NetBSD aims for maximum portability: <quote>of course it runs <para>NetBSD aims for maximum portability: <quote>of course
NetBSD</quote>. It runs on machines from palmtops to large it runs NetBSD</quote>. It runs on machines from
servers, and has even been used on NASA space missions. It is a palmtops to large servers, and has even been used on NASA
particularly good choice for running on old non-&intel; space missions. It is a particularly good choice for
hardware.</para> running on old non-&intel; hardware.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>OpenBSD aims for security and code purity: it uses a <para>OpenBSD aims for security and code purity: it uses a
combination of the open source concept and rigorous code reviews combination of the open source concept and rigorous code
to create a system which is demonstrably correct, making it the reviews to create a system which is demonstrably correct,
choice of security-conscious organizations such as banks, stock making it the choice of security-conscious organizations
exchanges and US Government departments. Like NetBSD, it runs on such as banks, stock exchanges and US Government
a number of platforms.</para> departments. Like NetBSD, it runs on a number of
platforms.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>DragonFlyBSD aims for high performance and scalability under <para>DragonFlyBSD aims for high performance and scalability
everything from a single-node UP system to a massively clustered system. under everything from a single-node UP system to a
DragonFlyBSD has several long-range technical goals, but focus lies on massively clustered system. DragonFlyBSD has several
providing a SMP-capable infrastructure that is easy to understand, long-range technical goals, but focus lies on providing a
SMP-capable infrastructure that is easy to understand,
maintain and develop for.</para> maintain and develop for.</para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
<para>There are also two additional BSD &unix; operating systems which are not <para>There are also two additional BSD &unix; operating systems
open source, BSD/OS and Apple's &macos; X:</para> which are not open source, BSD/OS and Apple's &macos;
X:</para>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
@ -435,23 +467,24 @@
available at relatively low cost. It resembled FreeBSD in available at relatively low cost. It resembled FreeBSD in
many ways. Two years after the acquisition of BSDi by many ways. Two years after the acquisition of BSDi by
Wind River Systems, BSD/OS failed to survive as an Wind River Systems, BSD/OS failed to survive as an
independent product. Support and source code may still independent product. Support and source code may still be
be available from Wind River, but all new development is available from Wind River, but all new development is
focused on the VxWorks embedded operating system.</para> focused on the VxWorks embedded operating system.</para>
</listitem> </listitem>
<listitem> <listitem>
<para><link xlink:href="http://www.apple.com/macosx/server/">&macos; <para><link
X</link> is the latest version of the operating system for xlink:href="http://www.apple.com/macosx/server/">&macos;
&apple;'s X</link> is the latest version of the operating system
&mac; line. The BSD core of this operating for &apple;'s &mac; line. The BSD core of this operating
system, <link xlink:href="http://developer.apple.com/darwin/">Darwin</link>, system, <link
is available as a fully functional open source operating xlink:href="http://developer.apple.com/darwin/">Darwin</link>,
system for x86 and PPC computers. The Aqua/Quartz is available as a fully functional open source operating
graphics system and many other proprietary aspects of system for x86 and PPC computers. The Aqua/Quartz
&macos; X remain closed-source, however. Several Darwin graphics system and many other proprietary aspects of
developers are also FreeBSD committers, and &macos; X remain closed-source, however. Several Darwin
vice-versa.</para> developers are also FreeBSD committers, and
vice-versa.</para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect2> </sect2>
@ -460,58 +493,63 @@
<title>How does the BSD license differ from the GNU Public <title>How does the BSD license differ from the GNU Public
license?</title> license?</title>
<para>Linux is available under the <para>Linux is available under the <link
<link xlink:href="http://www.fsf.org/copyleft/gpl.html">GNU General Public xlink:href="http://www.fsf.org/copyleft/gpl.html">GNU
License</link> (GPL), which is designed to eliminate closed General Public License</link> (GPL), which is designed to
source software. In particular, any derivative work of a product eliminate closed source software. In particular, any
released under the GPL must also be supplied with source code if derivative work of a product released under the GPL must also
requested. By contrast, the be supplied with source code if requested. By contrast, the
<link xlink:href="http://www.opensource.org/licenses/bsd-license.html">BSD <link
license</link> is less restrictive: binary-only distributions are xlink:href="http://www.opensource.org/licenses/bsd-license.html">BSD
allowed. This is particularly attractive for embedded license</link> is less restrictive: binary-only
applications.</para> distributions are allowed. This is particularly attractive
for embedded applications.</para>
</sect2> </sect2>
<sect2> <sect2>
<title>What else should I know?</title> <title>What else should I know?</title>
<para>Since fewer applications are available for BSD than Linux, the BSD <para>Since fewer applications are available for BSD than Linux,
developers created a Linux compatibility package, which allows Linux the BSD developers created a Linux compatibility package,
programs to run under BSD. The package includes both kernel which allows Linux programs to run under BSD. The package
modifications, in order to correctly perform Linux system calls, and includes both kernel modifications, in order to correctly
Linux compatibility files such as the C library. There is no perform Linux system calls, and Linux compatibility files such
noticeable difference in execution speed between a Linux application as the C library. There is no noticeable difference in
running on a Linux machine and a Linux application running on a BSD execution speed between a Linux application running on a Linux
machine of the same speed.</para> 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 <para>The <quote>all from one supplier</quote> nature of BSD
upgrades are much easier to handle than is frequently the case with means that upgrades are much easier to handle than is
Linux. BSD handles library version upgrades by providing frequently the case with Linux. BSD handles library version
compatibility modules for earlier library versions, so it is possible upgrades by providing compatibility modules for earlier
to run binaries which are several years old with no problems.</para> library versions, so it is possible to run binaries which are
several years old with no problems.</para>
</sect2> </sect2>
<sect2> <sect2>
<title>Which should I use, BSD or Linux?</title> <title>Which should I use, BSD or Linux?</title>
<para>What does this all mean in practice? Who should use BSD, who <para>What does this all mean in practice? Who should use BSD,
should use Linux?</para> who should use Linux?</para>
<para>This is a very difficult question to answer. Here are some <para>This is a very difficult question to answer. Here are
guidelines:</para> some guidelines:</para>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para><quote>If it ain't broke, don't fix it</quote>: If you already <para><quote>If it ain't broke, don't fix it</quote>: If you
use an open source operating system, and you are happy with it, already use an open source operating system, and you are
there is probably no good reason to change.</para> happy with it, there is probably no good reason to
change.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>BSD systems, in particular FreeBSD, can have notably higher <para>BSD systems, in particular FreeBSD, can have notably
performance than Linux. But this is not across the board. In many higher performance than Linux. But this is not across the
cases, there is little or no difference in performance. In some board. In many cases, there is little or no difference in
cases, Linux may perform better than FreeBSD.</para> performance. In some cases, Linux may perform better than
FreeBSD.</para>
</listitem> </listitem>
<listitem> <listitem>
@ -521,38 +559,43 @@
</listitem> </listitem>
<listitem> <listitem>
<para>BSD projects have a better reputation for the quality and <para>BSD projects have a better reputation for the quality
completeness of their documentation. The various documentation and completeness of their documentation. The various
projects aim to provide actively updated documentation, in many documentation projects aim to provide actively updated
languages, and covering all aspects of the system.</para> documentation, in many languages, and covering all aspects
of the system.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>The BSD license may be more attractive than the GPL.</para> <para>The BSD license may be more attractive than the
</listitem> GPL.</para> </listitem>
<listitem> <listitem>
<para>BSD can execute most Linux binaries, while Linux can not execute BSD <para>BSD can execute most Linux binaries, while Linux can
binaries. Many BSD implementations can also execute binaries not execute BSD binaries. Many BSD implementations can
from other &unix; like systems. As a result, BSD may present an also execute binaries from other &unix; like systems. As
easier migration route from other systems than a result, BSD may present an easier migration route from
Linux would.</para> other systems than Linux would.</para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect2> </sect2>
<sect2> <sect2>
<title>Who provides support, service, and training for BSD?</title> <title>Who provides support, service, and training for
BSD?</title>
<para>BSDi / <link xlink:href="http://www.freebsdmall.com">FreeBSD <para>BSDi / <link
Mall, Inc.</link> have been providing support contracts for xlink:href="http://www.freebsdmall.com">FreeBSD Mall,
Inc.</link> have been providing support contracts for
FreeBSD for nearly a decade.</para> FreeBSD for nearly a decade.</para>
<para>In addition, each of the projects has a list of consultants for <para>In addition, each of the projects has a list of
hire: consultants for hire: <link
<link xlink:href="&url.base;/commercial/consult_bycat.html">FreeBSD</link>, xlink:href="&url.base;/commercial/consult_bycat.html">FreeBSD</link>,
<link xlink:href="http://www.netbsd.org/gallery/consultants.html">NetBSD</link>, <link
and <link xlink:href="http://www.openbsd.org/support.html">OpenBSD</link>.</para> 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> </sect2>
</sect1> </sect1>
</article> </article>