* Correct some broken links * Use relative links for freebsd.org documents PR: docs/31447 Submitted by: Cyrille Lefevre <clefevre@citeweb.net> Found by: linbot
		
			
				
	
	
		
			545 lines
		
	
	
	
		
			23 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			545 lines
		
	
	
	
		
			23 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| <!-- $FreeBSD$ -->
 | |
| <!-- The FreeBSD Documentation Project -->
 | |
| 
 | |
| <!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
 | |
| <!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN">
 | |
| %man;
 | |
| ]>
 | |
| 
 | |
| <article>
 | |
|   <articleinfo>
 | |
|     <title>Explaining BSD</title>
 | |
| 
 | |
|     <author>
 | |
|       <firstname>Greg</firstname>
 | |
|       <surname>Lehey</surname>
 | |
| 
 | |
|       <affiliation>
 | |
| 	<address><email>grog@FreeBSD.org</email></address>
 | |
|       </affiliation>
 | |
|     </author>
 | |
| 
 | |
|     <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 <trademark>UNIX</trademark> operating system.  According
 | |
| 	to the <ulink
 | |
|          url="http://www.leb.net/hzo/ioscount/data/r.9904.txt">Internet
 | |
| 	  Operating System Counter</ulink>, 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 <ulink
 | |
|           url="http://www.yahoo.com/">Yahoo!</ulink>, run BSD.  The world's
 | |
| 	busiest FTP server, <ulink
 | |
|           url="ftp://ftp.cdrom.com/">ftp.cdrom.com</ulink>, uses 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>
 | |
|   </articleinfo>
 | |
| 
 | |
|   <sect1>
 | |
|     <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&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 a separate project, the
 | |
| 	  <ulink url="http://www.XFree86.org/">XFree86 project</ulink>.
 | |
| 	  This is the same code as Linux uses.  BSD does not normally
 | |
| 	  specify a <quote>graphical desktop</quote> such as GNOME or KDE,
 | |
| 	  though these are available.</para>
 | |
|       </listitem>
 | |
| 
 | |
|       <listitem>
 | |
| 	<para>Many other programs and utilities.</para>
 | |
|       </listitem>
 | |
|     </itemizedlist>
 | |
|   </sect1>
 | |
|   
 | |
|   <sect1>
 | |
|     <title>What, a real UNIX?</title> 
 | |
| 
 | |
|     <para>The BSD operating systems are not clones, but open source
 | |
|       derivatives of AT&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&T has never released its code as open
 | |
|       source?</para>
 | |
| 
 | |
|     <para>It is true that AT&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&T has imported sources from other projects,
 | |
|       noticeably the Computer Sciences Research Group 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 Projects Research 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&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&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&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
 | |
|       <ulink url="http://www.bsdi.com/">Berkeley Software Design Inc.</ulink>
 | |
|       and released a beta version of an operating system called
 | |
|       <ulink url="http://www.bsdi.com/">BSD/386</ulink>, which was based on
 | |
|       the same sources.  The name of the operating system has since changed
 | |
|       to BSD/OS.</para>
 | |
| 
 | |
|     <para>386BSD never became a stable operating system.  Instead, two other
 | |
|       projects split off from it in 1993:
 | |
|       <ulink url="http://www.NetBSD.org/">NetBSD</ulink> and
 | |
|       <ulink url="../../../../index.html">FreeBSD</ulink>.  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, a further project,
 | |
|       <ulink url="http://www.OpenBSD.org/">OpenBSD</ulink>, split off from
 | |
|       NetBSD.</para>
 | |
|   </sect1>
 | |
|   
 | |
|   <sect1>
 | |
|     <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&T sued
 | |
| 	  <ulink url="http://www.bsdi.com/">BSDI</ulink>,
 | |
| 	  the vendor of BSD/386, alleging that the product contained
 | |
| 	  AT&T-copyrighted code.  The case was settled out of court in
 | |
| 	  1994, but the spectre of the litigation continues to haunt people.
 | |
| 	  As recently as 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&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>
 | |
| 
 | |
|       <listitem>
 | |
| 	<para>There is a perception that the BSD projects are fragmented and
 | |
| 	  belligerent.  The
 | |
| 	  <ulink url="http://interactive.wsj.com/bin/login?Tag=/&URI=/archive/retrieve.cgi%253Fid%253DSB952470579348918651.djm&">Wall Street
 | |
| 	    Journal</ulink> spoke of <quote>balkanization</quote> of the
 | |
