Il filesystem exFAT sta arrivando su Linux: il software Paragon non ne è contento

70

Ingrandisci / Il fornitore proprietario di filesystem Paragon Software sembra sentirsi minacciato dall’inclusione in attesa di un exFAT approvato da Microsoft nel kernel Linux 5.7.

Quando il gigante del software e dei sistemi operativi Microsoft ha annunciato il suo supporto per l’inclusione del filesystem exFAT direttamente nel kernel Linux ad agosto, non ha ottenuto un sacco di copertura da parte della stampa. Ma il fornitore di filesystem Paragon Software ha notato chiaramente l’unione di questo mese della versione di exFAT approvata da Microsoft, in gran parte firmata da Samsung, nel repository VFS for-next, che a sua volta si fonderà in Linux 5.7, e Paragon non sembra contento di questo.

Ieri, Paragon ha rilasciato un comunicato stampa sul fornitore europeo di modem gateway Sagemcom che ha adottato la sua versione di exFAT in una prossima serie di router basati su Linux. Sfortunatamente, ha scelto di anteporre all’annuncio un flusso di FUD (Fear, Uncertainty, and Doubt) che non sarebbe sembrato fuori posto sulla carta intestata di Steve Ballmer negli anni ’90.

Abbattere il FUD

Paragon ha descritto le sue argomentazioni contro il software open source, che è apparso direttamente nella mia casella di posta, come un “articolo (disponibile per la pubblicazione in qualsiasi forma) che spiega perché il modello open source non ha funzionato in 3 casi”.

Tutti e tre i casi offerti da Paragon erano esempi curiosi, nella migliore delle ipotesi.

Caso uno: Android

Diamo prima un’occhiata ad alcuni casi in cui filesystem simili a exFAT erano supportati nei derivati ​​Unix e come funzionava da una prospettiva open source.

Il caso più valido è Android, che crea un contenitore ext4FS Linux nativo per eseguire app da schede flash formattate FAT (3). Ciò mostra l’incapacità (o la riluttanza basata sulla stima realistica di uno sforzo necessario) del gigante del software Google di realizzare la propria implementazione di una FAT molto più semplice nel kernel Android.

La nota a piè di pagina conduce il lettore a un lungo articolo degli sviluppatori XDA che spiega la lunga storia dei filesystem delle schede SD nel sistema operativo Android. Una sintesi estremamente breve: originariamente, Android utilizzava l’implementazione VFAT ampiamente compatibile del file system FAT32 di Windows. Ciò ha causato diversi problemi, inclusi problemi di sicurezza dovuti alla mancanza di metadati di sicurezza multiutente.

Questi problemi hanno portato Google a sostituire VFAT con un’implementazione FUSE (Filesystem in Userspace) in gran parte sviluppata da Samsung di exFAT. Ciò ha risolto i problemi di sicurezza due volte: non solo gli ACL ora erano supportati, ma il filesystem FUSE poteva anche essere montato per i singoli utenti. Sfortunatamente, ciò ha portato a problemi di prestazioni: per quanto conveniente possa essere FUSE, i filesystem dello spazio utente non funzionano come i filesystem interni al kernel.

Annuncio

Ancora con noi finora? Grande. Il passaggio finale di questa storia particolare è che Google sostituisce exFAT-FUSE con SDCardFS, un altro progetto sviluppato da Samsung che, in modo confuso, non è affatto un filesystem. Invece, è un wrapper interno al kernel che passa le chiamate API a un filesystem di livello inferiore. SDCardFS sostituisce FUSE, non il filesystem, e quindi consente ai filesystem emulati di essere eseguiti nello spazio del kernel.

Se ti stai chiedendo dove entra in gioco il software proprietario per salvare la situazione, la risposta è semplice: non è così. Questa è la storia del più grande sistema operativo per smartphone al mondo che utilizza costantemente e con successo software open source, migliorando le prestazioni e la sicurezza lungo il percorso.

Ciò che non è ancora chiaro è se Google utilizzerà specificamente il nuovo atterraggio exFAT nel kernel in 5.7 in Android o continuerà a utilizzare il wrapper del filesystem SDCardFS di Samsung. SDCardFS ha risolto i problemi di prestazioni dell’archiviazione ausiliaria di Android e potrebbe fornire ulteriori vantaggi di sicurezza che il semplice utilizzo di un exFAT nel kernel non avrebbe.

Caso due: MacOS

L’altro caso è Mac OS, un altro derivato di Unix che non ha ancora il supporto commerciale per la modalità di scrittura NTFS, supporta solo NTFS in modalità di sola lettura. Sembra strano data l’esistenza di NTFS-3G per Linux. È possibile attivare il supporto per la scrittura, ma non vi è alcuna garanzia che i volumi NTFS non vengano danneggiati durante le operazioni di scrittura.

