Interview mit MidnightBSD-Gründer und Lead-Entwickler Lucas Holt

Vor kurzem habe ich mich ein wenig in die Welt von BSD vertieft. Als Teil meines Versuchs, die BSD-Welt ein wenig besser zu verstehen, habe ich mich mit Lucas Holt (MidnightBSD-Gründer und Hauptentwickler) in Verbindung gesetzt, um ihm ein paar Fragen zu seinem Projekt zu stellen. Hier sind seine Antworten.

Es ist FOSS : Bitte erkläre MidnightBSD kurz und bündig. Wie unterscheidet es sich von anderen BSDs?

Lucas Holt : MidnightBSD ist ein Desktop-fokussiertes Betriebssystem. Wenn es als stabil angesehen wird, bietet es eine vollständige Desktop-Erfahrung. Dies unterscheidet sich von anderen Bemühungen wie TrueOS oder GhostBSD darin, dass es sich nicht um eine Distribution von FreeBSD handelt, sondern vielmehr um eine Fork. MidnightBSD verfügt über einen eigenen Paketmanager, mport sowie eine einzigartige Paket-Cluster-Software und verschiedene Funktionen, die in das Benutzerland integriert sind, z. B. mDNSresponder, libdispatch und Anpassungen im gesamten System.

Es ist FOSS : An wen richtet sich MidnightBSD?

Lucas Holt : Das Ziel von MidnightBSD war es schon immer, ein Desktop-Betriebssystem bereitzustellen, das für alltägliche Aufgaben geeignet ist und das auch technisch weniger versierte Personen verwenden können. Frühe Versionen von Mac OS X waren sicherlich eine Inspiration. In der Praxis sind wir zu diesem Zeitpunkt ziemlich weit von diesem Ziel entfernt, aber es war eine hervorragende Gelegenheit zum Lernen.

Es ist FOSS : Was ist Ihr Hintergrund in Computern?

Lucas Holt : Ich habe bei einem kleinen ISP im technischen Support angefangen und bin in die Bereiche Webdesign und Systemadministration gewechselt. Dort habe ich BSDi, Solaris und Linux gelernt. Ich fing auch an, mit dem Programmieren von Web-Apps in ASP und ein wenig Perl-CGI zu experimentieren. Danach habe ich eine Mischung aus Programmier- und Systemadministrationsberufen am College absolviert und mit einem Bachelor in CS von der Eastern Michigan University abgeschlossen. In dieser Zeit habe ich NetBSD und FreeBSD gelernt. Ich habe angefangen, an mehreren Projekten zu arbeiten, z. B. an der Portierung von Apples HFS + -Code auf FreeBSD 6 und daran, den SATA-Controller mit nforce2-Chipsatz auf FreeBSD 6 zu bringen, wobei letzterer festgeschrieben wurde. Ich bekam einen echten Geschmack für BSD und nachdem ich das mangelnde Interesse an der Community für Desktop-BSDs gesehen hatte, startete ich MidnightBSD. Ich habe Ende 2005 damit begonnen.

Derzeit bin ich Senior Software Engineer mit Schwerpunkt auf Backend-Ruheservices bei Tag und Teilzeit-Doktorand an der University of Michigan Flint.

Es ist FOSS : Ich habe kürzlich TrueOS installiert. Ich war enttäuscht, dass einige der von mir gewünschten Programme nicht verfügbar waren. Das FreeBSD-Portsystem sah für Anfänger etwas kompliziert aus. Ich bin es gewohnt, Pacman zu verwenden, um die Arbeit schnell zu erledigen. Wie geht MidnightBSD mit Ports um?

Lucas Holt : MidnightBSD hat ein eigenes Portsystem, mports, das Ähnlichkeiten mit FreeBSD-Ports aufweist, sowie einige Ideen von OpenBSD. Wir haben uns frühzeitig dafür entschieden, dass ordentliches Paketmanagement für reguläre Benutzer unabdingbar ist. Hauptbenutzer verwenden weiterhin Ports für bestimmte Software, aber es ist nur so zeitaufwendig, alles zu erstellen. Wir haben begonnen, an unserem eigenen Paketmanager, mport, zu arbeiten.

Jedes Paket ist ein tar lzma-Archiv mit einer SQLite3-Manifestdatei sowie einem SQLite 3-Index, der von unserem Server heruntergeladen wird. Auf diese Weise können Benutzer das Paketsystem mit Standard-SQL-Abfragen abfragen und anpassen. Wir entwickeln außerdem benutzerfreundlichere grafische Tools.