| 	  BSD projects.  Like the law suit, this perception bases mainly
 | |
| 	  on ancient history.</para>
 | |
|       </listitem>
 | |
|     </orderedlist>
 | |
|   </sect1>
 | |
| 
 | |
|   <sect1>
 | |
|     <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 and OpenBSD 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 managed by a different project maintainer.</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 the
 | |
| 	<ulink url="http://www.sourcegear.com/CVS/">Concurrent Versions
 | |
| 	  System</ulink> (CVS), which contains all source files for the
 | |
| 	project, including documentation and other incidental files.  CVS
 | |
| 	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 he is
 | |
| 	    active.</para>
 | |
| 
 | |
| 	  <para>
 | |
| 	    It is at the individual committer's discretion whether he 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 Chief 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 CVS
 | |
| 	    source tree, BSD development is clear, and it is possible to
 | |
| 	    access any version of the system by release number or by date.
 | |
| 	    CVS 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>Each BSD project provides 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 ("OpenBSD-current").
 | |
| 	    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 CVS 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
 | |
| 	three 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>FreeBSD aims for high performance and ease of use by
 | |
| 	    end users, and is a favourite of web content providers.  It runs
 | |
| 	    on PCs and Compaq's Alpha processors.  The FreeBSD project 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>
 | |
|       </itemizedlist>
 | |
| 
 | |
|       <para>There are also two additional BSD operating systems which are not
 | |
| 	open source, BSD/OS and Apple's Mac OS X:</para>
 | |
| 
 | |
|       <itemizedlist>
 | |
| 	<listitem>
 | |
| 	  <para>BSD/OS is the oldest of the 4.4BSD derivatives.  It
 | |
| 	    is not open source, though source code licenses are available at
 | |
| 	    relatively low cost.  It resembles FreeBSD in many ways.</para>
 | |
| 	</listitem>
 | |
| 
 | |
| 	<listitem>
 | |
| 	  <para><ulink url="http://www.apple.com/macosx/server/">Mac OS
 | |
| 	      X</ulink> is the latest version of the operating system for
 | |
| 	    <ulink url="http://www.apple.com/">Apple Computer Inc.'s</ulink>
 | |
| 	      Macintosh line.  Unlike the rest of the operating system, the
 | |
| 	      kernel is open source.  As part of this development, key Apple
 | |
| 	      developers have commit access to the FreeBSD source tree.</para>
 | |
| 	</listitem>
 | |
|       </itemizedlist>
 | |
|     </sect2>
 | |
|     
 | |
|     <sect2>
 | |
|       <title>How does the BSD license differ from the GNU Public
 | |
| 	license?</title>
 | |
|       
 | |
|       <para>Linux is available under the
 | |
| 	<ulink url="http://www.fsf.org/copyleft/gpl.html">GNU General Public
 | |
| 	  License</ulink> (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
 | |
| 	<ulink url="http://www.opensource.org/licenses/bsd-license.html">BSD
 | |
| 	  license</ulink> 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>The BSD license may be more attractive than the GPL.</para>
 | |
| 	</listitem>
 | |
| 
 | |
| 	<listitem>
 | |
| 	  <para>BSD can execute Linux code, while Linux can not execute BSD
 | |
| 	    code.  As a result, more software is available for BSD than for
 | |
| 	    Linux.</para>
 | |
| 	</listitem>
 | |
|       </itemizedlist>
 | |
|     </sect2>
 | |
| 
 | |
|     <sect2>
 | |
|       <title>Who provides support, service, and training for BSD?</title>
 | |
|       
 | |
|       <para>BSDi have always supported BSD/OS, and they have recently
 | |
| 	announced support contracts for FreeBSD.</para>
 | |
| 
 | |
|       <para>In addition, each of the projects has a list of consultants for
 | |
| 	hire:
 | |
| 	<ulink url="../../../../commercial/consulting_bycat.html">FreeBSD</ulink>,
 | |
| 	<ulink url="http://www.netbsd.org/gallery/consultants.html">NetBSD</ulink>,
 | |
| 	and <ulink url="http://www.openbsd.org/support.html">OpenBSD</ulink>.</para>
 | |
|     </sect2>
 | |
|   </sect1>
 | |
| </article>
 | |
| 
 | |
| <!-- 
 | |
|      Local Variables:
 | |
|      mode: sgml
 | |
|      sgml-indent-data: t
 | |
|      sgml-omittag: nil
 | |
|      sgml-always-quote-attributes: t
 | |
|      End:
 | |
| -->
 |