Als der Software- und Betriebssystemriese Microsoft bereits im August seine Unterstützung für die Aufnahme des exFAT-Dateisystems direkt in den Linux-Kernel ankündigte, bekam er keine Tonne Presseberichterstattung. Aber der Dateisystemhersteller Paragon Software hat in diesem Monat die Zusammenführung der von Microsoft genehmigten, größtenteils von Samsung verfassten Version von exFAT in das VFS for-next-Repository deutlich bemerkt, die wiederum zu Linux 5.7 zusammenführen wird – und Paragon scheint darüber nicht glücklich zu sein.
Gestern veröffentlichte Paragon eine Pressemitteilung über den europäischen Gateway-Modem-Anbieter Sagemcom, der seine Version von exFAT in eine kommende Serie von Linux-basierten Routern umsetzt. Leider entschied sie sich, der Ankündigung einen Strom von FUD (Fear, Uncertainty, and Doubt) vorzuspielen, der in den 1990er Jahren nicht fehl am Platz auf Steve Ballmers Briefkopf ausgesehen hätte.
Aufschlüsselung der FUD
Paragon beschrieb seine Argumente gegen Open-Source-Software – die direkt in meinem Posteingang erschien – als “Artikel (verfügbar für die Veröffentlichung in jeder Form), der erklärt, warum das Open-Source-Modell in 3 Fällen nicht funktionierte.”
Alle drei von Paragons angebotenen Fällen waren bestenfalls kuriose Beispiele.
Fall eins: Android
Betrachten wir zunächst einige Fälle, in denen Dateisysteme, die exFAT ähneln, in Unix-Derivaten unterstützt wurden und wie das aus einer Open-Source-Perspektive funktionierte.
Der klangerste Fall ist Android, das einen nativen Linux ext4FS-Container erstellt, um Apps von FAT-formatierten Flash-Karten auszuführen (3). Dies zeigt die Unfähigkeit (oder unwilligen basierend auf der realistischen Einschätzung eines notwendigen Aufwands) des Software-Giganten Google, seine eigene Implementierung einer viel einfacheren FAT im Android-Kernel zu machen.
Die Fußnote führt den Leser zu einem ausführlichen XDA-Entwicklerartikel, der die lange Geschichte von SD-Kartendateisystemen im Android-Betriebssystem erklärt. Eine äußerst kurze Summe: Ursprünglich verwendete Android die weitgehend kompatible VFAT-Implementierung des Windows FAT32-Dateisystems. Dies verursachte mehrere Probleme, einschließlich Sicherheitsproblemen aufgrund des Fehlens von Sicherheitsmetadaten für mehrere Benutzer.
Diese Probleme veranlassten Google, VFAT durch eine weitgehend von Samsung entwickelte FUSE-Implementierung (Filesystem in Userspace) von exFAT zu ersetzen. Dadurch wurden die Sicherheitsprobleme doppelt gelöst – nicht nur wurden ACLs jetzt unterstützt, das FUSE-Dateisystem konnte sogar für einzelne Benutzer bereitgestellt werden. Leider führte dies zu Leistungsproblemen – so bequem FUSE auch sein mag, Userspace-Dateisysteme funktionieren nicht so gut wie In-Kernel-Dateisysteme.
Noch bei uns? Großartig. Der letzte Schritt in dieser besonderen Geschichte ist, dass Google exFAT-FUSE durch SDCardFS ersetzt, ein weiteres von Samsung entwickeltes Projekt, das – verwirrenderweise – überhaupt kein Dateisystem ist. Stattdessen handelt es sich um einen In-Kernel-Wrapper, der API-Aufrufe an ein Dateisystem auf niedrigerer Ebene übergibt. SDCardFS ersetzt FUSE, nicht das Dateisystem, und ermöglicht dadurch die Ausführung emulierter Dateisysteme im Kernelbereich.
Wenn Sie sich fragen, wo proprietäre Software in den Tag kommt, um den Tag zu retten, ist die Antwort einfach: Es tut es nicht. Dies ist die Geschichte des größten Smartphone-Betriebssystems der Welt, das konsequent und erfolgreich Open-Source-Software einsetzt und dabei die Leistung und Sicherheit verbessert.
Was noch nicht klar ist, ist, ob Google speziell die neue in-Kernel exFAT Landung in 5.7 in Android verwenden wird oder weiterhin Samsungs SDCardFS Dateisystem-Wrapper verwenden wird. SDCardFS löste Androids Leistungsprobleme im Zusatzspeicher und bietet möglicherweise zusätzliche Sicherheitsvorteile, die die einfache Verwendung eines In-Kernel-ExFATs nicht bieten würde.
Fall zwei: MacOS
Der andere Fall ist Mac OS – eine weitere Unix-Ableitung, die immer noch keine kommerzielle Unterstützung für den NTFS-Schreibmodus hat – es unterstützt NTFS nur in einem schreibgeschützten Modus. Das erscheint seltsam angesichts der Existenz von NTFS-3G für Linux. Man kann die Schreibunterstützung aktivieren – es gibt jedoch keine Garantie, dass NTFS-Volumes während Schreibvorgängen nicht beschädigt werden.
Es gibt mehrere Probleme mit der Verwendung der iffy NTFS-Unterstützung von MacOS als Fall für Open-Source-Software. Die erste ist, dass NTFS-Unterstützung scheint nicht eine echte Priorität für Apple in erster Linie zu sein. MacOS Classic hatte überhaupt keine NTFS-Unterstützung. Die NTFS-Unterstützung, die nach Mac OS X 10.3 “Panther” vorhanden war, war effektiv ein Freebie – sie war bereits im FreeBSD-abgeleiteten VFS (Virtual File System) und Netzwerk-Stack vorhanden.
Ein weiteres Problem bei diesem Vergleich ist, dass NTFS ein voll funktionsfähiges, vollständig modernes Dateisystem ohne fehlende Teile ist. Im Gegensatz dazu ist exFAT – das Dateisystem, dessen Linux-Kernel-Implementierung Paragon FUD wirft – ein extrem nacktes, leichtes Dateisystem, das für den Einsatz in eingebetteten Geräten entwickelt wurde.
Der letzte Nagel in diesem speziellen Sarg ist, dass die Open-Source-NTFS-Implementierung, die von MacOS verwendet wird, nicht von Microsoft sanktioniert wird. Es ist eine Reinraum-Reverse-Engineering-Workaround eines proprietären Dateisystems. Schlimmer noch, es ist eine Implementierung, die zu einer Zeit gemacht wurde, als Microsoft aktiv die Open-Source-Community schließen wollte – und es ist nicht einmal die moderne Version.
Wie Paragon bemerkt, ist NTFS-3G die moderne Open-Source-Implementierung von NTFS. NTFS-3G, das dual lizenzierte proprietäre/GPL ist, leidet nicht unter potenziellen Problemen mit Schreibbeschädigung – und ist sowohl unter MacOS als auch unter Linux verfügbar.
Mac-Benutzer, die nicht die höchste Leistung benötigen, können eine FUSE-Implementierung von NTFS-3G kostenlos mit Homebrewinstallieren, während diejenigen, die eine native oder nahezu native Leistung wünschen, eine lebenslange Lizenz direkt von Tuxera erwerben können. Jede Lizenz im Wert von 15 $ beinhaltet unbefristete kostenlose Upgrades und installationen auf bis zu drei PCs.
Es ist wahrscheinlich erwähnenswert, dass Paragon – zusätzlich zum Verkauf einer proprietären Implementierung von exFAT – eine proprietäre Implementierung von NTFS für den Mac verkauft.
Fall drei: SMB
Ein weiteres Beispiel, weg von Dateisystemen, ist eine Open-Source-SMB-Protokollimplementierung. Mac OS, sowie die Mehrheit der Druckerhersteller, verlassen sich nicht auf eine Open-Source-Lösung, da es mehrere kommerzielle Implementierungen von SMB gibt, sobald ein kommerzielles Maß an Support erforderlich ist.
Es ist unklar, warum Paragon glaubte, dass dies ein gutes Argument gegen Open-Source-Implementierungen eines Dateisystems ist. SMB (Server Message Block) ist überhaupt kein Dateisystem; Es handelt sich um ein Netzwerkkommunikationsprotokoll, das mit Microsoft Windows eingeführt wurde.
Es ist sicherlich wahr, dass es viele proprietäre Implementierungen von SMB gibt –darunter eine in direkter Partnerschaft mit Microsoft, hergestellt vom Paragon-Rivalen und NTFS-3G-Anbieter Tuxera. Aber dies ist eine weitere sehr seltsame Flex zu versuchen, gegen Open-Source-Dateisystem-Implementierungen zu machen.
Abgesehen von der Frage, was SMB mit exFAT zu tun hat, sollten wir die umfangreiche kommerzielle Nutzung von Samba, dem ursprünglichen Gangster der Open-Source-SMB-Netzwerke, zur Kenntnis nehmen. Synology verwendet Samba insbesondere für seine NAS-Server (Network Attached Storage),
Wir gratulieren Paragon zum Abschluss des rechtzeitigen exFAT-Deals mit Sagemcom. Obwohl es gute Gründe zu der Annahme gibt, dass die von Samsung abgeleitete und von Microsoft genehmigte exFAT-Implementierung in Linux 5.7 sicher, stabil und sehr leistungsfähig sein wird, ist sie noch nicht da – und sie ist nicht einmal im nächsten Linux-Kernel, 5.6, die wir erwarten, Ende April oder Anfang Mai die allgemeine Verfügbarkeit erreichen.
In der Zwischenzeit trifft ein Unternehmen mit einem Unternehmen, das Designentscheidungen abschließen muss – wie Sagemcom – wahrscheinlich die richtige Entscheidung, eine proprietäre exFAT-Implementierung mit kommerzieller Unterstützung zu verwenden. Die Lizenzkosten sind wahrscheinlich ein kleiner Prozentsatz dessen, was das Unternehmen beim Brutto-Router-Verkauf verdienen wird, und Paragons Implementierung ist ein bekannter Wert.
Wir vermuten jedoch, dass die exFAT-Landschaft erheblich kippen wird, sobald Samsungs Microsoft-gesegnete Version den Mainstream-Linux-Kernel erreicht. Hoffentlich wird Paragon jetzt eine modernere Open-Source-Strategie entwickeln, solange es noch Zeit hat.