Zowel Linux als de verschillende BSD’s (Berkeley Software Distributions) zijn vrij en open-source, en hebben meer dingen gemeen dan verschillen. Met dit in gedachten kun je je afvragen: “Als ze zo veel op elkaar lijken, waarom bestaan ze dan überhaupt? Zou het niet beter zijn om een enkel besturingssysteem te hebben waaruit je kunt kiezen?”
Ik kan deze vraag beantwoorden door ook te vermelden dat hun verschillen ook enorm zijn. Zo veel zelfs dat dit artikel een boek zou worden als ik ze allemaal zou behandelen, in plaats van een gewoon artikel. In plaats daarvan zal ik me richten op de basisprincipes van beide open-source systemen, zodat je zelf kunt kiezen welke de beste keuze is.
Linux vs BSD
Linux wordt technisch gezien niet beschouwd als een besturingssysteem. In plaats daarvan is het in werkelijkheid slechts een kernel. Een kernel is de kern van elk besturingssysteem en bevindt zich ergens tussen de software en de hardware.
Dit stelt de kernel in staat om de gebruiker te helpen gebruik te maken van de middelen die binnen een systeem beschikbaar zijn. Het besturingssysteem zelf is bovenop de kernel gebouwd.
De Kernel vs Het Besturingssysteem
Zowel Linux als BSD’s zijn Unix-achtige besturingssystemen. Wanneer u Linux installeert, installeert u een distributie die is gebouwd met behulp van de Linux-kernel. Er zijn heel wat distributies om uit te kiezen, zoals Ubuntu en Debian, die allemaal de Linux-kernel gebruiken. Verschillende programma’s worden in de kernel ingebed voordat de distributie op de markt wordt gebracht.
BSD is, in tegenstelling tot Linux, een compleet besturingssysteem. BSD heeft ook een kernel, die als de kern van het besturingssysteem wordt gebruikt. Ontwikkelaars van BSD zullen die kernel gebruiken om verschillende soorten programma’s toe te voegen, waardoor ze als een complete distributie beschikbaar komen voor gebruikers. Dit betekent dat een BSD-besturingssysteem, zoals FreeBSD of NetBSD, de kernel is plus alle programma’s die er bovenop zijn toegevoegd en worden gedistribueerd als een enkel, downloadbaar pakket.
BSD’s gebruiken iets dat een ports-systeem wordt genoemd. Dit systeem maakt de installatie van softwarepakketten mogelijk. De software wordt in source-vorm bewaard, wat betekent dat uw computer de gegevens elke keer moet compileren voordat de software kan draaien.
Een voordeel hiervan is dat pakketten in een voorgeïnstalleerde binaire vorm kunnen worden geïnstalleerd, waardoor uw systeem de stap van het compileren van de gegevens kan overslaan.
Het basisverschil tussen beide is dat Linux distributies worden geleverd met verschillende sets van programma’s en repositories, waardoor de gebruiker extra verschillende programma’s kan downloaden die betrekking hebben op de eisen van de distributie.
Wanneer je een BSD besturingssysteem installeert, krijg je alleen de programma’s die BSD biedt. Dit geldt niet voor softwarepakketten, want die zijn voor beide beschikbaar, zoals u zult ontdekken.
Verschillen in licenties
De meeste mensen maakt het misschien niet uit, maar het verschil in licenties is in feite aanzienlijk. Linux gebruikt de GNU General Public License, ofwel de GPL. Dit betekent dat ontwikkelaars de Linux-kernel naar believen kunnen wijzigen of er nieuwe functies aan toevoegen. Het enige addertje onder het gras is dat alle nieuw ontwikkelde broncode moet worden vrijgegeven aan het publiek, of ze dat nu willen of niet.
BSD’s gebruiken hun eigen unieke BSD-licentie die ontwikkelaars toestaat om wijzigingen aan te brengen en nieuwe mogelijkheden toe te voegen aan de BSD-kernel of -distributie, zonder de noodzaak om de broncode vrij te geven. Dit betekent dat een open-source BSD closed-source kan worden verklaard als de ontwikkelaar dat wenst. Hij is niet verplicht om de broncode aan iemand vrij te geven.
Softwarebeschikbaarheid & Compatibiliteit
Dit is het soort zaken dat een directe invloed heeft op de populariteit en aanpasbaarheid van een besturingssysteem voor het grote publiek. De mogelijkheid van een besturingssysteem dat compatibel is met hedendaagse software kan voor de meeste mensen een make-or-break feature zijn.
Wat Linux betreft, is het voor ontwikkelaars gemakkelijker om code te schrijven die aan gebruikers beschikbaar kan worden gesteld in voorgecompileerde binaire pakketten voor installatie. De pakketten kunnen worden geïnstalleerd met apt, yum en andere soortgelijke pakketbeheerders. Het open-source karakter van Linux maakt deze mogelijkheid gemakkelijker.
Voor BSD-gebruikers is de taak niet zo eenvoudig. Gebruikers zullen de broncodes voor de programma’s moeten downloaden uit de duizenden ports die voor hen beschikbaar zijn. Dan, nadat de broncodes zijn gedownload, zouden zij deze op hun systeem moeten compileren.
Dit bezorgt zowel BSD-gebruikers als -ontwikkelaars hoofdbrekens, omdat het gebrek aan populariteit onder algemene gebruikers kan worden toegeschreven aan de extra rompslomp van het compileren van de broncodes. De voorgecompileerde binaire pakketten kunnen gezien worden als de enige reddende engel om de rompslomp uit te bannen, maar komen nog steeds tekort in de beschikbaarheid van toepassingsprogramma’s.
Making A Choice
Linux is zonder twijfel de populairdere keuze onder de open-source, Unix-gebaseerde besturingssystemen. Het heeft de neiging om veel sneller hardware ondersteuning te krijgen dan BSD en voor de meeste algemene doeleinden lijken beide systemen te veel op elkaar om er iets toe te doen.
Beide systemen hebben hun eigen set van voordelen. Als we naar FreeBSD kijken, onderhoudt het ontwikkelteam zijn eigen versie van een groot aantal veelgebruikte gereedschappen. Dit stelt de ontwikkelaars in staat om hun eigen gereedschapsvarianten te maken voor gebruik met hun systeem. Linux systeem-gereedschappen worden voornamelijk geleverd door de GNU suite, dus variaties zijn minder waarschijnlijk.
BSD heeft een ernstig gebrek aan applicaties. Dit heeft ertoe geleid dat ontwikkelaars hebben geprobeerd de situatie onder controle te krijgen door een Linux-compatibiliteitspakket te maken, waardoor Linux-toepassingen op BSD kunnen draaien. Linux distributies hebben geen echte problemen met applicaties, omdat er genoeg beschikbaar zijn voor het publiek.
De echte complicatie is het free-source argument.
Ontwikkelaars & Gebruikers vs Beperkingen
De Linux GPL licentie is over het algemeen strenger voor de ontwikkelaars, en dwingt een vrijgave van alle gewijzigde broncode af. BSD ontwikkelaars daarentegen hebben dergelijke beperkingen niet. Wat men in gedachten moet houden is wat het niet-ontwikkelende publiek aan dit alles heeft.
Fabrikanten kunnen bij het maken van nieuwe apparaten kiezen voor BSD als besturingssysteem in plaats van Linux. Dit zou hen in staat stellen om de wijzigingen in de code voor zichzelf te houden, omdat het gebruik van Linux zou zijn gekomen met de bepaling van het vrijgeven van de broncode aan het publiek.
De beperkingen die aan Linux worden gesteld door hun licentie geeft degenen die toepassingen zoeken voor het systeem de zekerheid dat als er een wordt gemaakt, zij er toegang toe zullen hebben. De BSD-licentie geeft de ontwikkelaars de keuze om gulzig te blijven en niets te zeggen over kernel- en systeemaanpassingen, wat betekent dat zelfs als er iets wordt gemaakt, het grote publiek misschien niet eens weet van het bestaan ervan.
BSD-systemen hebben een betere reputatie gekregen op het gebied van betrouwbaarheid dan zijn Linux-tegenhanger. Dit zet een punt op het scorebord voor BSD. Het is ook in staat om Linux binaries uit te voeren en claimt een centrale repository. Beide dingen waar Linux niet om bekend staat.