Interview met MidnightBSD oprichter en hoofdrolspeler Lucas Holt

Onlangs heb ik een kleine duik genomen in de wereld van BSD. Als onderdeel van mijn poging om de BSD-wereld een beetje beter te begrijpen, heb ik contact gehad met Lucas Holt (MidnightBSD-oprichter en hoofdontwikkelaar) om hem een ​​paar vragen over zijn project te stellen. Dit zijn zijn antwoorden.

Het is FOSS : leg MidnightBSD in een notendop uit. Hoe is het anders dan andere BSD's?

Lucas Holt : MidnightBSD is een op desktop gericht besturingssysteem. Als het als stabiel wordt beschouwd, biedt het een volledige desktopervaring. Dit verschilt van andere inspanningen zoals TrueOS of GhostBSD doordat het geen distro is van FreeBSD, maar eerder een vork. MidnightBSD heeft een eigen pakketbeheerder, zowelport als unieke pakketcluster-software en verschillende functies die zijn ingebouwd in gebruikersland, zoals mDNSresponder, libdispatch en aanpassingen in het hele systeem.

Het is FOSS : op wie richt MidnightBSD zich?

Lucas Holt : Het doel met MidnightBSD is altijd geweest om een ​​desktop-besturingssysteem te leveren dat bruikbaar is voor dagelijkse taken en dat zelfs enigszins niet-technische mensen kunnen gebruiken. Vroege versies van Mac OS X waren zeker een inspiratie. In de praktijk zijn we op dit punt nog ver verwijderd van dat doel, maar het was een uitstekende leermogelijkheid.

Het is FOSS : wat is je achtergrond op computers?

Lucas Holt : Ik ben begonnen in technische ondersteuning bij een kleine internetprovider en ben begonnen met webontwerp en systeembeheer. Toen ik daar was, leerde ik BSDi, Solaris en Linux. Ik begon ook te sleutelen aan het programmeren van webapps in ASP en een beetje perl CGI. Vervolgens heb ik een mix van programmeer- en systeembeheeropdrachten gedaan via de universiteit en ben ik afgestudeerd met een bachelor in CS aan de Eastern Michigan University. In die tijd leerde ik NetBSD en FreeBSD. Ik begon aan verschillende projecten te werken, zoals het porten van Apple's HFS + code naar FreeBSD 6 en bezig te zijn met het verkrijgen van de nforce2 chipset SATA-controller die werkt met FreeBSD 6, waarbij de laatste zich inzet. Ik kreeg een echte voorliefde voor BSD en na het zien van het gebrek aan interesse in de gemeenschap voor desktop-BSD's, begon ik MidnightBSD. Ik begon er eind 2005 aan te werken.

Op dit moment ben ik een Senior Software Engineer die zich richt op back-end rustdiensten overdag en een part-time afgestudeerde student aan de University of Michigan Flint.

Het is FOSS : ik heb onlangs TrueOS geïnstalleerd. Ik was teleurgesteld dat een paar van de programma's die ik wilde niet beschikbaar waren. Het FreeBSD-poortsysteem zag er voor beginners uitermate gecompliceerd uit. Ik ben gewend om pacman te gebruiken om de klus snel klaar te krijgen. Hoe gaat MidnightBSD om met poorten?

Lucas Holt : MidnightBSD heeft zijn eigen poortsysteem, mports, dat overeenkomsten heeft met FreeBSD-poorten, evenals enkele ideeën van OpenBSD. We besloten al vroeg dat fatsoenlijk pakketbeheer essentieel was voor reguliere gebruikers. Hoofdgebruikers zullen nog steeds poorten gebruiken voor bepaalde software, maar het is net zo tijdrovend om alles te bouwen. We zijn begonnen aan onze eigen pakketmanager, mport.

Elk pakket is een tar lzma-archief met een sqlite3-manifestbestand en een sqlite 3-index die is gedownload van onze server. Hiermee kunnen gebruikers het pakketsysteem opvragen en aanpassen met standaard SQL-query's. We bouwen ook meer gebruiksvriendelijke grafische hulpmiddelen.

Beschikbaarheid van pakketten is een ander probleem dat de meeste BSD's hebben. Software is meestal geschreven voor een of twee besturingssystemen en veel projecten zijn terughoudend om andere systemen te ondersteunen, met name kleinere projecten zoals MidnightBSD. Er zijn zeker hiaten. Alle BSD-projecten hebben meer vrijwilligers nodig om port software te helpen en up-to-date te houden.

