OpenBSD ist ein Betriebssystem aus der Gruppe der Unix-Derivate, das unter der BSD-Lizenz frei verfügbar ist. Es wurde 1995 durch Theo de Raadt von NetBSD, dem ersten 386BSD-basierten quelloffenen Betriebssystem, abgespalten. OpenBSD ist bekannt für das Beharren seiner Entwickler auf Quelloffenheit, freier Dokumentation, kompromissloser Stellung gegenüber Software-Lizenzen, Fokus auf Sicherheit und Korrektheit von Quelltext. Beim Maskottchen des Projekts handelt es sich um Puffy, einen Kugelfisch.
OpenBSD enthält eine Vielzahl von Sicherheitsfunktionen, die in anderen Betriebssystemen nicht oder nur optional vorhanden sind. Traditionell wird von den Entwicklern ein regelmäßiges Auditing, eine Untersuchung von Quellcode auf Programmfehler, durchgeführt. Das Projekt hält strenge Richtlinien zu Software-Lizenzen aufrecht und bevorzugt die freie BSD-Lizenz sowie deren Varianten. Dies hat in der Vergangenheit zu umfassenden Lizenzprüfungen sowie zum Ersatz oder zum Entfernen von Quellcode, der unter weniger akzeptablen Lizenzen steht, geführt.
In Übereinstimmung mit anderen BSD-basierten Betriebssystemen werden sowohl der OpenBSD-Kernel als auch die Userland-Programme, wie die Unix-Shells und gemeinsame Werkzeuge, gemeinschaftlich in einem Quellcode-Repository entwickelt. Software von Drittparteien ist in Form fertiger Pakete verfügbar oder kann mit Hilfe des Portssystems aus dem Quellcode erstellt werden.
OpenBSD ist für verschiedene Rechnerarchitekturen verfügbar, darunter DEC Alpha, i386, AMD64, PowerPC und SPARC64.
Im Dezember 1994 wurde Theo de Raadt – einer der Mitbegründer NetBSDs und Mitglied des Kernteams – gebeten, das NetBSD-Kernteam zu verlassen. Gleichzeitig wurde sein Zugang zum Quellcode-Repository gesperrt. Der Grund ist nicht genau bekannt, jedoch gibt es Aussagen, es stehe im Zusammenhang mit persönlichen Konflikten auf der NetBSD-Mailingliste. Theo de Raadt wurde dafür kritisiert, zeitweise eine aggressive Art zu zeigen: In dem Buch Free For All behauptet Peter Wayner, dass de Raadt vor der Abspaltung von NetBSD „begonnen hatte, einigen Leuten auf die Nerven zu gehen“; Interviewer geben zu, „Bedenken [über ihn] zu hegen“; und Linus Torvalds hat ihn als „schwierig“ beschrieben.
Im Oktober 1995 gründete Theo de Raadt OpenBSD als neue Projektaufspaltung von NetBSD 1.0. Die erste Veröffentlichung, OpenBSD 1.2, wurde im Juli 1996 herausgegeben, gefolgt von OpenBSD 2.0 im Oktober desselben Jahres. Seither folgt OpenBSD dem Terminplan, alle sechs Monate eine neue Version herauszugeben. Diese wird danach ein Jahr lang gepflegt und unterstützt.
Es ist schwierig, die Verbreitung von OpenBSD exakt festzustellen: Das OpenBSD-Projekt selbst sammelt und veröffentlicht keine Nutzungsstatistiken und es gibt nur wenig andere Informationsquellen. Das werdende BSD-Zertifizierungsprojekt führte 2005 eine Nutzungsumfrage durch, diese ergab, dass 32,8 % der befragten BSD-Nutzer (1420 von 4330 Befragten) OpenBSD verwenden, damit platzierte sich OpenBSD als Zweiter der vier großen BSD-Derivate, hinter FreeBSD mit 77,0 % und vor NetBSD mit 16,3 %. Mehrfachauswahl war möglich. Das *BSDStats-Projekt sieht OpenBSD heute mit etwas über 0,5 % Verbreitung weit hinter den neuen Projekten DragonFly BSD und PC-BSD.
Freie Software und freie Dokumentation
Als OpenBSD ins Leben gerufen wurde, beschloss Theo de Raadt den Quelltext für jedermann zu jeder Zeit lesbar zu machen. Daher setzte er mit Hilfe von Chuck Cranor einen öffentlichen anonymen CVS-Versionsverwaltungsserver auf. Dies war der erste seiner Art in der Welt der Softwareentwicklung: zu jener Zeit war es üblich, dass nur ein kleines Team von Entwicklern Zugriff auf das CVS-Verwaltungssystem hatte. Dieses Vorgehen hatte einige Mängel, besonders externe Mitwirkende hatten keine Möglichkeit, herauszufinden, was bereits erledigt worden war, und steuerten aus der resultierenden Unwissenheit überflüssige Patches bei. Dies hatte viel unnötig duplizierte Arbeit zur Folge. Die Entscheidung zur Offenlegung führte zu dem Namen OpenBSD und markierte den Anfang des Beharrens seitens des Projekts auf freie und öffentlich zugängliche Quelltexte sowie Dokumentation.
Ein Beispiel für die Haltung des OpenBSD-Projektes zu offener Dokumentation ist die Einstellung der Treiberunterstützung für Adaptec-AAC-RAID-Controller: Die Unterstützung dieses Gerätes hätte entweder einen nicht freien Treiber oder die Unterzeichnung einer Vertraulichkeitsvereinbarung (NDA) erfordert, was für das Projekt keine akzeptablen Bedingungen sind.
Ein Ziel von OpenBSD ist es, den „Geist des ursprünglichen Berkeley-Unix-Copyright aufrechtzuerhalten“, dieses erlaubte eine „relativ unbeeinträchtigte Verteilung des Unix-Quellcodes.“ Aus diesem Grund wird für neuen Quellcode die ISC-Lizenz bevorzugt, welche eine vereinfachte Version der BSD-Lizenz darstellt. Die MIT- oder BSD-Lizenz ist ebenfalls akzeptiert. Die GNU General Public License wird im Vergleich als zu einschränkend betrachtet: Quellcode unter dieser und anderen unerwünschten Lizenzen wird nicht zur Einbindung in das Basissystem zugelassen. Zusätzlich wird existierender Quellcode unter diesen Lizenzen ersetzt oder falls möglich neu lizenziert. In manchen Fällen ist dies jedoch nicht möglich, ein Beispiel ist GCC. Für diesen gibt es keinen passenden Ersatz: es wäre zu zeitaufwändig und unpraktisch, einen neuen Compiler zu entwerfen. Trotzdem hat OpenBSD in Bezug auf Lizenzen bereits bedeutende Fortschritte gemacht. Besonders erwähnenswert ist die Entwicklung von OpenSSH, basierend auf dem ursprünglichen SSH. Es erschien zum ersten Mal in OpenBSD 2.6 und ist heute die beliebteste SSH-Implementierung. Es ist fester oder optionaler Bestandteil vieler Betriebssysteme, z. B. der anderen BSD-Betriebssysteme und fast jeder Linux-Distribution. Ebenso erwähnenswert ist die durch Lizenzeinschränkungen auf IPFilter notwendige gewordene Entwicklung der PF-Firewall. Diese erschien zum ersten Mal in OpenBSD 3.0 und ist heute ebenfalls für DragonFly BSD, NetBSD und FreeBSD verfügbar. OpenBSD hat die unter der GPL stehenden Unix-Kommandos diff, grep, gzip, bc, dc, nm und size durch BSD-lizenzierte Versionen ersetzt. „Einfache“ Befehle wie true oder false sind gemeinfrei. Das OpenBSD-Projekt steht des Weiteren auch hinter der Entwicklung von OpenNTPD und OpenCVS, ebenfalls BSD-lizenzierte Versionen existierender Software.
Im Juni 2001 lösten Bedenken über Darren Reeds Änderungen an der IPFilter-Lizenz eine systematische Überprüfung aller Lizenzen im OpenBSD-Quellcode und Portssystem aus. Quellcode in mehr als 100 im System verstreuten Dateien wurde als nicht lizenziert, doppeldeutig oder Richtlinien verletzend befunden. Um die Einhaltung aller Lizenzen sicherzustellen, wurde versucht, Kontakt zu allen Copyright-Inhabern aufzunehmen. Als Ergebnis wurden manche Teile entfernt, viele ersetzt und andere neu lizenziert, um die weitere Nutzung in OpenBSD zu erlauben. Zu den neu lizenzierten Programmen gehörten die von Xerox ursprünglich ausschließlich für Forschungszwecke lizenzierten Multicast-Routing-Programme mrinfo(8) und map-mbone(8).
Anzumerken ist auch die Entfernung aller Software von Daniel J. Bernstein aus dem OpenBSD-Portssystem. Zur Zeit der Entfernung verlangte Bernstein, dass alle modifizierten Versionen seiner Software vor der Veröffentlichung von ihm abgesegnet werden müssen, eine Forderung, der das OpenBSD-Projekt weder Zeit noch Anstrengung widmen wollte. Die Entfernung führte zu einem Streit mit Bernstein, dieser sah es als unangebracht an und entgegnete, dass der Netscape-Webbrowser weitaus weniger frei sei. Er bezichtigte aus diesem Grund das OpenBSD-Projekt zusammen mit Theo de Raadt der Heuchelei. Das OpenBSD-Projekt vertrat die Position, dass Netscape, obwohl nicht quelloffen, einfacher einzuhaltende Lizenzbedingungen forderte; sie behaupteten gegenüber Bernstein, dass die Forderungen nach Kontrolle über Derivate zu einer großen Menge zusätzlicher Arbeit führen werde. Daher sei die Entfernung der angebrachteste Weg, seinen Anforderungen nachzukommen. 2007 hat Bernstein alle seine Software unter Public Domain veröffentlicht, womit die Lizenzprobleme behoben sind. Allerdings existieren momentan weiterhin keine offiziellen OpenBSD-Pakete; begründet wird dies im Fall von qmail und djbdns damit, dass diese Programme auch weiterhin keinen ersichtlichen Mehrwert böten.