19. April 2024

Hvad mangler FreeBSD… Eller BSD’erne generelt?

Jeg faldt over denne Youtube-video af “Robonuggie”, der ofte beskæftiger sig med FreeBSD-videoer. Selvom jeg primært er Linux-mand, så følger jeg BSD’erne lidt på sidelinien, og har tidligere testet både FreeBSD på server og desktop. Jeg vil så gerne se dem lykkes, for det betyder mere frit valg blandt operativsystemerne til alle.

Men hvor FreeBSD virkelig excellerer på serverfronten, så kniber det på desktopsiden, hvor der mangler driversupport til forskelligt hardware f.eks Wifi7-enheder, hvilket “Robonuggie” også nævner i sin video.

Det er på driversupporten *BSD’erne og Linux differentierer sig fra hinanden. Hvor Linux tillader proprietær binær kode i kernel’en, så er det no-go hos FreeBSD, og det har formentlig den betydning, at større hardwareproducenter vender BSD’erne ryggen, fordi producenterne vil beskytte deres kode og patenter. BSD-folkene må så udvikle deres egen åbne driver ved hjælp af trial-and-error, og den slags tager tid.

Vidste du, at en BSD-licens er mindre restriktiv end GPL-licenserne i forhold til modkrav, hvis du bruger kode fra et GPL-projekt? GPL-licenserne bestemmer bl.a. at afledt kode skal offentliggøres under samme licens, så forbedrer du f.eks kernel’en, så skal du tilbyde forbedringerne upstream. Det lyder måske meget stringent og kedeligt, men det sikrer, at upstream-projektet udvikler sig.

Der mener jeg faktisk at hhv. MIT/BSD-licenserne er for løse - og det påvirker også BSD’ernes “vækst”. Åbne, frie licenser fungerer godt i undervisnings- og forskningsmiljøer, og blandt opensource-mindede individer, men det ses tydeligt at en del kommercielle virksomheder nyder godt af den gratis arbejdskraft uden nødvendigvis at bidrage tilbage til projekterne.

Derfor er der også en lidt, synes jeg, opgivende undertone i Robonuggies video, for det er tydeligt, at FreeBSD og de andre vaianter sakker længere og længere bagud, hvis man ser det hele som en konkurrence, og det er virkelig synd, for det er solide systemer, når de kører.

Fremtiden for FreeBSD?

Jeg har ikke føling med BSD-fællesskabet, så jeg ved ikke hvor aktive de forskellige varianter er. Mit kendskab stammer primært fra nogle måneders serverdrift, og lidt desktop-leg. Derfor skal mine “mavefornemmelser” tages med et gran salt.

Udefra set er det dog ikke første gang, jeg mærker en frustration over manglen på hardwaresupport.

Det er vigtigt at pointere her, at det hverken er *BSD-projekternes fejl, men verden omkring dem, der er skruet forkert sammen. Dele af den kommercielle IT-industri hævder, at man beskytter sin kode for at kunne innovere, men man ynder i virkeligheden for det meste at genopfinde hjulet flere gange og forhaler i virkeligheden fælles udvikling.

BSD-projekterne kan langtfra kaldes for døde eller døende, for de har mange dedikerede loyale støtter indenfor mange områder. Men BSD-projekterne virker umiddelbart isolerede fra hinanden, og derfor kan man også nogle gange se f.eks OpenBSD og NetBSD diske op med bedre driversupport på nogle områder, før samme ændringer lander i FreeBSD, som Robonuggie bemærker i løbet af videoen. Dermed bliver de indbyrdes konkurrenter, hvor de måske burde arbejde mere sammen på de mest vitale områder. Men forks, dvs. nye varianter af et eksisterende projekt oprettes ofte, fordi “forkerne” (hæ…) er uenige i retningen, det oprindelige projekt tager. Så der er givetvis kodesmede, der slet ikke har interesse i, at til at bidrage til det gamle projekt.

Skal BSD’erne det blive en succes på desktop-fronten, så skal man nok forlige sig med, at det aldrig bliver godt som generalist-system, medmindre det lykkes at åbne op for mere generel hardwareunderstøttelse. Og så skal man differentiere sig endnu mere fra Linux, end man gør i dag. Giv mig som “Linux-mand” større incitament for at kigge mod BSD’erne… Challenge. Da jeg brugte hhv. GhostBSD og FreeBSD i en periode, følte jeg mig egentlig godt hjemme, både ports (byg fra sourcekode) og package-systemet (binære, pre-kompilerede pakker) virker solide, jeg savnede bare det miljø, jeg kendte.

Nogle ser f.eks gerne Wayland erstatte X11-displayserveren på BSD’erne, men måske skal skal man gå en helt tredje vej. Der har f.eks været snak om at lave en X12-udgave. Det vil formentlig være en mindre omvæltning end at skulle erstatte det hele med Wayland. Udfordringen er så bare, at det er den vej, store desktop GUI-projekter såsom Gnome og KDE kigger.

Linux’ akilleshæl er helt klart den store fragmentering. Der er 5-7 store distroer og mange små, med mere eller mindre individuelle konfigurationer. Nogle projekter virker mere som reskinning fremfor, at man prøver nye veje. Antallet af nye distributioner, pakkeformater mv. er tårnhøjt og forvirrer nybegyndere. Fleksibiliteten er et fænomenalt salgsargument, men kan også være en hæmsko alt efter perspektiv. Den fragmentering har BSD-projekterne ikke helt (endnu), og der kunne man måske vinde på at standardisere komponenter på tværs af projekterne, så de samlet set hænger bedre sammen end det er tilfældet for Linux-økosystemet.

Jeg ser fordelen i BSD’erne i nicheområderne: Virksomheder kan bruge f.eks FreeBSD som fundament til at skabe sit eget økosystem over tid, ligesom Apple har gjort det med MacOS (Note: MacOS bygger på en anden BSD-variant, DarwinBSD, en NeXTStep-fork… Ikke FreeBSD), og deres egen hardwarestack. Sony Playstation 3s OS var en hybrid mellem FreeBSD og NetBSD, mens PS4s OrbisOS var en fork af FreeBSD 9 iflg. Wikipedia - det er bare nogle få eksempler, hvor man har kunnet bruge BSD’erne som fundament. Jeg er på ingen måde fan af den lukkethed Apple og Sony bragte med deres egne BSD-varianter, men illustrerer blot muligheden for at skabe sit eget findes.

Anyway, hav FreeBSD og de andre projekter i baghovedet, når du skal lege med nye projekter, evt. i en virtuel maskine. De fortjener i den grad mere opmærksomhed end de hidtil har fået.

God weekend :)
/Simon out.

Links

FreeBSD
DarwinBSD
PureDarwin, moderne OpenDarwin fork
BSD Hardware Info