FreeBSD er et Unix-lignende styresystem og en iteration af de ældre Unix-distributioner, bedre kendt som Research Unix. Det er open source og offentligt tilgængeligt gratis og er faktisk kun en af de mange Berkeley Software Distributions (forkortet BSD, derfor hedder operativsystemet FreeBSD), de andre bemærkelsesværdige iterationer er OpenBSD, NetBSD og DragonFly BSD.
Linux har som en afledning af Unix naturligvis meget til fælles med BSD’erne. Ligesom BSD er Linux-distributioner også frie og open source-distributioner. På trods af de grundlæggende ligheder har Linux stort set overskygget BSD’erne i popularitet, idet over 74 % af moderne smartphones er Linux-baserede.
Så det rejser spørgsmålet: Hvis BSD og Linux blot er iterationer af research Unix, hvad er det så præcis, der adskiller dem?
Jamen, forskellene mellem de to ligger i de grundlæggende elementer, og forskellene er meget mange. Men at læse dem alle i et enkelt indlæg ville være ret kedeligt for læserne. Derfor vil dette indlæg udelukkende fokusere på det grundlæggende og udelade de indviklede detaljer af hensyn til kortfattethed og for ikke at skræmme de nye læsere væk.
Men hvad er Linux egentlig?
Den første ting, som mange mennesker tager fejl af, er, at Linux er en kerne og ikke et styresystem. Så det gør det kun til en del af operativsystemet, ikke selve operativsystemet.
Lad os diskutere kerner et øjeblik. Kerner fungerer som omdrejningspunktet i ethvert styresystem, da den beholder al den underliggende kode, som styresystemet står på. Den muliggør og fremskynder interaktionen mellem hardware- og softwarekomponenterne i et system, håndterer dets input/output-forespørgsler til og fra softwareprogrammerne og er også ansvarlig for håndteringen af hardwareenhederne.
Kort sagt er en kerne det mest integrerede element i ethvert operativsystem, som det er baseret på, og er således inddraget til en yderst beskyttende del i systemets hukommelse, hvor alle anmodninger om adgang fra programmer afvises, bortset fra nogle få, der er integrerende for systemets drift.
Nu da vi har forstået, hvad en kerne er, kan vi gå videre og se, hvad Linux som kerne gør i operativsystemet.
Linux Kernel within an Operating System
Men blandt de mest populære Linux-baserede operativsystemer er Debian, Ubuntu, Fedora og Deepin. Så når du hører nogen sige, at de bruger Linux, skal du vide, at det faktisk er en af disse distributioner. Disse distributioner er “Linux-baserede”, fordi de er bygget på Linux-kernen. De justeringer, der er foretaget i kernen sammen med de nye programmer, der er indlæst i den, gør hver distribution forskellig fra den anden.
Hvad er BSD, og hvordan adskiller det sig fra Linux?
Som tidligere nævnt er de forskellige distributioner af BSD alle styresystemer. Og det gør BSD, ligesom Linux, til en kerne.
Men for at gøre tingene komplicerede er BSD også et selvstændigt styresystem, hvilket Linux ikke er. Lad os forklare hvordan præcist.
For BSD-distributioner er flere programmer tilføjet til BSD-kernen. Denne kombination frigives derefter som en selvstændig, komplet pakke, der skal installeres, og så er tingene klar til brug. Så den centrale forskel mellem BSD-distributioner som FreeBSD, OpenBSD osv. skyldes altså de programmer, der er tilføjet til kerneoperativsystemet. For at hente yderligere softwarepakker bruger BSD-brugere ports-systemet, som opbevarer disse pakker i kildekodeform. Kildekoden kompileres af systemet, hver gang softwaren lanceres. Selv om dette kan vise sig at være besværligt, især når der køres længere og mere indviklede koder, kan BSD-systemer helt springe kompileringstrinnet ved hver lancering over, hvis programmet installeres i binær tilstand, hvilket i høj grad letter processen.
Linux adskiller sig fra BSD i den henseende, at hver enkelt distribution anvender helt forskellige programmer, og at distributionerne ikke har et centraliseret repository for softwarepakker, da hver distribution har sit eget repository.
Forskelle i licensering
En af de grundlæggende forskelle mellem BSD og Linux er det licenssystem, som deres distributioner udgives under.
Når du downloader software fra BSD’s Ports-repositorium eller installerer en distribution som helhed, tildeles softwaren eller distributionen til dig under BSD-licensen, som er et tilpasset licenssystem, der er anvendt af BSD-udviklerne. BSD er helt open source og gratis fra nu af, men BSD-licenssystemet gør det muligt for udviklerne at erklære BSD for lukket kildekode med et øjebliks varsel. Som FreeBSD-bruger er du ikke juridisk berettiget til yderligere udgivelser fra BSD-udviklerne. BSD-udviklerne har dog offentliggjort, at de har til hensigt at holde det open source i fremtiden.
Linux-distributioner er udgivet under GNU General Public License (GPL). Under dette licenssystem er Linux-udviklerne juridisk tvunget til at frigive hver eneste ændring, der foretages i Linux-kernen. Licenssystemet sikrer i det væsentlige, at Linux forbliver open source, uanset hvilke ændringer der foretages i selve kernen.
Hvorfor er Linux mere populær? (Spoilers: Softwaretilgængelighed)
Hvis du hele tiden har undret dig over, hvorfor du ikke har hørt så meget om BSD’er, som du hører om Linux-distributioner, så er her grunden: Når det gælder softwarekompatibilitet, slår Linux den lige ud af parken. For hver eneste software der findes, findes der en Linux-kompatibel udgave. Dette er ikke tilfældet for FreeBSD, som af den grund stadig er stort set forsømt.
Linux-kernen gør det nemmere at skrive og distribuere softwareprogrammer sammenlignet med andre kerner, så udviklere er naturligt tilbøjelige til at arbejde hen imod Linux-udgivelser. Især distributionen bliver endnu nemmere af det forudinstallerede binære pakkesystem, som den muliggør. Linux gør det muligt at hente og installere softwarepakker via pakkehåndteringsprogrammer som apt, yum, Pacman osv.
I forhold til softwaredistribution i Linux har BSD-brugere det meget sværere. Softwarepakkerne hentes først som kildekoder i BSD via portsystemet. Disse kildekoder kompileres derefter hver gang de lanceres, en proces, der er både tidskrævende og frustrerende i den moderne tidsalder, hvor software installeres med et klik på en knap. Dette er lige så frustrerende for udviklerne, da de skal lægge en hel masse arbejde i at få kompileringen til at gå så hurtigt som muligt.
Men selv om indførelsen af forudkompilerede binære pakker i høj grad har afbødet processen med at få software i FreeBSD, er tilgængeligheden af software stadig et enormt problem for BSD’er.
Valg mellem Linux og BSD
Og bortset fra de mere mainstream Windows og IOS, er Linux-distributioner langt foran alle andre styresystemer derude. Det er gratis, open source og har alt, hvad FreeBSD har at byde på, uden de forbehold, som FreeBSD har.
BSD og Linux er meget mere fælles, end de er forskellige, med licensering og softwaredistribution som de eneste centrale forskelle. Men på trods af lighederne er det at bruge det ene en afvejning af det andet.
På den ene side vedligeholder FreeBSD et bibliotek af værktøjer og afhængigheder på tværs af alle distributioner, hvilket gør det lettere for udviklerne at iterere indholdet og komme med egne applikationer. Her har FreeBSD en betydelig fordel i forhold til Linux, da GNU-pakken, der følger med Linux, ikke tillader dette.
Men på den anden side er den manglende kompatibilitet og tilgængelighed af software en alvorlig hindring for oplevelsen med FreeBSD. Dette problem kan løses ved at bruge Linux-kompatibilitetspakken, som gør det muligt at køre Linux-software på BSD-distributioner, men det er et ekstra skridt, som ikke desto mindre stadig hæmmer oplevelsen.
Men hvad angår licenser, er Linux GPL-licensen meget mere restriktiv end BSD-licensen. Udviklere eller brugere kan ikke lave variationer i Linux-kernen eller kildekoden uden at gøre det offentligt. BSD-brugere har ikke sådanne forpligtelser; derfor bør udviklere i det mindste prøve BSD af. At kunne holde kildekoden privat er en betydelig fordel, som Linux ikke kan tilbyde.
Licensgivningen for Linux-distributioner er forudindtaget til fordel for brugerne, da den bekræfter, at enhver udvikling, der foretages for at forbedre programmerne til systemet, vil blive stillet til rådighed for brugerne. BSD-licensen er på den anden side mere beslægtet med standardlicensen, der tillader brugerne at installere BSD’er gratis, men ikke holder udviklerne til at offentliggøre deres indhold.
Vores anbefalinger
Vi vil anbefale en Linux-distribution, hvis du vil bruge den til generelle formål. Dens softwarekompatibilitet er grund nok til, at vi anbefaler den. Men hvis du er producent, er BSD den rigtige løsning for dig. Det har et centraliseret repository for software og er velanset for sin pålidelighed. Og hvad angår BSD-licensering, behøver du ikke at bekymre dig om at gøre dit arbejde open source.
Hvis du har valgt Linux Kernel, vil vi anbefale dig at bruge Ubuntu. Den opdateres regelmæssigt hver sjette måned, en konsistens, der efter min mening skaber en god balance mellem at holde trit med sikkerhedsproblemer og ikke frustrere brugerne.
Og hvis du vælger BSD-kernen, vil vi anbefale FreeBSD, som i det store og hele er den mest anvendte distribution af BSD derude.