Het is FOSS : tijdens je interview in juni 2015 op BSDNow, zei je dat hoewel je zowel i386 als amd64 ondersteunt, je aanraadt dat mensen amd64 kiezen. Heb je plannen om i386-ondersteuning in de toekomst te laten vallen, zoals velen hebben gedaan?

Lucas Holt : Ja, we zijn van plan i386-ondersteuning te laten vallen, vooral vanwege het extra werk dat nodig is om pakketten te bouwen en te onderhouden. Ik heb dit tot nu toe opgehouden omdat ik veel feedback had van gebruikers in Zuid-Amerika dat ze het nog steeds nodig hadden. Voor nu is het plan om i386-ondersteuning te behouden via versie 1.0. Dat is waarschijnlijk een jaar of twee uit.

Het is FOSS : welke desktopomgevingen ondersteunt MidnightBSD?

Lucas Holt : Oorspronkelijk was het plan om Etoile als een desktopomgeving te gebruiken, maar dat project veranderde van focus. We ondersteunen momenteel Xfce, Gnome 3, WindowMaker + GNUstep + Gworkspace als primaire keuzes. We hebben ook verschillende andere vensterbeheerders en bureaubladomgevingen beschikbaar, zoals verlichting, rattengif, afterstep, enz.

Eerdere versies boden KDE 3.x aan, maar we hadden enkele problemen met KDE 4. We kunnen dit opnieuw bekijken met nieuwere versies.

Het is FOSS : Wat is het standaardbestandssysteem van MidnightBSD? Ondersteunt u het HAMMER-bestandssysteem van DragonflyBSD? Welke andere bestandssystemen?

Lucas Holt : opstartvolumes zijn UFS2. We ondersteunen ook ZFS voor extra opslag. We hebben ondersteuning voor ExFat, NTFS, ext2, CD9660 gelezen. NFS v3 en v4 worden ook ondersteund voor netwerkbestandssystemen.

We ondersteunen HAMMER niet, hoewel dit wel werd overwogen. Ik zou graag zien dat HAMMER2 uiteindelijk wordt toegevoegd aan MidnightBSD.

Het is FOSS : is MidnightBSD getroffen door de recente Spectre- en Meltdown-problemen?

Lucas Holt : Ja. De meeste besturingssystemen werden door deze problemen getroffen. We werden niet op de hoogte gebracht van het probleem totdat het grote publiek op de hoogte was. Er wordt hard gewerkt aan passende mitigaties. Helaas hebben we nog geen patch.

Het is FOSS : de Raspberry Pi en zijn vele klonen hebben het ARM-platform erg populair gemaakt. Zijn er plannen om MidnightBSD beschikbaar te maken op dat platform?

Lucas Holt : Geen onmiddellijke plannen. ARM is een interessante architectuur, maar door de aard van SoC-ontwerpen kost het veel werk om een ​​breed aantal apparaten te ondersteunen. Het kan mogelijk zijn als we stoppen met het ondersteunen van i386 of als iemand vrijwilligers is om aan de ARM-poort te werken.

Uiteindelijk denk ik dat de meeste hobbysystemen ARM-chips moeten gebruiken. Intel's planning voor het vergrendelen van hardware met UEFI 3 en dit kan het moeilijk maken om in de toekomst op commodity-hardware te draaien, niet alleen voor MidnightBSD maar ook voor andere systemen.

Op een gegeven moment draaide MidinightBSD op sparc64. Toen werkstations werden gedood, lieten we de ondersteuning vallen. Een desktop-besturingssysteem op een serverplatform heeft weinig zin.

Het is FOSS : biedt MidnightBSD ondersteuning voor Linux-applicaties?

Lucas Holt : Ja, we bieden Linux-emulatie aan. Het emuleert momenteel een 2.6.16-kernel en die moet worden bijgewerkt om nieuwere apps te ondersteunen. Het is echter mogelijk om semi-recente versies van Firefox, Thunderbird, Java en OpenOffice te gebruiken. Ik heb het ook gebruikt om gameservers in het verleden te hosten en oudere games te spelen zoals Quake 3, vijandelijk gebied, enz.