Die Paketverfügbarkeit ist ein weiteres Problem, das die meisten BSDs haben. Software wird in der Regel für ein oder zwei Betriebssysteme geschrieben, und viele Projekte unterstützen andere Systeme nur ungern, insbesondere kleinere Projekte wie MidnightBSD. Es gibt sicherlich Lücken. Alle BSD-Projekte benötigen mehr Freiwillige, die bei der Portierung und Aktualisierung der Software helfen.

Es ist FOSS : Während Ihres Interviews auf BSDNow im Juni 2015 haben Sie erwähnt, dass Sie, obwohl Sie sowohl i386 als auch amd64 unterstützen, Menschen empfehlen, sich für amd64 zu entscheiden. Haben Sie Pläne, den i386-Support in Zukunft einzustellen, wie es viele getan haben?

Lucas Holt : Ja, wir planen, den i386-Support einzustellen, hauptsächlich wegen der zusätzlichen Arbeit, die für die Erstellung und Wartung von Paketen erforderlich ist. Ich habe mich bisher zurückgehalten, weil ich viele Rückmeldungen von Anwendern in Südamerika hatte, dass sie es noch brauchten. Derzeit ist geplant, die i386-Unterstützung bis zum 1.0-Release beizubehalten. Das ist wahrscheinlich ein oder zwei Jahre her.

It's FOSS : Welche Desktop-Umgebungen unterstützt MidnightBSD?

Lucas Holt : Der ursprüngliche Plan war, Etoile als Desktop-Umgebung zu verwenden, aber dieses Projekt hat den Fokus geändert. Wir unterstützen derzeit Xfce, Gnome 3, WindowMaker + GNUstep + Gworkspace als primäre Auswahl. Wir haben auch mehrere andere Fenstermanager und Desktop-Umgebungen zur Verfügung, wie Aufklärung, Rattengift, Afterstep, etc.

Frühe Versionen boten KDE 3.x an, aber wir hatten einige Probleme mit KDE 4. Wir werden dies möglicherweise mit neueren Versionen wiederholen.

Es ist FOSS : Was ist das Standard-Dateisystem von MidnightBSD? Unterstützen Sie das HAMMER-Dateisystem von DragonflyBSD? Welche anderen Dateisysteme?

Lucas Holt : Boot-Volumes sind UFS2. Wir unterstützen auch ZFS für zusätzlichen Speicher. Wir haben Unterstützung für ExFat, NTFS, ext2, CD9660 gelesen. NFS v3 und v4 werden auch für Netzwerkdateisysteme unterstützt.

Wir unterstützen HAMMER nicht, obwohl dies in Betracht gezogen wurde. Ich würde gerne sehen, wie HAMMER2 irgendwann zu MidnightBSD hinzugefügt wird.

It's FOSS : Ist MidnightBSD von den neuesten Spectre- und Meltdown-Problemen betroffen?

Lucas Holt : Ja. Die meisten Betriebssysteme waren von diesen Problemen betroffen. Wir wurden nicht über das Problem informiert, bis die Öffentlichkeit darauf aufmerksam wurde. Es wird derzeit daran gearbeitet, geeignete Abhilfemaßnahmen zu finden. Leider haben wir noch keinen Patch.

Es ist FOSS : Der Raspberry Pi und seine vielen Klone haben die ARM-Plattform sehr beliebt gemacht. Gibt es Pläne, MidnightBSD auf dieser Plattform verfügbar zu machen?

Lucas Holt : Keine unmittelbaren Pläne. ARM ist eine interessante Architektur, die aufgrund des SoC-Designs viel Arbeit erfordert, um eine Vielzahl von Geräten zu unterstützen. Es kann vorkommen, dass wir die Unterstützung von i386 einstellen oder dass jemand freiwillig am ARM-Port arbeitet.

Schließlich denke ich, dass die meisten Hobby-Systeme ARM-Chips ausführen müssen. Intels Plan, Hardware mit UEFI 3 zu sperren und dies könnte es schwierig machen, in Zukunft nicht nur für MidnightBSD, sondern auch für andere Systeme auf Standardhardware zu laufen.

Zu einem bestimmten Zeitpunkt lief MidinightBSD auf sparc64. Als die Workstations abgeschaltet wurden, haben wir die Unterstützung eingestellt. Ein Desktop-Betriebssystem auf einer Serverplattform ist wenig sinnvoll.

It's FOSS : Bietet MidnightBSD Unterstützung für Linux-Anwendungen?

Lucas Holt : Ja, wir bieten eine Linux-Emulation an. Es emuliert derzeit einen 2.6.16-Kernel und muss aktualisiert werden, damit neuere Apps unterstützt werden. Es ist jedoch möglich, neuere Versionen von Firefox, Thunderbird, Java und OpenOffice darauf auszuführen. Ich habe es auch verwendet, um Spielserver in der Vergangenheit zu hosten und ältere Spiele wie Quake 3, Feindesland usw. zu spielen.

