<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
<!--
     The FreeBSD Documentation Project
     The FreeBSD German Documentation Project

     $FreeBSD$
     $FreeBSDde: de-docproj/books/developers-handbook/introduction/chapter.sgml,v 1.12 2012/04/22 20:07:16 bcr Exp $
     basiert auf: 1.21
-->

<chapter id="introduction">
  <chapterinfo>
    <authorgroup>
      <author>
        <firstname>Murray</firstname>
        <surname>Stokely</surname>
        <contrib>Beigetragen von </contrib>
      </author>
      <author>
        <firstname>Jeroen</firstname>
        <surname>Ruigrok van der Werven</surname>
      </author>
    </authorgroup>
    <authorgroup>
      <author>
	<firstname>Fabian</firstname>
	<surname>Borschel</surname>
	<contrib>Übersetzt von </contrib>
      </author>
    </authorgroup>
  </chapterinfo>

  <title>Einführung</title>

  <sect1 id="introduction-devel">
    <title>Unter FreeBSD entwickeln</title>

    <para>Hier sind wir also. Ihr System ist vollständig
      installiert und Sie wollen mit dem Programmieren beginnen.
      Aber womit sollen Sie anfangen? Was bietet Ihnen FreeBSD?
      Was kann es für einen Programmierer tun?</para>

    <para>Dies sind einige der Fragen, welche dieses Handbuch
      zu beantworten versucht. Natürlich gibt es, analog zu
      anderen Berufen, auch bei Programmierern unterschiedliche
      Leistungsniveaus. Für die einen ist es ein Hobby,
      für die anderen ist es der Beruf. Die Informationen
      in diesem Kapitel dürften eher für den
      Programmieranfänger geeignet sein; allerdings könnte
      es auch für Programmierer, die bisher nichts mit der
      &os;-Plattform zu tun hatten, interessante Informationen
      enthalten.</para>
  </sect1>

  <sect1 id="introduction-bsdvision">
    <title>Die Vision von BSD</title>

    <para>Ziel ist es, das bestmögliche &unix;-artige
      Betriebssystempaket zu erstellen, mit dem gebührenden
      Respekt gegenüber der Ideologie der ursprünglichen
      Software, sowie der Bedienbarkeit, Leistungsfähigkeit und
      Stabilität.</para>
  </sect1>

  <sect1 id="introduction-archguide">
    <title>Grundlegende Richtlinien</title>

    <para>Unsere Ideologie kann durch die folgenden Leitfäden
      beschrieben werden.</para>

    <itemizedlist>
      <listitem>
	<para>Füge keine neue Funktionalität hinzu, solange
	  ein Programmierer diese nicht zur Fertigstellung einer
	  realen Anwendung benötigt.</para>
      </listitem>

      <listitem>
	<para>Zu entscheiden, was ein System ist, ist genauso
	  wichtig wie zu entscheiden, was ein System nicht ist.
	  Versuchen Sie nicht, alle möglichen Wünsche zu
	  erfüllen; machen Sie lieber das System erweiterbar, so
	  dass zusätzliche Bedürfnisse in einer
	  aufwärtskompatiblen Weise bedient werden
	  können.</para>
      </listitem>

      <listitem>
	<para>Das Einzige, das schlimmer ist, als von einem Beispiel
	  auf die Allgemeinheit zu schließen, ist, von
	  überhaupt keinem Beispiel auf die Allgemeinheit zu
	  schließen.</para>
      </listitem>

      <listitem>
	<para>Solange ein Problem nicht vollständig verstanden
	  wurde, ist es besser, keine Lösung
	  bereitzustellen.</para>
      </listitem>

      <listitem>
	<para>Wenn Sie 90% des gewünschten Effektes bei nur 10%
	  des Aufwands erreichen können, sollten Sie besser die
	  einfachere Lösung verwenden.</para>
      </listitem>

      <listitem>
	<para>Grenzen Sie Komplexität so gut wie möglich
	  ein.</para>
      </listitem>

      <listitem>
	<para>Stellen Sie Mechanismen anstelle von Strategien bereit.
	  Überlassen Sie insbesondere Strategien für die
	  Benutzerschnittstelle dem Benutzerprogramm.</para>
      </listitem>
     </itemizedlist>

     <para>Aus Scheifler & Gettys: "X Window System"</para>
  </sect1>

  <sect1 id="introduction-layout">
    <title>Der Aufbau von
      <filename class="directory">/usr/src</filename></title>

    <para>Der vollständige Quelltext von FreeBSD ist über
      unser öffentliches Repository verfügbar. Der
      Quelltext wird normalerweise in <filename
      class="directory">/usr/src</filename> abgelegt und enthält
      die folgenden Unterverzeichnisse:</para>

    <para>
      <informaltable frame="none" pgwide="1">
        <tgroup cols="2">
	  <thead>
	    <row>
	      <entry>Verzeichnis</entry>
	      <entry>Beschreibung</entry>
	    </row>
	  </thead>

	  <tbody>
	    <row>
	      <entry><filename
		class="directory">bin/</filename></entry>
	      <entry>Quelldateien für Dateien in
		<filename>/bin</filename></entry>
	    </row>

	    <row>
	      <entry><filename
		class="directory">cddl/</filename></entry>
	      <entry>Quelldateien für Programme, die unter
		der Common Development and Distribution License
		stehen</entry>
	    </row>

	    <row>
	      <entry><filename
		class="directory">contrib/</filename></entry>
	      <entry>Quelldateien für Dateien von beigesteuerter
		Software</entry>
	    </row>

	    <row>
	      <entry><filename
		class="directory">crypto/</filename></entry>
	      <entry>Quelldateien für die Kryptographie</entry>
	    </row>

	    <row>
	      <entry><filename
		class="directory">etc/</filename></entry>
	      <entry>Quelldateien für Dateien in <filename
		class="directory">/etc</filename></entry>
	    </row>

	    <row>
	      <entry><filename
		class="directory">games/</filename></entry>
	      <entry>Quelldateien für Dateien in <filename
		class="directory">/usr/games</filename></entry>
	    </row>

	    <row>
	      <entry><filename
		class="directory">gnu/</filename></entry>
	      <entry>Programme, die unter der GNU Public License
		stehen</entry>
	    </row>

	    <row>
	      <entry><filename
		class="directory">include/</filename></entry>
	      <entry>Quelldateien für Dateien in <filename
		class="directory">/usr/include</filename></entry>
	    </row>

	    <row>
	      <entry><filename
		class="directory">kerberos5/</filename></entry>
	      <entry>Quelldateien für Kerberos Version 5</entry>
	    </row>

	    <row>
	      <entry><filename
		class="directory">lib/</filename></entry>
	      <entry>Quelldateien für Dateien in <filename
		class="directory">/usr/lib</filename></entry>
	    </row>

	    <row>
	      <entry><filename
		class="directory">libexec/</filename></entry>
	      <entry>Quelldateien für Dateien in <filename
		class="directory">/usr/libexec</filename></entry>
	    </row>

	    <row>
	      <entry><filename
		class="directory">release/</filename></entry>
	      <entry>Dateien, die für die Erstellung eines
		FreeBSD-Releases nötig sind</entry>
	    </row>

	    <row>
	      <entry><filename
		class="directory">rescue/</filename></entry>
	      <entry>Bausystem für die <filename
		class="directory">/rescue</filename>-Programme</entry>
	    </row>

	    <row>
	      <entry><filename
		class="directory">sbin/</filename></entry>
	      <entry>Quelldateien für Dateien in <filename
		class="directory">/sbin</filename></entry>
	    </row>

	    <row>
	      <entry><filename
		class="directory">secure/</filename></entry>
	      <entry>Quelldateien für FreeSec</entry>
	    </row>

	    <row>
	      <entry><filename
		class="directory">share/</filename></entry>
	      <entry>Quelldateien für Dateien in <filename
		class="directory">/usr/share</filename></entry>
	    </row>

	    <row>
	      <entry><filename
		class="directory">sys/</filename></entry>
	      <entry>Kernel-Quelldateien</entry>
	    </row>

	    <row>
	      <entry><filename
		class="directory">tools/</filename></entry>
	      <entry>Programme zum Verwalten und Testen von
		FreeBSD</entry>
	    </row>

	    <row>
	      <entry><filename
		class="directory">usr.bin/</filename></entry>
	      <entry>Quelldateien für Dateien in <filename
		class="directory">/usr/bin</filename></entry>
            </row>

	    <row>
	      <entry><filename
		class="directory">usr.sbin/</filename></entry>
	      <entry>Quelldateien für Dateien in <filename
		class="directory">/usr/sbin</filename></entry>
            </row>
          </tbody>
	</tgroup>
      </informaltable>
    </para>
  </sect1>
</chapter>