%   leaflet.tex  --  Oliver Fromme  <olli@fromme.com>
%
%   Informationsbroschüre über BSD, erstellt anläßlich der
%   Messe »Systems 2001« in München.
%
%   Leaflet on the BSDs, in English & German (first written for a trade show).
%
%   Update 20.12.2002 - Rainer Duffner
%   Merge der Leaflets von Oliver Fromme und Daniel Lang
%   TeX scrapped from Oliver ....
%
%   Update Jan 2003 Julian H. Stacey
%   	Introduced Combined English + German format,
%   	translated Rainer's version to English
%	Tweaked english half a little, with typos+style feedback from
%	Kevin Kinsey from advocacy@freebsd.org
%   	Next: Conversion from `le' to `m4' macro processor +
%   	introduction of m4 directives to compile A4 or USA
%
%   THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS"
%   AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
%   TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
%   PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR
%   OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
%   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
%   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
%   USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
%   AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
%   LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
%   ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
%   POSSIBILITY OF SUCH DAMAGE.
%
% Avoid use of !}fmt within vi on the German sections, as it zaps umlauts,
% (It's nice on the English sections though, to make source more readable 
% to human editors).

\documentclass[10pt]{article}

\usepackage{pslatex}
\usepackage{german}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage{epsf,picinpar}

\paperheight=21cm	%   ISO A4 short side
\paperwidth=9.9cm	%   ISO A4 long side / 3
\special{papersize=99mm,210mm}

%%% %   Uncomment this to print "Entwurf" ("Draft") on each
%%% %   page's background in large, light grey letters.
%%%
%%% %   Some PostScript magic ...
%%% \special{!userdict begin /bop-hook{gsave 90 20 translate
%%% 70 rotate /Times-Roman findfont 116 scalefont setfont
%%% 0 0 moveto 0.85 setgray (ENTWURF) show grestore}def end}

%   Setup the text area on each page.
%   Borders:  left and right 0.5cm each,
%             to and bottom 1.0cm each.
%   (Note:  DVI drivers imply an offset of 1in top/left.)
\textheight=19cm	%   21cm - 2 * 1cm
\textwidth=8.9cm	%   9.9cm - 2 * 0.5cm
\topmargin=-2.81cm
\oddsidemargin=-2.04cm

\sloppy
\nonfrenchspacing
\parindent=0pt
\parskip=1ex
\pagestyle{empty}