Es ist FOSS : Könntest du etwas über den jüngsten Aufruhr zwischen den Pale Moon-Browser-Entwicklern und dem Team hinter dem OpenBSD-Ports-System sagen?

[Anmerkung des Autors: Lassen Sie mich zusammenfassen, wenn Sie noch nichts davon gehört haben. Letzten Monat hat jemand vom OpenBSD-Team den Pale Moon-Browser zu seiner Ports-Sammlung hinzugefügt. Ein Pale Moon-Entwickler forderte, Pale Moon-Bibliotheken einzuschließen, anstatt Systembibliotheken zu verwenden. Als das Gespräch weiterging, wurde es feindlicher, besonders auf der Seite von Pale Moon. Das Nettoergebnis ist, dass Pale Moon unter OpenBSD, MidnightBSD oder FreeBSD nicht verfügbar sein wird.]

Lucas Holt : Ich fand diese Diskussion frustrierend. Viele der BSD-Projekte hören viele Beschwerden über die Verfügbarkeit und Kompatibilität von Browsern. Wenn Firefox zu Rust wechselt, wird es noch schwieriger. Dann beschäftigen Sie sich mit Branding-Themen. Wie Firefox haben sich die Pale Moon-Entwickler entschlossen, ihre Marke auf Kosten der Nutzer zu schützen. Im Gegensatz zu den Firefox-Entwicklern stellen sie noch strengere Anforderungen an das Branding. Es ist nicht möglich, eine Systembibliotheksversion von Pale Moon zu verwenden und deren Branding-Anforderungen beizubehalten. Daher können wir Pale Moon in MidnightBSD nicht anbieten.

Dies ist ein Grund für ein Open Source-Projekt, da viele Bibliotheken von Drittanbietern in so komplexen Umgebungen wie einem Webbrowser verwendet werden. Zum Beispiel verwenden Gecko-basierte Browser mehrere Multimedia-Bibliotheken, sqlite3 (für Lesezeichen), Audio- und Videocodecs usw. Der Versuch, Upstream-Patches für jedes dieser Elemente zu verwalten, ist schwierig. Deshalb haben die BSDs zunächst Port-Sammlungen. Damit können wir benutzerdefinierte Patches nachverfolgen und verwalten, damit all diese Bibliotheken funktionieren. Wir sind sehr bemüht, diese auf dem neuesten Stand zu halten. Manchmal werden Upstream-Patches nicht berücksichtigt. Das heißt, unsere Versionen sind die einzigen Arbeitskopien. Nach den Richtlinien von Pale Moon müssten wir auch separate Patches für die angepassten Versionen aller dieser Bibliotheken einreichen, und eine neue Version des Browsers wäre nicht verfügbar, wenn Änderungen eintreten. Möglicherweise ist es nicht einmal möglich, einen blassen Mond ohne Patch lokal zu kompilieren.

In Bezug auf Rust müssen die Sprache und eine entsprechende Version von LLVM portiert werden, bevor Sie überhaupt mit dem Browser starten können.

Es ist FOSS : Wenn jemand finanziell und technisch zu Ihrem Projekt beitragen möchte, wie kann er das tun?

Lucas Holt : Finanzielle Unterstützung für das Projekt kann online eingereicht werden. Auf unserer Seite erfahren Sie, wie Sie mit Patreon, Paypal oder Bitcoin spenden können. Spenden sind nicht steuerlich absetzbar. Weitere Informationen finden Sie unter //www.midnightbsd.org/donate/

Wir benötigen auch Unterstützung bei der Übersetzung, der Portierung von Anwendungen und der Arbeit am eigentlichen Betriebssystem. Interessenten können uns auf der Mailingliste oder über das IRC unter freenode #midnightbsd kontaktieren. Wir könnten auch Unterstützung beim Spiegeln von ISOs und Paketen gebrauchen.


Ich möchte Lucas dafür danken, dass er sich die Zeit genommen hat, auf meine vielen Fragen zu antworten. Weitere Informationen zu MidnightBSD oder zum Herunterladen finden Sie auf der Website. Die neueste Version von MidnightBSD ist 0.8.6.

Hast du jemals mit MidnightBSD rumgespielt? Was ist deine Lieblingsversion von BSD?

Wenn Sie diesen Artikel interessant fanden, nehmen Sie sich bitte eine Minute Zeit, um ihn in den sozialen Medien zu teilen.

Empfohlen

Schlag es raus! Bash Script Puzzle Book von It's FOSS ist ab sofort erhältlich!
2019
Die leitenden Entwickler haben Manjaro ARM wegen mangelnder Community heruntergefahren
2019
Überwachen Sie die Netzwerknutzung und Geräte von Linux mit Nutty
2019