Wie bei Linux wird das System von einer Gemeinschaft von Enthusiasten entwickelt. Bei BSD sind die Prozesse jedoch stärker strukturiert und zentralisiert, und das Ergebnis ist ein vollständigeres Produkt. BSD-Entwickler lassen sich in drei Kategorien einteilen:

  1. Mitwirkende – sie schreiben Dokumentation und Code und stellen ihn der Gemeinschaft zur Verfügung. Sie nehmen selbst keine Änderungen am Produkt vor, sondern beschreiben und zeigen lediglich, wie ihrer Meinung nach die neue Version des Systems funktionieren sollte;
  2. Committer – sie überprüfen den von den Mitwirkenden eingesandten Code und entscheiden, ob sie ihn in das System einbauen oder nicht. Sie können sich mit anderen Entwicklern beraten oder die Entscheidung allein treffen. Sie sind die einzige Gruppe, die das Recht hat, den Quellcode zu bearbeiten, d. h. Änderungen an den Kern zu übertragen;
  3. Kernteam – das Managementteam, das sich mit der Verwaltung befasst. Dies ist eine enge Gruppe von Leuten, die seit langem mit BSD arbeiten und das System besser als jeder andere verstehen. Sie bestimmen zu einem großen Teil, wie sich eine bestimmte Distribution in Zukunft entwickeln wird.

Jede Version des BSD-Systems hat ihre eigene Entwicklergemeinschaft, so dass verschiedene Gruppen an verschiedenen Versionen arbeiten. Ein und derselbe Enthusiast kann gleichzeitig in mehreren Gruppen tätig sein, wie z.B. im FreeBSD-Team und im OpenBSD-Team.

Wie BSD-Systeme funktionieren

BSD-Systeme sind UNIX-Systeme. Das heißt, sie basieren alle auf dem UNIX-Kernel, der die Grundlage für viele beliebte Betriebssysteme von Linux bis macOS ist.

Der Code des ursprünglichen UNIX wurde nie entdeckt, daher ist BSD rechtlich gesehen kein UNIX. Aber diese Systeme verwenden seinen Code und werden als dem „reinen“ UNIX ähnlicher angesehen als z. B. Linux.

Ein BSD-System besteht aus mehreren Hauptkomponenten:

  • Dem Betriebssystem-Kernel. Er verwaltet Speicher und Prozesse, ist für die Kommunikation mit Peripheriegeräten und die Optimierung des Prozessors zuständig. Das BSD-Projekt verfügt über mehrere Kernel mit unterschiedlichen Fähigkeiten – ein bestimmtes Betriebssystem kann den einen oder den anderen verwenden;
  • C-Bibliothek. Die Programmiersprache C wird verwendet, um Systemcode zu schreiben. Daher wird die C-Bibliothek benötigt, um Entwicklern die Möglichkeit zu geben, mit dem System zu interagieren und Programme für das System zu schreiben – kurz gesagt, sie bietet eine Schnittstelle für die Arbeit mit BSD;
  • eine Reihe von Dienstprogrammen, Shells und anderen Hilfsmitteln. Werkzeuge für den Benutzer, z.B. um Dateien herunterzuladen und zu verwalten, um dem System über die Konsole Befehle zu erteilen, um Code in ein maschinenverständliches Format zu kompilieren;
  • visuelle Shell. Die grafische Oberfläche, das, was der Benutzer auf dem Bildschirm sieht, wenn er das System startet. Die meisten BSD-Versionen verwenden eine Shell namens X Window;
  • Anwendungs- und Systemprogramme. Das, womit der Benutzer arbeitet, von Texteditoren bis zu Spielen.