فایلسیستم exFAT از چند ماه پیش برای لینوکس ارائه شده بود؛ اما واکنشهای اخیر یکی از فعالان حوزهی نرمافزار، بار دیگر بحثهایی را در اینباره برانگیخته است.
مایکروسافت در ماه اوت سال گذشتهی میلادی اعلام کرد که از اضافه شدن فایلسیستم exFAT به کرنل لینوکس پشتیبانی میکند. این خبر در زمان خود پوشش رسانهای آنچنان گستردهای نداشت. ازطرفی اخیرا شرکت نرمافزاری توزیعکنندهی فایلسیستم بهنام Paragon Software پس از انتشار خبر نهایی اضافه شدن فایلسیستم مذکور، واکنشهایی نشان داد که تعجب جامعهی متن باز را بههمراه داشت. پاراگون در خبری جدید تأیید کرد که exFAT (فایلسیستمی که توسط مایکروسافت تأیید شد و اغلب به سامسونگ نسبت داده میشود) در VFS مخزن بعدی لینوکس پشتیبانی خواهد شد و درنهایت در لینوکس ۵/۷ ادغام میشود.
پاراگون بیانیهای مطبوعاتی منتشر کرد که در آن به استفاده کردن شرکت اروپایی Sagemcom (تولیدکنندهی مودمهای گیتوی) از نسخهی اختصاصی exFAT توسعهیافته توسط پاراگون در مودمهای لینوکسی اشاره میشود. با نگاهی به بیانیهی پاراگون، میتوان احساس ترس، عدم قطعیت و شک (موسوم به FUD) را در لحن این شرکت مشاهده کرد. چنین رویکردهایی کمی مخالف روح جامعهی متن باز بهنظر میرسد.
پاراگون با اشاره به رخدادهای اخیر در اضافه شدن یک فایلسیستم به لینوکس، عدم موفقیت را برای نسخهی متنباز فایلسیستم پیشبینی میکند. آنها در بیانیهی خود سه دلیل را برای عدم موفقیت گفتمان مطرح میکنند که بررسی هرکدام، خالی از لطف نیست.
پاراگون در بیانیهی خود پیرامون چالشهایی از جنس فایلسیستم در اندروید میگوید:
ابتدا نگاهی به برخی از موارد فایلسیستم شبیه به exFAT داریم که در مشتقات یونیکس استفاده شدند. سپس پیامد هرکدام را از جنبهی گفتمان متن باز بررسی میکنیم. آشکارترین مثال، اندروید است که یک کانتینر Linux ext4FS را برای اجرای برنامه از کارتهای حافظه با فرمت FAT ایجاد میکند. همین رویکرد، عدم توانایی (یا عدم تمایل بهخاطر نیاز احتمالی به تلاش بیشتر در توسعه) غول نرمافزاری همچون گوگل را نشان میدهد که نمیتواند یک نسخهی اختصاصی از فرمت FAT بسیار ساده را در کرنل اندروید بسازد.
در ادامهی بیانیه، لینکی به یک مقالهی بلند در XDA-developers وجد دارد که تاریخچهی فایلسیستمهای کارت حافظهی SD را در سیستمعامل اندروید شرح میدهد. بهطور خلاصه میتوان مقالهی مذکور را اینگونه شرح داد: اندروید ابتدا از نسخهی VFAT فایلسیستم ویندوزی FAT32 استفاده میکرد که چالشهای متعددی همچون مشکلات امنیتی بهخاطر عدم وجود متادیتا امنیتی در پی داشت.
چالشهای VFAT باعث شد تا گوگل، فایلسیستمی بهنام FUSE را بهکار بگیرد که توسط سامسونگ و بر پایهی exFAT توسعه یافته بود. این تصمیم، بسیاری از چالشهای امنیتی را حل کرد. در فایلسیستم جدید نهتنها ACLها پشتیبانی میشدند، بلکه امکان استفاده از FUSE برای هر کاربر هم وجود داشت. متأسفانه راهکار جدید هم چالشهای خود را داشت و منجر به کاهش کارایی و قدرت سیستم شد. FUSE باوجود راحتی زیاد، مانند هر فایلسیستم دیگر دستهی Userspace، کارایی و قدرتی برابر با فایلسیستمهای کرنلی ندارد.
راهکار بعدی گوگل برا حل چالش فایلسیستمها، جایگزینی FUSE با SDCardFS بود که آن هم توسط سامسونگ توسعه یافت. کارشناسان میگویند راهکار جدید اصلا در دستهی فایلسیستم قرار نمیگیرد. درواقع، SDCardFS را میتوان یک بستهی واسط دانست که درخواستهای API را به فایلسیستمهای سطح پایینتر منتقل میکند. SDCardFS جایگزین FUSE شد، اما جایگزین فایلسیستم نبود. درنتیجه فایلسیستمها امکان داشتند تا در فضای کرنل اجرا شوند.
مثال گوگل، هیچگونه نجات یافتن چالشهای متنباز توسط یک توسعهدهندهی انحصاری نرمافزار را نشان نمیدهد. درواقع این مثال داستانی از بهرهگیری همیشگی و موفقیتآمیز بزرگترین سیستمعامل موبایلی جهان از نرمافزار متنباز است که رخدادهای متعدد بهبود کارایی را بههمراه دارد. ازطرفی هنوز نمیدانیم که آیا گوگل از exFAT جدید موجود در کرنل ۵/۷ لینوکس در اندروید استفاده خواهد کرد یا هنوز به پشتیبانی از SDCardFS سامسونگ ادامه میدهد. فراموش نکنید که راهکار مذکور بسیاری از چالشهای کارایی و سرعت اندروید را حل کرد و همچنین کاربردهای امنیتی زیادی دارد که شاید یک فایل سیستم در سطح کرنل نداشته باشد.
در بخش دیگری از بیانیهی خبری پاراگون، به سیستمعامل مک اشاره میشود:
مورد دیگر، MacOS است که از مشتقات یونیکس محسوب میشود و هنوز پشتیبانی تجاری از حالت نوشتن با فرمت NTFS را ارائه نمیکند. درواقع، سیستمعامل مک تنها خواندن از NTFS را پشتیبانی میکند. چنین رویکردی عجیب بهنظر میرسد، چون NTFS-3G در لینوکس وجود دارد. البته میتوان نوشتن NTFS را فعال کرد، اما هیچ ضمانتی وجود ندارد که حافظههای NTFS در زمان نوشتن داده، معیوب نشوند.
پشتیبانی ناقص سیستمعامل مک از فرمت NTFS، بههیچوجه رویکرد صحیحی برای حمله به نرمافزار متنباز نیست. دلیل اول این است که پشتیبانی از NTFS یک دارایی کاملا تحت اختیار اپل محسوب نمیشود. فراموش نکنید که MacOS Classic از NTFS پشتیانی نمیکرد. پشتیبانی از NTFS که از Mac OS X 10.3 Panther اضافه شد، یک قابلیت آزاد بود و پیش از آن هم در فایلسیستمهای مجازی (VFS) مبتنی بر FreeBSD و استک شبکه وجود داشت.
مشکل دیگر مثال دوم پاراگون این است که NTFS اکنون بهعنوان یک فایلسیستم کاملا مدرن و مملو از امکانات و جامع شناخته میشود. درمقابل، exFAT که موضوع نگرانی پاراگون محسوب میشود، یک فایلسیستم تقریبا خام و سبک محسوب میشود که اغلب در دستگاههای امبدد کاربرد دارد.
دلیل نهایی برای رد کردن مثال دوم پاراگون این است که بهرهگیری سیستمعامل مک از خصوصیتهای NTFS بههیچوجه تحت تحریمهای مایکروسافت نبود. رویکرد کوپرتینوییها را میتوان یک راهکار مهندسی معکوس برای فایلسیستمی اختصاصی دانست. از همه مهمتر، پیادهسازی مذکور زمانی رخ داد که مایکروسافت کاملا در جبههی مخالف متنباز بود و تصمیم به تعطیلی کامل گفتمان داشت. مایکروسافت امروز از حامیان جامعهی متنباز محسوب میشود.
همانطور که پاراگون هم در مثال خود توضیح داد، اکنون NTFS-3G در دسترس قرار دارد و یک نسخهی مدرنتر از NTFS محسوب میشود. نسخهی جدید، تحت مجوز دوگانهی اختصاصی/GPL قرار دارد و از چالشهای معیوب شدن حافظهی NTFS بهخاطر نوشتن، رنج نمیبرد. MacOS و لینوکس هم هردو از آن پشتیبانی میکنند. کاربران مک که نیازی به سرعت و کارایی آنچنان بالا ندارند، میتوانند با نصب Homebrew، نسخهی FUSE از NTFS-3G را استفاده کنند. کاربرانی هم که بهدنبال پشتیبانی قویتر هستند، میتوانند مجوز مادامالعمر را از Tuxera خریداری کنند. هر مجوز ۱۵ دلاری، امکان نصب و بهروزرسانی را تا سه کامپیوتر شخصی ارائه میکند. درنهایت به یاد داشته باشید که پاراگون علاوه بر فروش نسخهی اختصاصی از exFAT، نسخهی اختصاصی NTFS را هم برای مک به فروش میرساند.
دلیل سوم بیانیهی پاراگون در حمله به گفتمان متنباز در داستان اخیر اینگونه بیان میشود:
بهعنوان مثالی دیگر، صرفنظر از ساختار فایلسیستمها میتوان به پیادهسازی متنباز پروتوکل SMB اشاره کرد. macOS و همچنین بسیاری از تولیدکنندههای پرینتر، از راهکار متنباز استفاده نمیکنند. با نیاز به پشتیبانی تجاری و حرفهای از پروتکل، پیادهسازی نسخههای تجاری و پولی SMB نیز افزایش پیدا میکند.
معلوم نیست چرا پاراگون تصور میکند که مثال بالا، دلیلی محکم برای مقابله با استفادهی متنباز از یک فایلسیستم خواهد بود. SMB یا Server Message Block اصلا فایلسیستم نیست. درواقع میتوان آن را یک پروتکل ارتباطی شبکه دانست که با مایکروسافت ویندوز معرفی شد.
ادعای پاراگون مبنی بر وجود نسخههای متعدد اختصاصی و پولی از SMB صحیح است. یکی از آنها هم با مشارکت Tuxera، رقیب پاراگون با مایکروسافت توسعه یافت. باوجود صحت ادعا، نمیتوان آن را دلیلی مناسب علیه پیادهسازی متنباز از یک فایلسیستم دیگر دانست. صرفنظر از این ابهام که SMB چه ارتباطی با exFAT دارد، باید به استفادهی تجاری گسترده از Samba اشاره کنیم که بهعنوان فرمانروای استفادهی متنباز از SMB شناخته میشود. Synology از Samba برای سرورهای NAS خود بهره میبرد. از شرکتهای دیگر هم میتوان به Netgear و QNAP اشاره کرد. خود وبسایت Samba.org هم فهرستی از توزیعکنندههای تجاری بزرگ همگون American Megatrends, Hewlett-Packard, Veritas و VMWare را مثال میزند.
پاراگون باوجود بحثهایی که پیرامون پیادهسازی فایلسیستم exFAT مطرح کرد، خبر خوبی را دربارهی استفاده از آن در مودم های Sagemcom به رسانهها داد. بههرحال امروز میدانیم که پیادهسازی exFAT در لینوکس ۵/۷، نسخهای پایدار با قابلیتهای مناسب خواهد بود، هرچند هنوز باید برای ارائهی نهایی منتظر بمانیم. چرا که نسخهی بعدی یعنی ۵/۶ هم از exFAT پشتیبانی نخواهد کرد.
شرکتهایی که برنامههای طراحی و ارائهی محصول حرفهای دارند (مانند Sagemcom) در استفاده از نسخههای تجاری exFAT تصمیم صحیحی اتخاذ میکنند، چون آنها به پشتیبانی بیشتر و تجاری و سطح بالا نیاز دارند. بهعلاوه، هزینهی مجوز برای چنین شرکتهایی درصد پایینی از هزینههای تولید روتر را تشکیل میدهد. درنهایت، وقتی نسخهی مایکروسافت-سامسونگ exFAT بهصورت گسترده در کرنل لینوکس اضافه شود، تغییرات گستردهای در بازار شرکتهای نرمافزاری همچون پاراگون رخ میدهد. شاید شرکت مذکور تا آن زمان استارتژی متنباز مدرنتری را در پیش بگیرد.
پاسخ ها