Ci sono diversi problemi con l’utilizzo del supporto NTFS incerto di MacOS come caso contro il software open source. Il primo è che il supporto NTFS non sembra essere una vera priorità per Apple in primo luogo. MacOS Classic non aveva alcun supporto NTFS. Il supporto NTFS presente dopo Mac OS X 10.3 “Panther” era, in effetti, un omaggio: era già presente nel VFS (Virtual File System) e nello stack di rete derivato da FreeBSD.

Un altro problema con questo confronto è che NTFS è un filesystem completo e completamente moderno senza parti mancanti. Al contrario, exFAT, il filesystem a cui Paragon sta lanciando FUD nell’implementazione del kernel Linux, è un filesystem estremamente semplice e leggero, progettato per l’uso in dispositivi embedded.

L’ultimo chiodo in questa particolare bara è che l’implementazione NTFS open source utilizzata da MacOS non è autorizzata da Microsoft. È una soluzione alternativa di un filesystem proprietario in camera bianca. Peggio ancora, è un’implementazione realizzata in un momento in cui Microsoft voleva attivamente chiudere la comunità open source e non è nemmeno la versione moderna.

Annuncio

Come osserva Paragon, NTFS-3G è la moderna implementazione open source di NTFS. NTFS-3G, che è proprietario/GPL con doppia licenza, non soffre di potenziali problemi di corruzione in scrittura ed è disponibile su MacOS, oltre che su Linux.

Gli utenti Mac che non necessitano delle massime prestazioni possono installare gratuitamente un’implementazione FUSE di NTFS-3G utilizzando Homebrew, mentre coloro che desiderano prestazioni native o quasi native possono acquistare una licenza a vita direttamente da Tuxera. Ogni licenza da $ 15 include aggiornamenti gratuiti perpetui e installazione su un massimo di tre personal computer.

Probabilmente vale la pena notare che Paragon, oltre a vendere un’implementazione proprietaria di exFAT, vende un’implementazione proprietaria di NTFS per Mac.

Caso tre: PMI

Un ulteriore esempio, lontano dai filesystem, è l’implementazione di un protocollo SMB open source. Mac OS, così come la maggior parte dei produttori di stampanti, non si affida a una soluzione open source, poiché esistono diverse implementazioni commerciali di SMB non appena è richiesto un livello commerciale di supporto.

Non è chiaro il motivo per cui Paragon credesse che questo fosse un buon argomento contro le implementazioni open source di un file system. SMB (Server Message Block) non è affatto un filesystem; è un protocollo di comunicazione di rete introdotto con Microsoft Windows.

È certamente vero che esistono molte implementazioni proprietarie di SMB, inclusa una in collaborazione diretta con Microsoft, realizzata dal rivale di Paragon e fornitore di NTFS-3G Tuxera. Ma questo è un altro flex molto strano da provare contro le implementazioni di filesystem open source.

Lasciando da parte la domanda su cosa ha a che fare SMB con exFAT, dovremmo notare l’ampio uso commerciale di Samba, il gangster originale delle reti SMB open source. In particolare, Synology utilizza Samba per i suoi server NAS (Network Attached Storage), così come Netgear e QNAP. Samba.org stesso elenca anche fornitori commerciali di alto profilo inclusi, ma non limitati a, American Megatrends, Hewlett-Packard, Veritas e VMWare.

L’open source è qui per restare

Ci congratuliamo con Paragon per aver concluso il tempestivo accordo exFAT con Sagemcom. Sebbene ci siano buone ragioni per credere che l’implementazione exFAT derivata da Samsung e approvata da Microsoft in Linux 5.7 sarà sicura, stabile e altamente performante, non è ancora arrivata e non è nemmeno nel prossimo kernel Linux in arrivo, 5.6, che prevediamo raggiungerà la disponibilità generale a fine aprile o inizio maggio.

Nel frattempo, un’azienda con un’esigenza aziendale per finalizzare le decisioni di progettazione, come Sagemcom, probabilmente sta prendendo la decisione giusta di utilizzare un’implementazione exFAT proprietaria, con supporto commerciale. I costi di licenza sono probabilmente una piccola percentuale di ciò che l’azienda può guadagnare nelle vendite lorde di router e l’implementazione di Paragon è un valore noto.

Tuttavia, sospettiamo che il panorama exFAT si inclinerà in modo significativo una volta che la versione benedetta da Microsoft di Samsung raggiungerà il kernel Linux mainstream. Si spera che Paragon svilupperà una strategia open source più moderna ora, finché ha ancora tempo.