\newcommand{\UNIX}{UNIX\textregistered}
\newcommand{\TOG}{The Open Group\texttrademark}
\newcommand{\Abschnitt}[1]{
	\begin{center}
		\large{\sffamily\bfseries #1}
	\end{center}
 }

\newcommand{\UAbschnitt}[1] {
	\begin{center}
		\small{\center{\sffamily\bfseries #1}}
	\end{center}
 }

%==================  end of preamble  ==================

\begin{document}

\begin{center}
%	BIM -- Berkeley in Munich \ $<$bsd@bim.bsn.com$>$\\
%	BIM -- Berkeley in Munich \ $<$bsd2@berklix.org$>$\\
	BIM -- Berkeley in Munich \\
	stellt vor:
\end{center}

\begin{center}
	\Huge\textbf{BSD}\\
	\large\textsc{Berkeley Software Distribution}
\end{center}

\vskip 0pt plus 1fill

\hspace*{0.1\textwidth}{\epsfxsize=0.8\textwidth \leavevmode \epsffile{bug.ps}}

\vskip 0pt plus 1fill

In dieser Broschüre möchten wir Ihnen einen Überblick
über die drei Open-Source-Vertreter der Familie der
BSD-\UNIX-Betriebssysteme vermitteln:

\begin{center}
\large\bfseries
\begin{tabular}{l@{\quad}l}
	FreeBSD	& \texttt{http://www.freebsd.org/} \\
	NetBSD	& \texttt{http://www.netbsd.org/} \\
	OpenBSD	& \texttt{http://www.openbsd.org/}
\end{tabular}
\end{center}

\vskip 0pt plus 1fill

\begin{center}
\small{
English translation also available:
\vskip 0pt 
http://www.berklix.org/bim/leaflet/
 }
\vskip 0pt plus 1fill
\end{center}

 {\footnotesize
% \hbox to \hsize{\textcopyright{} BIM, http://bim.bsn.com/
\hbox to \hsize{\textcopyright{} BIM, http://www.berklix.org/bim/
%	\hss Stand 10/2001\@.  Alle Angaben ohne Gewähr.}
	\hss Jan/2003\@.  
	Alle Angaben ohne Gewähr.
 }
\hbox to \hsize{Satz:  \LaTeXe{} unter FreeBSD 4.7
	\hss Druck:  dvips\,/\,ps2pdf}
\hbox to \hsize{\hss
	Prepared/ Printed in Germany\quad-\quad Imprim\'e en Allemagne
	\hss}
\par}

\newpage

\Abschnitt{
Einführung
 }

BSD-Unix -
was ist das? Diese Frage wird sich mancher schon einmal gestellt haben,
wenn der Begriff irgendwo auftauchte. Diese Broschüre soll die
wichtigsten Antworten zu diesem Thema geben und Ansatzpunkte
für eigene Nachforschungen zu Fragen geben,
die nicht im Rahmen dieses Dokuments beantwortet werden können

\Abschnitt{
Viele BSDs - Eine Philosphie
 }

Traditionell unterteilt man die Gruppe der
UNIX-Be\-triebs\-systeme in zwei Lager:
System V (kurz: "`SysV"') und BSD\@.
Letzteres wurde ursprünglich an der
Universität Berkeley (Kalifornien) entwickelt.
Die heutigen BSD-Systeme sind direkte Nachfahren von
"`4.4BSD Lite2"', der letzten offiziellen
BSD-Version von Berkeley.

Die Ursprünge des BSD-Unix reichen bis in die 70'er Jahre des 20.
Jahrhunderts zurück, und folglich ist die vollständige Historie etwas zu umfangreich um an dieser Stelle komplett ausgerollt zu werden - man kann aber folgendes sagen:

\begin{itemize}
\item
In BSD-Systemen stecken 30 Jahre Entwicklungsarbeit,
in denen die Software zwar immer wieder den Anforderungen der Zeit angepasst wurde,
aber ohne jedesmal alles über den Haufen zu werfen und komplett neu anzufangen.
In der Folge ist heute jedes der BSD-Derivate ein reifes,
stabiles Unix ohne "`Kinderkrankheiten"'.

\item
Im Laufe der Zeit entstanden aus einem einzigen "`BSD-Stamm"' mehrere lose
gekoppelte Linien,
die jedes für sich jeweils eigene Ziele verfolgen,
sich im Kern aber immer noch sehr ähnlich sind und auch durch
wechselseitige Portierungen von Schnittstellen,
Treibern und Applikationen gegenseitig austauschen.

\item
Es gibt heute folgende "`Linien"' oder Derivate:
FreeBSD, NetBSD, OpenBSD,
%
BSDi;
letzteres ist ein kommerzieller Abkömmling.
Ein kommerzieller Abkömmling ist aber ebenfalls Mac OS X von Apple
und dessen zur selben Familie gehörendes komplett offenes
Derivat "`Darwin"'.
BSDi,
Darwin und MacOS X werden in diesem Faltblatt aus Platzgründen
nicht behandelt.

\item
Keines der BSDs ist eine "`Linux Distribution"' - Linux und
FreeBSD sind zwar insofern ähnlich,
als das sie z.T.
die gleiche Software verwenden (z.B. gcc etc.) aber Kernel,
Lizenz und Entwicklungsmodell unterscheiden sich gravierend.
\end{itemize}

\Abschnitt{
Gemeinsamkeiten
 }
Alle BSDs haben folgende Eigenschaften und Randbedingungen gemeinsam:

\UAbschnitt{
BSD-Lizenz
 }
Der größte Teil des Quellcodes der freien BSD-Betriebsysteme
wird nach verschiedenen BSD-Lizenzen lizensiert.
% not true above ! jhs@
Im Gegensatz zur vom Linux-Kernel verwendeten GPL-Lizenz gestatten
BSD-artige Lizenzen (auch hier gibt es mehrere Varianten...) die
Weitergabe von Binärcode ohne dazugehörigen Sourcecode,
was vorallem für kommerzielle Produkte wichtig ist,
die auf BSD-Code basieren aber deren Quellcode man nicht oder nicht
vollständig freigeben will.

\UAbschnitt{
Aus einem Guss
 }
Jedes BSD definiert nicht nur den Kernel,
sondern auch eine bestimmte Anzahl von System-Bibliotheken (libc,
libpam...),
Benutzer- (ls, more, find, sort, lpr...) und
Systemadministrator-Programme (ifconfig,
chown, cron, dump, restore...) sowie Build-Tools (gcc, make, ld) als
"`Betriebsystem"',
das als in sich abgeschlossene Einheit betrachtet und auch so gepflegt wird.
Upgrades beziehen sich immer auf das gesamte Betriebsystem und nicht nur
auf den Kernel,
wie bei Linux.

Das gesamte Betriebsystem und der Kernel lassen sich mit wenigen Kommandos
aus den Sourcen komplett neu bauen.
In neuerer Zeit hat Gentoo-Linux diesen Gedanken auch unter Linux bekannt
gemacht und verwirklicht,
ohne dabei jedoch die anderen Vorteile der BSDs bieten zu können.
Weiterhin herrscht eine strikte Trennung zwischen Betriebsystem und
Zusatzprogrammen (Apache, Netscape, OpenOffice),
durch eine geeignete Filesystem-Hierarchie.
In der Folge lassen sich Betriebsystem und Anwendungsprogramme immer nur
getrennt aktualisieren,
was aber in der Praxis die Langlebigkeit der Installationen nur
vergrössert.

\UAbschnitt{
Professionelle Entwicklung
 }
Alle BSDs pflegen den kompletten Betriebsystem-Sourcecode in einem
CVS-Repository (Sourcecode-Verwaltung).
Dadurch lassen sich alle Änderungen nachvollziehen,
zurückverfolgen und ggf.
auch zurückrollen.
Ausserdem lässt sich erst dadurch ein Release-Engineering
für ein ganzes verteilt entwickleltes Betriebsystem sinnvoll realisieren.

\UAbschnitt{
Straffe Organisation
 }
Die BSD-Projekte sind kein "`loser Haufen"',
in dem jeder ab- und zu einmal beliebigen Code einpflegen darf,
sondern bilden eine professionelle Organisation ähnlich wie
in kommerziellen Software-Projekten.
Es existiert jeweils eine Art "`Steering Committee"',
genannt \textit{Core},
das neben dem eigentlichen Programmieren mit zunehmender
Projektgröße hauptsächlich Planungsaufgaben wahrnimmt,
oder wahrnehmen sollte.
Um das Core-Team herum gibt es eine große Anzahl weiterer Entwickler
- \textit{Committer} - die für die Pflege der Dokumentation oder
Treibern etc.
zuständig sind - eben alle die Aufgaben,
die bei der Realisierung eines großen Projekts anfallen.

\UAbschnitt{
Software im Überfluss
 }
Alle BSDs können über 99\% der im Quellcode verfügbaren Software (z.B.
von freshmeat.net) kompilieren und ausführen,
meist gibt es aber auch schon fertige Pakete (Gimp,
KDE, teTeX).

Durch ein sgn.
ABI (Application Binary Interface) lassen sich Linux-Programme
auch unter den BSDs nutzen,
selbst wenn es nur Binär-Pakete für Linux gibt.
Dadurch lassen sich eine weitere große Anzahl Programme unter BSD nutzen,
von denen es höchstens Linux-Versionen gibt (Acrobat-Reader,
Netscape7, StarOffice 6.0, Quake3 etc.).
Dies geschieht ohne sichtbare Geschwindigkeitseinbußen.
Die Qualität bzw.
Vollständigkeit des Linux ABI ist jedoch nicht unter allen BSDs
gleich gut entwickelt - FreeBSD hat hier die meisten Fähigkeiten.

\UAbschnitt{
Stabiles Filesystem
 }
Das UFS-Dateisystem ist seit Jahren bewährt und sehr leistungsfähig,
durch \textit{Softupdates} wird die Integrität der Meta-Daten
auch bei einem Crash sichergestellt.

\UAbschnitt{
Ports-System
 }
Viele frei verfügbare Software ist nur im Source verfügbar,
oder kann nicht ohne (juristische) Probleme als \textit{Package}
(fertig kompiliertes Paket,
das BSD-Gegenstück zum RPM) weiterverbreitet werden.
Daher gibt es das sgn.
\textit{Ports-Framework}.
Es besteht aus einer Hierarchie von Makefiles und ggf.
Patches die beschreiben,
wie sich ein bestimmtes Source-Paket entpacken,
kompilieren und installieren lässt.
Das Ports-System kann eigenständig benötigte Quellcode-
oder Binärdateien aus dem Internet oder von CDROM laden
und berücksichigt dabei auch Abhängigkeiten.

Die BSDs im einzelnen:

\Abschnitt{FreeBSD}
Auf normalen PCs (was man oft als x86- oder
i386-Hardware bezeichnet) ist FreeBSD der am
häufigsten anzutreffende Vertreter der BSD-Familie.
Dies liegt vermutlich daran, daß es die breiteste
Hardware-Unterstützung für diese Plattform
bietet, und es ist dafür am besten optimiert.
Außerdem tendiert es mehr als die anderen beiden
dazu, "`Bequemlichkeitsfunktionen"' aufzunehmen,
wie man sie von anderen Desktop-Systemen her kennt.
Dadurch ist es für Umsteiger attraktiver, auch weil es mit
knapp
8000
Programmen die größte Ports-Collection bietet.
FreeBSD betrachtet sich daher nicht mehr nur als reines
Serversystem, das nur von geschulten Administratoren
betrieben werden kann, sondern es zielt bewußt auch auf den Bereich
der Endbenutzer, speziell auch Umsteiger von Windows und Linux.
Inzwischen wurde FreeBSD auch auf Rechner portiert,
die auf der Alpha/AXP-Architektur basieren.
Auch auf der jungen IA64-Architektur (intel Itanium)
ist es mittlerweile lauffähig, benötigt jedoch noch
den "`letzten Schliff"'\@.
% Alpha-Workstations und -Server wurden ehemals von
% DEC entwickelt;
% später wurde diese Sparte von Compaq übernommen.
Portierungen auf UltraSparc (Sun), PowerPC und StrongARM
sind in Arbeit, aber es gibt hier noch keine vorzeigbaren Ergebnisse.
% Theyre done now ! jhs@
Als einziger der drei bietet FreeBSD eine ausgereifte
Unterstützung für Systeme mit mehreren Prozessoren
(SMP).

\Abschnitt{NetBSD}
NetBSD ist etwa genauso alt wie FreeBSD.
Seine hervorragendste Eigenschaft ist,
daß es auf einer großen Zahl von
Hardware-Plattformen läuft --
es unterstützt mehr Architekturen
als jedes andere Betriebssystem.
Eine vollständige Liste würde
den Rahmen dieser Broschüre sprengen
(und wäre wahrscheinlich kurze Zeit später
schon wieder überholt),
daher sei an dieser Stelle
auf die Webseite des NetBSD-Projektes verwiesen.
In vielen Fällen mag die Entscheidung für NetBSD
leichtfallen, da es einfach das einzige in Frage kommende
Betriebssystem ist,
das auf der vorhandenen Rechnerplattform läuft.
Selbst, wenn man eine so exotische Hardware besitzt,
daß bisher keines der drei BSD-Systeme darauf läuft,
ist die Chance bei NetBSD am größten,
daß es unter erträglichem Aufwand
darauf portieren werden kann.
Obwohl nicht viel älter als FreeBSD,
betrachtet sich NetBSD gern als der
"`große Bruder"' der Open-Source-BSDs.
Es tendiert eher als die anderen beiden dazu,
traditionelle Eigenschaften beizubehalten.
Dieses konservative Verhalten hat durchaus
auch einen positiven, ausgleichenden Effekt
auf die anderen BSD-Systeme.

\Abschnitt{OpenBSD}
Ende 1996 spaltete sich OpenBSD von NetBSD ab
und ist somit das mit Abstand jüngste Mitglied
der Familie.
Von seinem großen Bruder hat es die Unterstützung
zahlreicher Plattformen übernommen,
allerdings sind einige der nicht so gängigen
Portierungen verkümmert, da es an Betreuern mangelt.

OpenBSD hat sich das Thema "`Sicherheit"'
ganz groß auf die Fahnen geschrieben.
Zwar ist dies ein Aspekt, der von seinen zwei
älteren Geschwistern durchaus auch
%
% Brudern Schwester - this is political correctness & variety gone 
% mad ! at least keep to one sex, or preferably none :-)
% Harold used sibling which is at least neuter  ... jhs@
%
nicht vernachlässigt wird,
doch ist dieses bei OpenBSD
augenscheinlich am stärksten ausgeprägt - was nicht bedeuten soll,
OpenBSD sei
ein "`Security Software Stew"' - ein Eintopf aus lauter Security-Software.
Security bedeutet bei OpenBSD vorallem auch \textit{Correctness}.
Das Team unter der Führung von Theo de Raadt
hat beispielsweise ein komplettes Quelltext-Auditing
des Systems in Angriff genommen,
um Schwachstellen auf die Schliche zu kommen.
(Von diesen Aktionen profitieren natürlich
auch FreeBSD und NetBSD,
da die entsprechenden Korrekturen
(sofern sie unumstritten sind)
von ihnen übernommen werden.)
OpenBSD's Bekenntnis zu Sicherheit ist auch ein Bekenntnis zu Kryptographie.

Herausragend sind hier vorallem die Unterstützung einiger
Crypto-Beschleuniger karten, und die breit angelegte Integration
starker Verschlüsselungsalgorithmen im Betriebssystem. 

Da Theo de Raadt in Kanada lebt, unterliegen diese Algorithmen 
keinerlei Exportbeschränkungen.

\vskip 0pt plus 1fill

\hbox to \hsize{\hss\rule{10em}{0.4pt}\hss}
\footnotesize
\UNIX\
ist ein eingetragenes Warenzeichen und
\TOG\
 ist ein Warenzeichen
von
\TOG\
in den USA und anderen Ländern.
Alle anderen Marken und Namen sind Eigentum
ihrer jeweiligen Inhaber;
alle entsprechenden Warenzeichen und eingetragenen Warenzeichen
werden als solche anerkannt;
ihre Nennung dient lediglich Identifikationszwecken.

\end{document}

%==================  T H E  E N D ==================
