Kanadische Eröffnung
Seit nunmehr zehn Jahren veröffentlicht die Gemeinde um Theo de Raadt alle sechs Monate eine neue OpenBSD-Version - nun die Release 4.0.
- Timo Schöler
In das Jahr 1994 reichen die Wurzeln von OpenBSD zurück. Damals stieg Theo de Raadt nach Meinungsverschiedenheiten [i] aus dem Core-Team des NetBSD-Projektes aus und entschloss sich, sein eigenes Projekt zu gründen. OpenBSD ist ebenfalls ein Unix-ähnliches Betriebssystem, das 4.4BSD als Basis nutzt. Die Entwickler legen großen Wert auf Quelloffenheit aller Komponenten, auf freie Dokumentation, korrekten Quellcode und Sicherheit sowie strikte Einhaltung der Lizenzen. Für OpenBSD-Nutzer hat sich dies mit nur einem einzigen Remote Exploit in mehr als zehn Jahren ausgezahlt. Das Betriebssystem unterstützt im Unterschied zu Linux eine große Zahl von teils klassischen Hardware-Plattformen - vom Alpha über mac68k bis hin zu Sharps Zaurus.
Treiber und die für deren Entwicklung notwendigen Dokumentationen sind im Allgemeinen ein wunder Punkt. Die OpenBSDler halten sich hier an Open Source im strengen Sinn und lehnen sogenannte „Blobs“ (Binary Large Objects - in diesem Kontext binäre Treiber) strikt ab. Die Entwickler pochen vielmehr auf die Freigabe der Dokumentation seitens der Hersteller, um eigene, offene Treiber entwickeln zu können. Dies schließt selbstverständlich die Akzeptanz herstellerspezifischer Lizenzen ebenso aus wie die Unterzeichnung von NDAs (Non Disclosure Agreements).
Einige Hersteller geben die Dokumentation zu ihrer Hardware per se frei, andere verweigern dies. Im letzteren Fall entfernen die Entwickler die Unterstützung für das jeweilige Gerät, falls schon rudimentär vorhanden, wieder - wie die für Adaptecs RAID-Karten mit dem aac-Treiber [ii] - oder sie nähern sich einer Lösung mittels Reverse Engineering an, wie bei der Portierung von OpenBSD auf Sparc64 und UltraSparc III [iii], [iv].
Offener Code mit Beziehungen
Auf den ersten Blick mag das Verhalten an Masochismus grenzen, bei genauerer Betrachtung ist es aber der einzige Weg, wirklich freie Software gemäß der Open-Source-Paradigmen zu entwickeln: Denn Hersteller können Blobs jederzeit wieder zurückziehen, weder Bug Fixes noch eine eigene Weiterentwicklung sind möglich, von Security Auditings mangels Quellcode ganz zu schweigen - bis hin zu der Frage, wie viele Buffer Overflows man sich mit einem Blob an Bord holt. Darüber hinaus sind Blobs architekturabhängig und damit nicht portabel. Deshalb sollten Entwickler von Open-Source-Software sie in keiner Weise unterstützen, weder technisch noch ideell.
Doch die Vermeidung von Blobs hat auch Schattenseiten: So sieht es bis heute es mit der Unterstützung von 3D-Beschleunigung in Hardware schlecht aus, da sich die Hersteller weigern, ihre Dokumentation herauszugeben. Wer wie GNU/Linux, Solaris/x86 und FreeBSD den Blob-Köder schluckt, liefert der Industrie ein Argument, weiterhin die Dokumentation unter Verschluss zu halten - mit Folgen für die Anwender: Am 17. Oktober 2006 kam es zur Demonstration eines Remote Exploit in einem Nvidia-Treiber [v], der GNU/Linux-Systeme betraf und weder auf Solaris noch auf FreeBSD auszuschließen war.
In die pünktlich zum 1. November freigegebene Version „OpenBSD 4.0“ sind neben der lang erwarteten Unterstützung für UltraSparc-III-Maschinen zahlreiche Verbesserungen in Treiber geflossen, im wesentlichen für Netzwerkkarten mit Glasfaser- oder Kupferanbindung sowie WLAN-Chipsätzen. Einige neue SATA-Controller sind dabei sowie eine dynamische Taktfrequenzskalierung für CPUs, die mit der passenden Technik ausgestattet sind. Für WLAN gibt es noch keine Verschlüsselung mittels WPA, und der Treiber für Intels Pro Wireless ipw(4) ist immer noch nicht vollständig, da es sich mangels Dokumentation um eine Reverse-Engineering-Lösung handelt. Im Bereich IPSec erhielt ipsecctl(8) zusätzliche IPv6-Funktionen und ist insgesamt leichter zu handhaben. Die vollständige Liste zu den Detailverbesserungen im Bereich Treiber, Kernel und Userland findet sich im Netz [vi].
Mit OpenSSH, OpenBGPD, OpenNTPD und OpenCVS konnten sich mehrere eigenständige Projekte neben OpenBSD etablieren; das neue OpenRCS haben die Entwickler nun in OpenBSD 4.0 integriert, ein komplett neu geschriebenes, BSD-lizenziertes Revision Control System, das das bisherige Gnu/RCS ablöst. Die Entscheidung, OpenRCS ins Leben zu rufen, kam wegen des Stillstands in der Entwicklung des Originals zustande.
Flottes Installieren
Das Installieren eines Arbeitsplatzes kann in fünf Minuten erledigt sein [vii]. Wer die Originalmedien verwendet, unterstützt mit dem Kauf das Projekt finanziell; neben einer Anlaufstelle für internationale Bestellungen existiert eine gesonderte für den europäische Raum [viii]. Über das Netz gibt es keine vollständigen, offiziellen ISO-Images, die per Download erhältliche Installations-CD holt die notwendigen Pakete von einem der zahlreichen FTP-Server [ix].
Zusätzliche Software liegt als Package für die jeweils eingesetzte Architektur vor oder als Quellcode zum Selbstübersetzen mit Hilfe des von FreeBSD entliehenen Ports-Systems ×, [xi]. Systeme mit OpenBSD 3.9 (oder früher) können Anwender über eine dokumentierte Upgrade-Prozedur auf den neuesten Stand bringen [xii]; da Anwendungs-Packages an die jeweilige Release gebunden sind, muss man sie nach dem Upgrade auf OpenBSD 4.0 ebenfalls aktualisieren.
Mit der Veröffentlichung von OpenBSD 4.0 blickt man auf mittlerweile zehn Jahre pünktliche Veröffentlichungen im Halbjahresrhythmus zurück. OpenBSD 4.1 ist als „current“ in Arbeit [xiii].
Timo Schöler
ist als Senior Unix Administrator in einem Verlag in Berlin tätig.
iX-WERTUNG
- [+] streng quelloffenes System
- [+] schnelles Installieren
- [+] Upgrade-UnterstĂĽtzung
- [+] bunte Hardwarepalette
- [-] für Umsteiger gewöhnungsbedürftig
(rh)