El sistema de archivos exFAT está llegando a Linux: el software Paragon no está contento con eso

El proveedor propietario de sistemas de archivos Paragon Software parece sentirse amenazado por la inclusión pendiente de un exFAT aprobado por Microsoft en el kernel Linux 5.7.
Agrandar / El proveedor propietario de sistemas de archivos Paragon Software parece sentirse amenazado por la inclusión pendiente de un exFAT aprobado por Microsoft en el kernel Linux 5.7.

Cuando el gigante del software y el sistema operativo Microsoft anunció su apoyo para la inclusión del sistema de archivos exFAT directamente en el kernel de Linux en agosto, no recibió mucha cobertura de prensa. Pero el proveedor de sistemas de archivos Paragon Software notó claramente la fusión de este mes de la versión de exFAT aprobada por Microsoft y en gran parte creada por Samsung en el repositorio VFS for-next, que a su vez se fusionará con Linux 5.7, y Paragon no parece contento con eso.

Ayer, Paragon emitió un comunicado de prensa sobre el proveedor europeo de módems de puerta de enlace Sagemcom que está adoptando su versión de exFAT en una próxima serie de enrutadores basados ​​en Linux. Desafortunadamente, optó por prefaciar el anuncio con una corriente de FUD (Miedo, Incertidumbre y Duda) que no se habría visto fuera de lugar en el membrete de Steve Ballmer en la década de 1990.

Desglosando el FUD

Paragon describió sus argumentos contra el software de código abierto, que aparecieron directamente en mi bandeja de entrada, como un “artículo (disponible para su publicación en cualquier forma) que explica por qué el modelo de código abierto no funcionó en 3 casos”.

Los tres casos ofrecidos por Paragon eran ejemplos curiosos, en el mejor de los casos.

Caso uno: Android

Veamos primero algunos casos en los que los sistemas de archivos similares a exFAT fueron compatibles con los derivados de Unix y cómo funcionó desde una perspectiva de código abierto.

El caso más sólido es Android, que crea un contenedor ext4FS nativo de Linux para ejecutar aplicaciones desde tarjetas flash con formato FAT (3). Esto muestra la incapacidad (o falta de voluntad según la estimación realista de un esfuerzo necesario) del gigante del software Google para realizar su propia implementación de un FAT mucho más simple en el kernel de Android.

La nota al pie lleva al lector a un extenso artículo de desarrolladores de XDA que explica la larga historia de los sistemas de archivos de tarjetas SD en el sistema operativo Android. Un resumen extremadamente breve: originalmente, Android usaba la implementación VFAT en gran parte compatible del sistema de archivos FAT32 de Windows. Esto causó varios problemas, incluidos problemas de seguridad debido a la falta de metadatos de seguridad multiusuario.

Estos problemas llevaron a Google a reemplazar VFAT con una implementación de exFAT FUSE (Filesystem in Userspace) desarrollada en gran parte por Samsung. Esto resolvió dos veces los problemas de seguridad: ahora no solo se admitían las ACL, sino que el sistema de archivos FUSE incluso podía montarse para usuarios individuales. Desafortunadamente, esto provocó problemas de rendimiento: por conveniente que sea FUSE, los sistemas de archivos del espacio de usuario no funcionan tan bien como los sistemas de archivos en el kernel.

¿Sigues con nosotros hasta ahora? Excelente. El paso final en esta historia en particular es que Google reemplaza exFAT-FUSE con SDCardFS, otro proyecto desarrollado por Samsung que, de manera confusa, no es realmente un sistema de archivos en absoluto. En cambio, es un contenedor en el núcleo que pasa las llamadas API a un sistema de archivos de nivel inferior. SDCardFS reemplaza a FUSE, no al sistema de archivos, y por lo tanto permite que los sistemas de archivos emulados se ejecuten en el espacio del kernel.

Si se pregunta dónde entra el software propietario para salvar el día, la respuesta es simple: no lo hace. Esta es la historia del sistema operativo para teléfonos inteligentes más grande del mundo que usa software de código abierto de manera constante y exitosa, mejorando el rendimiento y la seguridad en el camino.

Lo que aún no está claro es si Google usará específicamente el nuevo aterrizaje exFAT en el kernel en 5.7 en Android o continuará usando el envoltorio del sistema de archivos SDCardFS de Samsung. SDCardFS resolvió los problemas de rendimiento del almacenamiento auxiliar de Android y puede proporcionar beneficios de seguridad adicionales que no se obtendrían con el simple uso de un exFAT en el kernel.

Caso dos: MacOS

El otro caso es Mac OS, otro derivado de Unix que todavía no tiene soporte comercial para el modo de escritura NTFS, solo admite NTFS en modo de solo lectura. Eso parece extraño dada la existencia de NTFS-3G para Linux. Se puede activar el soporte de escritura, pero no hay garantía de que los volúmenes NTFS no se dañen durante las operaciones de escritura.