Het is FOSS : Zou je kunnen reageren op de recente opsomming tussen de ontwikkelaars van de Pale Moon-browser en het team achter het OpenBSD-havensysteem?

[Notitie van de auteur: voor degenen die dit nog niet hebben gehoord, laat me het samenvatten. Vorige maand heeft iemand van het OpenBSD-team de Pale Moon-browser toegevoegd aan hun ports-verzameling. Een ontwikkelaar van Pale Moon eiste dat ze de bibliotheken van Pale Moon bevatten in plaats van systeembibliotheken te gebruiken. Naarmate het gesprek voortduurde, werd het vijandiger, vooral aan de kant van de Pale Moon. Het netto resultaat is dat Pale Moon niet beschikbaar zal zijn op OpenBSD, MidnightBSD of FreeBSD.]

Lucas Holt : Ik vond deze discussie frustrerend. Veel van de BSD-projecten horen veel klachten over de beschikbaarheid en compatibiliteit van browsers. Wanneer Firefox naar Rust verhuist, wordt het nog moeilijker. Dan kom je in branding-problemen. Net als Firefox hebben de ontwikkelaars van Pale Moon besloten om hun merk te beschermen ten koste van gebruikers. In tegenstelling tot de Firefox-ontwikkelaars hebben ze zelfs nog vreemdere eisen gesteld aan branding. Het is niet mogelijk om een ​​systeembibliotheekversie van iets met Pale Moon te gebruiken en hun merkvereisten te behouden. Als zodanig kunnen we Pale Moon niet aanbieden in MidnightBSD.

De reden dat dit een probleem is voor een open source-project, is dat veel bibliotheken van derde partijen worden gebruikt in zoiets complex als een webbrowser. Gecko-gebaseerde browsers gebruiken bijvoorbeeld verschillende multimediabibliotheken, sqlite3 (voor bladwijzers), audio- en video-codecs, etc. Het is moeilijk om stroomopwaartse patches voor elk van deze items te behouden. Dat is de reden waarom de BSD's om te beginnen ports-collecties hebben. Hiermee kunnen we aangepaste patches bijhouden en beheren om al deze bibliotheken te laten werken. We doen veel moeite om deze up-to-date te houden. Soms worden upstream-patches niet opgenomen. Dat betekent dat onze versies de enige werkkopieën zijn. Met het beleid van bleke maans moeten we afzonderlijke patches indienen bij hun aangepaste versies van al deze bibliotheken en elke nieuwe versie van de browser is niet beschikbaar als er wijzigingen optreden. Het is misschien niet eens mogelijk om bleke maan lokaal te comprimeren zonder patch.

Met betrekking tot Rust vereist het porteren van de taal, evenals een geschikte versie van LLVM voordat je zelfs in de browser kunt starten.

Het is FOSS : als iemand een bijdrage wilde leveren aan uw project, zowel financieel als technisch, hoe kunnen zij dat dan doen?

Lucas Holt : financiële steun voor het project kan online worden ingediend. We hebben een pagina waarin wordt beschreven hoe u donaties kunt doen met Patreon, Paypal of via bitcoin. Donaties zijn niet fiscaal aftrekbaar. Je kunt meer informatie vinden op //www.midnightbsd.org/donate/

We hebben ook hulp nodig bij vertalingen, portering van applicaties en werken aan het eigenlijke besturingssysteem. Geïnteresseerde partijen kunnen contact met ons opnemen op de mailinglijst of via IRC op freenode #midnightbsd. We kunnen ook hulp gebruiken bij het spiegelen van ISO's en pakketten.


Ik zou Lucas willen bedanken voor het nemen van de tijd om mijn vele vragen te beantwoorden. Ga naar hun website voor meer informatie over MidnightBSD of om het te downloaden. De meest recente versie van MidnightBSD is 0.8.6.

Heb je ooit gespeeld met MidnightBSD? Wat is je favoriete versie van BSD?

Als u dit artikel interessant vindt, neem dan even de tijd om het op sociale media te delen.

Aanbevolen

Hoe standaardtoepassingen wijzigen in Ubuntu
2019
Krijg gecertificeerde Linux, AWS en meer met Linux Academy
2019
LibreOffice 5.0 uitgebracht! Bekijk de nieuwe functies
2019