Beide, Linux und die verschiedenen BSDs (Berkeley Software Distributions), sind frei und quelloffen und haben mehr Gemeinsamkeiten als Unterschiede. Vor diesem Hintergrund fragen Sie sich vielleicht: „Wenn sie sich so ähnlich sind, warum gibt es sie dann überhaupt? Wäre es nicht besser, ein einziges Betriebssystem zu haben, aus dem man wählen kann?“
Ich kann diese Frage beantworten, indem ich auch erwähne, dass ihre Unterschiede ebenfalls groß sind. So sehr, dass es aus diesem Artikel ein Buch machen würde, wenn ich sie alle aufzählen würde, und nicht nur einen einfachen Artikel. Stattdessen werde ich mich auf die Grundlagen beider Open-Source-Systeme konzentrieren, damit Sie selbst entscheiden können, welches die bessere Wahl ist.
Linux vs. BSD
Linux wird technisch nicht als Betriebssystem betrachtet. Stattdessen ist es in Wirklichkeit nur ein Kernel. Ein Kernel ist der Kernaspekt eines jeden Betriebssystems und liegt irgendwo zwischen der Software und der Hardware.
Dadurch kann der Kernel dem Benutzer helfen, die in einem System verfügbaren Ressourcen zu nutzen. Das Betriebssystem selbst baut auf dem Kernel auf.
Der Kernel vs. das Betriebssystem
Bei Linux und BSD handelt es sich um Unix-ähnliche Betriebssysteme. Wenn Sie Linux installieren, installieren Sie eine Distribution, die auf dem Linux-Kernel aufbaut. Es gibt eine ganze Reihe von Distributionen, wie Ubuntu und Debian, die alle den Linux-Kernel verwenden. Verschiedene Programme werden in den Kernel eingebettet, bevor die Distribution auf den Markt gebracht wird.
BSD ist im Gegensatz zu Linux ein vollständiges Betriebssystem. BSD ist auch ein Kernel, der als Kern des Betriebssystems verwendet wird. BSD-Entwickler verwenden diesen Kernel, um verschiedene Arten von Programmen hinzuzufügen und sie den Benutzern als vollständige Distribution zur Verfügung zu stellen. Das bedeutet, dass ein BSD-Betriebssystem, wie FreeBSD oder NetBSD, aus dem Kernel und allen Programmen besteht, die darauf aufsetzen und als einzelnes, herunterladbares Paket vertrieben werden.
BSDs verwenden ein so genanntes Ports-System. Dieses System ermöglicht die Installation von Softwarepaketen. Die Software wird in Quellform gehalten, was bedeutet, dass Ihr Computer die Daten jedes Mal kompilieren muss, bevor die Software ausgeführt werden kann.
Ein Silberstreif am Horizont ist, dass Pakete in einem vorinstallierten Binärzustand installiert werden können, der es Ihrem System erlaubt, auf den Schritt der Datenkompilierung vor dem Start zu verzichten.
Der grundlegende Unterschied zwischen beiden ist, dass Linux-Distributionen mit verschiedenen Programmen und Repositories geliefert werden, die es dem Benutzer erlauben, zusätzliche verschiedene Programme herunterzuladen, die zu den Anforderungen der Distribution gehören.
Wenn Sie ein BSD-Betriebssystem installieren, erhalten Sie nur die Programme, die BSD anbietet. Dies gilt nicht für Softwarepakete, da sie für beide verfügbar sind, wie Sie feststellen werden.
Unterschiede in der Lizenzierung
Die meisten Leute mögen sich nicht darum kümmern, aber der Unterschied in der Lizenzierung ist tatsächlich signifikant. Linux verwendet die GNU General Public License, oder GPL. Das bedeutet, dass Entwickler den Linux-Kernel nach Belieben verändern oder neue Funktionen hinzufügen können. Der einzige Haken an der Sache ist, dass der gesamte neu entwickelte Quellcode der Öffentlichkeit zugänglich gemacht werden muss, ob sie es wollen oder nicht.
BSDs verwenden ihre eigene, einzigartige BSD-Lizenz, die es Entwicklern erlaubt, den BSD-Kernel oder die BSD-Distribution zu verändern und neue Funktionen hinzuzufügen, ohne den Quellcode veröffentlichen zu müssen. Das bedeutet, dass eine Open-Source-BSD als Closed-Source deklariert werden kann, wenn der Entwickler dies wünscht. Er ist nicht verpflichtet, den Quellcode zu veröffentlichen.
Softwareverfügbarkeit &Kompatibilität
Dies ist die Art von Dingen, die einen direkten Einfluss auf die Beliebtheit und Anpassungsfähigkeit eines Betriebssystems in der Öffentlichkeit hat. Die Fähigkeit eines Betriebssystems, mit moderner Software kompatibel zu sein, kann für die meisten Menschen ein entscheidendes Merkmal sein.
Im Falle von Linux ist es für Entwickler einfacher, Code zu schreiben, der den Benutzern in vorkompilierten Binärpaketen zur Installation zur Verfügung gestellt werden kann. Die Pakete können mit apt, yum und anderen ähnlichen Paketmanagern installiert werden. Der Open-Source-Charakter von Linux macht diese Möglichkeit einfacher.
Für BSD-Benutzer ist die Aufgabe nicht so einfach. Sie müssen die Quellcodes für die Programme aus den Tausenden von Ports herunterladen, die ihnen zur Verfügung stehen. Nachdem sie die Quellcodes heruntergeladen haben, müssen sie sie auf ihrem System kompilieren.
Dies bereitet sowohl den BSD-Benutzern als auch den Entwicklern Kopfzerbrechen, da die mangelnde Popularität bei den allgemeinen Benutzern auf die zusätzliche Mühe des Kompilierens der Quellcodes zurückgeführt werden kann. Die vorkompilierten Binärpakete können als die einzige Rettung angesehen werden, um die Probleme zu beseitigen, aber sie sind immer noch nicht ausreichend für die Verfügbarkeit von Anwendungsprogrammen.
Eine Wahl treffen
Linux ist zweifellos die beliebteste Wahl unter den quelloffenen, Unix-basierten Betriebssystemen. Es bekommt viel schneller Hardware-Unterstützung als BSD, und für die meisten allgemeinen Zwecke sind beide Systeme zu ähnlich, als dass sie eine Rolle spielen würden.
Beide Systeme haben ihre eigenen Vorteile. Betrachtet man FreeBSD, so pflegt das Entwicklerteam seine eigene Version einer großen Anzahl von gängigen Tools. Dies ermöglicht es den Entwicklern, ihre eigenen Tool-Varianten für ihr System zu erstellen. Die Werkzeuge für Linux-Systeme werden hauptsächlich von der GNU-Suite bereitgestellt, so dass Variationen weniger wahrscheinlich sind.
BSD hat einen ernsthaften Mangel an Anwendungen. Dies hat die Entwickler dazu veranlasst, zu versuchen, die Situation in den Griff zu bekommen, indem sie ein Linux-Kompatibilitätspaket erstellt haben, mit dem Linux-Anwendungen unter BSD laufen können. Linux-Distributionen haben keine wirklichen Probleme mit Anwendungen, da es viele gibt, die der Öffentlichkeit zur Verfügung stehen.
Die wirkliche Komplikation ist das Free-Source-Argument.
Entwickler & Benutzer vs. Einschränkungen
Die Linux-GPL-Lizenz neigt dazu, strenger mit den Entwicklern umzugehen und erzwingt die Freigabe des gesamten modifizierten Quellcodes. BSD-Entwickler hingegen haben keine solchen Einschränkungen. Es ist zu bedenken, was die nicht entwickelnde Öffentlichkeit von all dem hat.
Hersteller könnten sich bei der Entwicklung neuer Geräte für BSD als Betriebssystem ihrer Wahl entscheiden, anstatt für Linux. Dies würde es ihnen ermöglichen, die Codeänderungen für sich selbst zu behalten, da die Verwendung von Linux mit der Auflage verbunden wäre, den Quellcode für die Öffentlichkeit freizugeben.
Die Beschränkungen, die Linux durch seine Lizenz auferlegt werden, geben denjenigen, die Anwendungen für das System suchen, die Gewissheit, dass sie Zugang dazu haben werden, wenn eine solche Anwendung entwickelt wird. Die BSD-Lizenz gibt den Entwicklern die Möglichkeit, bei Kernel- und Systemmodifikationen gierig und wortkarg zu bleiben, was bedeutet, dass selbst wenn etwas gemacht wird, die Öffentlichkeit möglicherweise nicht einmal eine Ahnung von seiner Existenz hat.
BSD-Systeme haben einen besseren Ruf in Bezug auf Zuverlässigkeit als ihr Linux-Pendant. Das bringt einen Punkt auf der Punktetafel für BSD. Es ist auch in der Lage, Linux-Binärdateien auszuführen und beansprucht ein zentrales Repository. Beides Dinge, für die Linux nicht bekannt ist.