FreeBSD är ett Unix-liknande operativsystem och en iteration av de äldre Unix-distributionerna, mer känd som Research Unix. Det har öppen källkod och är offentligt tillgängligt gratis, och är egentligen bara en av de många Berkeley Software Distributions (förkortat BSD, därav heter operativsystemet FreeBSD), de andra anmärkningsvärda iterationerna är OpenBSD, NetBSD och DragonFly BSD.
Linux, som är en avledning av Unix, har naturligtvis mycket gemensamt med BSD:erna. I likhet med BSD är Linux-distributioner också fria och med öppen källkod. Trots de grundläggande likheterna har Linux i stort sett överskuggat BSD:erna i popularitet, med över 74 % av moderna smartphones som är Linuxbaserade.
Så det väcker frågan: Om BSD och Linux bara är upprepningar av forskningsunix, vad är det då som skiljer dem åt?
Den stora skillnaden mellan de två ligger i grunderna, och skillnaderna är väldigt många. Men att läsa dem alla i ett enda inlägg skulle vara ganska tråkigt för läsarna. Därför kommer det här inlägget att fokusera enbart på grunderna och lämna de invecklade detaljerna åt sidan för att göra det kortfattat och för att inte skrämma bort de nya läsarna.
Men vad är Linux egentligen?
Det första som många människor missuppfattar är att Linux är en kärna, inte ett operativsystem. Det gör det alltså bara till en del av operativsystemet, inte själva operativsystemet.
Låt oss diskutera kärnor för en stund. Kärnor tjänar som en pivot i alla operativsystem, eftersom den behåller all underliggande kod som operativsystemet står på. Den möjliggör och påskyndar interaktionen mellan hårdvaru- och programvarukomponenterna i ett system, hanterar dess in- och utdataförfrågningar till och från programvarutillämpningarna och ansvarar även för hanteringen av hårdvaruenheterna.
Kort sagt är en kärna den mest integrerade funktionen i varje operativsystem som det bygger på, och är därför indragen till en mycket skyddande del i systemets minne där alla åtkomstförfrågningar från program nekas, med undantag för ett fåtal som är integrerade för systemets funktion.
När vi nu förstår vad en kärna är kan vi gå vidare och se vad Linux, som kärna, gör i operativsystemet.
Linux Kernel within an Operating System
Av de mest populära Linuxbaserade operativsystemen är Debian, Ubuntu, Fedora och Deepin. Så när du hör någon säga att de använder Linux kan du veta att det faktiskt är en av dessa distributioner. Dessa distributioner är ”Linuxbaserade” eftersom de bygger på Linuxkärnan. Justeringen av kärnan tillsammans med de nya programmen som laddas in i den gör att varje distribution skiljer sig från den andra.
Vad är BSD och hur skiljer det sig från Linux?
Som tidigare nämnts är de olika distributionerna av BSD alla operativsystem. Och det gör BSD, liksom Linux, till en kärna.
Men för att göra saker och ting komplicerade är BSD också ett fristående operativsystem, vilket Linux inte är. Låt oss förklara exakt hur.
För BSD-distributioner läggs flera program till BSD-kärnan. Denna kombination släpps sedan som ett fristående, komplett paket som behöver installeras, så är saken klar. Så den centrala skillnaden mellan BSD-distributioner som FreeBSD, OpenBSD osv. beror på de program som läggs till operativsystemet kärnan. För att hämta ytterligare programvarupaket använder BSD-användare ports-systemet, som håller dessa paket i källkod. Källkoden kompileras av systemet varje gång programvaran startas. Även om detta kan visa sig vara besvärligt, särskilt när man kör längre och mer invecklade koder, kan BSD-system hoppa över kompileringssteget vid varje start helt och hållet om programmet installeras i binärt tillstånd, vilket underlättar processen i stor utsträckning.
Linux skiljer sig från BSD i det avseendet att var och en av dess distributioner använder helt olika program och att distributionerna inte har något centraliserat arkiv för programvarupaket, eftersom varje distribution har sitt eget arkiv.
Skillnader i licensiering
En av de grundläggande skillnaderna mellan BSD och Linux är det licenssystem under vilket deras distributioner släpps ut.
När du laddar ner programvara från Ports repository i BSD eller installerar en distribution i sin helhet, tilldelas programvaran eller distributionen till dig under BSD-licensen, som är ett anpassat licenssystem som används av BSD-utvecklarna. Även om BSD är helt öppen källkod och fri från och med nu, gör BSD-licenssystemet det möjligt för utvecklarna att förklara BSD som sluten källkod med ett ögonblicks varsel. Som FreeBSD-användare har du ingen laglig rätt till ytterligare utgåvor från BSD-utvecklarna. BSD-utvecklarna har dock offentliggjort att de har för avsikt att hålla det öppet i framtiden.
Linuxdistributioner släpps under GNU General Public License (GPL). Enligt detta licenssystem är Linuxutvecklare juridiskt tvungna att offentliggöra varje enskild ändring som görs i Linuxkärnan. Licenssystemet ser i princip till att Linux förblir en öppen källkod, oavsett vilka ändringar som görs i själva kärnan.
Varför är Linux mer populärt? (Spoilers: Mjukvarutillgänglighet)
Om du har undrat hela tiden varför du inte har hört talas lika mycket om BSD:er som om Linuxdistributioner, så har du här svaret: när det gäller mjukvarukompatibilitet är Linux helt överlägset. För varje programvara som finns finns det en Linux-kompatibel version. Detta är inte fallet för FreeBSD, som förblir i stort sett försummat av den anledningen.
Linuxkärnan gör det enklare att skriva och distribuera mjukvaruprogram jämfört med andra kärnor, så utvecklare är naturligtvis benägna att arbeta mot Linuxutgåvor. Särskilt distributionen blir ännu enklare genom det förinstallerade binära paketsystemet som den underlättar. Linux gör det möjligt att hämta och installera programvarupaket via pakethanterare som apt, yum, Pacman etc.
I jämförelse med programvarudistribution i Linux har BSD-användare det mycket svårare. Programvarupaketen hämtas först som källkoder i BSD via portsystemet. Dessa källkoder kompileras sedan varje gång de startas, en process som är både tidskrävande och frustrerande i den moderna tidsåldern där programvara installeras med en knapptryckning. Detta är lika frustrerande för utvecklarna, eftersom de måste lägga ner en hel del arbete för att kompileringen ska gå så snabbt som möjligt.
Och även om införandet av förkompilerade binära paket till stor del har mildrat processen för att få fram programvara i FreeBSD, förblir tillgången till programvara fortfarande ett enormt problem för BSD:er.
Välja mellan Linux och BSD
Ovanpå de mer vanliga Windows och IOS är Linuxdistributionerna sprunget iväg med stormsteg jämfört med alla andra operativsystem som finns. Det är gratis, har öppen källkod och har allt som FreeBSD har att erbjuda, utan förbehållen.
BSD och Linux har mycket mer gemensamt än de skiljer sig åt, med licensiering och programvarudistribution som de enda centrala skillnaderna. Trots likheterna är det ändå så att om man använder det ena systemet måste man göra avkall på det andra.
Å ena sidan upprätthåller FreeBSD ett bibliotek med verktyg och beroenden i alla distributioner, vilket gör det lättare för utvecklarna att iterera innehållet och komma med egna tillämpningar. Här har FreeBSD en avsevärd fördel jämfört med Linux, eftersom GNU-sviten som ingår i Linux inte tillåter detta.
Men å andra sidan hindrar bristen på mjukvarukompatibilitet och tillgänglighet allvarligt upplevelsen av FreeBSD. Detta problem kan lösas genom att använda Linux-kompatibilitetspaketet, vilket gör att Linuxprogramvara kan köras på BSD-distributioner, men detta är ett extra steg som ändå hindrar upplevelsen.
När det gäller licensiering är Linux GPL-licensen mycket mer restriktiv än BSD-licensen. Utvecklare eller användare kan inte göra variationer i Linuxkärnan eller källkoden utan att göra den offentlig. BSD-användare har inga sådana skyldigheter; därför bör utvecklare åtminstone prova BSD. Att kunna hålla källkoden privat är en betydande fördel som Linux inte erbjuder.
Licenserna för Linuxdistributioner är partiska till användarnas fördel, eftersom de bekräftar att all utveckling som görs för att förbättra tillämpningar för systemet kommer att göras tillgänglig för användarna. BSD-licensen är å andra sidan mer lik standardlicensen, som tillåter användarna att installera BSD-distributioner gratis men som inte tvingar utvecklarna att offentliggöra sitt innehåll.
Vår rekommendation
Vi skulle rekommendera en Linuxdistribution om du ska använda den för allmänna ändamål. Dess mjukvarukompatibilitet är skäl nog för oss att rekommendera den. Om du är tillverkare är dock BSD det rätta alternativet för dig. Det har ett centraliserat arkiv för programvara och är välrenommerat för sin tillförlitlighet. Och när det gäller BSD-licensiering behöver du inte oroa dig för att göra ditt arbete öppen källkod.
Om du har valt Linux Kernel rekommenderar vi att du använder Ubuntu. Den uppdateras regelbundet var sjätte månad, en konsekvens som enligt min åsikt är en bra balans mellan att hålla jämna steg med säkerhetsproblem och att inte frustrera användarna.
Och om du väljer BSD-kärnan rekommenderar vi FreeBSD, som i stort sett är den mest använda BSD-distributionen där ute.