Hay varios problemas con el uso dudoso del soporte NTFS de MacOS como un caso contra el software de código abierto. La primera es que la compatibilidad con NTFS no parece ser una prioridad real para Apple en primer lugar. MacOS Classic no tenía soporte NTFS en absoluto. La compatibilidad con NTFS presente después de Mac OS X 10.3 “Panther” fue, efectivamente, un obsequio: ya estaba allí en el VFS (Sistema de archivos virtual) derivado de FreeBSD y en la pila de red.

Otro problema con esta comparación es que NTFS es un sistema de archivos completamente moderno y con todas las funciones sin partes faltantes. Por el contrario, exFAT, el sistema de archivos cuya implementación del kernel de Linux Paragon está lanzando FUD, es un sistema de archivos liviano y extremadamente básico diseñado para su uso en dispositivos integrados.

El último clavo en este ataúd en particular es que la implementación NTFS de código abierto utilizada por MacOS no está autorizada por Microsoft. Es una solución de ingeniería inversa de sala limpia de un sistema de archivos propietario. Peor aún, es una implementación realizada en un momento en que Microsoft quería cerrar activamente la comunidad de código abierto, y ni siquiera es la versión moderna.

Como señala Paragon, NTFS-3G es la implementación moderna de código abierto de NTFS. NTFS-3G, que es propietario/GPL con licencia doble, no sufre problemas potenciales de corrupción de escritura y está disponible en MacOS, así como en Linux.

Los usuarios de Mac que no necesitan el rendimiento más alto pueden instalar una implementación FUSE de NTFS-3G de forma gratuita utilizando Homebrew, mientras que aquellos que deseen un rendimiento nativo o casi nativo pueden comprar una licencia de por vida directamente de Tuxera. Cada licencia de $15 incluye actualizaciones gratuitas perpetuas e instalación en hasta tres computadoras personales.

Probablemente valga la pena señalar que Paragon, además de vender una implementación patentada de exFAT, vende una implementación patentada de NTFS para Mac.

Caso tres: SMB

Un ejemplo adicional, lejos de los sistemas de archivos, es una implementación de protocolo SMB de código abierto. Mac OS, así como la mayoría de los fabricantes de impresoras, no confían en una solución de código abierto, ya que existen varias implementaciones comerciales de SMB tan pronto como se requiere un nivel comercial de soporte.

No está claro por qué Paragon creía que este era un buen argumento en contra de las implementaciones de código abierto de un sistema de archivos. SMB (Server Message Block) no es un sistema de archivos en absoluto; es un protocolo de comunicación de red introducido con Microsoft Windows.

Sin duda, es cierto que existen muchas implementaciones propietarias de SMB, incluida una en asociación directa con Microsoft, realizada por el rival de Paragon y proveedor de NTFS-3G, Tuxera. Pero esta es otra flexión muy extraña para tratar de hacer frente a las implementaciones de sistemas de archivos de código abierto.

Dejando de lado la cuestión de qué tiene que ver SMB con exFAT, debemos señalar el amplio uso comercial de Samba, el gángster original de las redes SMB de código abierto. En particular, Synology utiliza Samba para sus servidores NAS (Network Attached Storage), al igual que Netgear y QNAP. El propio Samba.org también enumera proveedores comerciales de alto perfil, incluidos, entre otros, American Megatrends, Hewlett-Packard, Veritas y VMWare.

El código abierto está aquí para quedarse

Felicitamos a Paragon por cerrar su acuerdo exFAT oportuno con Sagemcom. Aunque hay buenas razones para creer que la implementación de exFAT derivada de Samsung y aprobada por Microsoft en Linux 5.7 será segura, estable y de alto rendimiento, aún no está aquí, y ni siquiera está en el próximo kernel de Linux, 5.6, que esperamos alcanzar la disponibilidad general a fines de abril o principios de mayo.

Mientras tanto, una empresa con la necesidad comercial de finalizar las decisiones de diseño, como Sagemcom, probablemente esté tomando la decisión correcta al utilizar una implementación exFAT propietaria, con soporte comercial. Los costos de licencia son probablemente un pequeño porcentaje de lo que la empresa puede ganar en ventas brutas de enrutadores, y la implementación de Paragon es un valor conocido.

Sin embargo, sospechamos que el panorama exFAT se inclinará significativamente una vez que la versión bendecida por Microsoft de Samsung llegue al kernel de Linux convencional. Con suerte, Paragon desarrollará una estrategia de código abierto más moderna ahora, mientras todavía tiene tiempo.

Facebook
Twitter
LinkedIn
Telegram
WhatsApp

Deja un comentario