Last year, Microsoft announced support for the inclusion of the exFAT technology into the Linux Kernel(1). This is an interesting example of a change to the exFAT ecosystem that has been mostly proprietary for almost two decades. Whatever Microsoft’s reasons for doing so, the consequence of this exFAT change is not at all evident at this stage.
Microsoft has generally done two things. They’ve made exFAT specs available to the general public (though still hiding transactional exFAT specs(2) away from public eyes) and they’ve promised(1) an exFAT patent fee exemption for OIN members.
Let’s first look into some cases where filesystems similar to exFAT were supported in Unix derivatives and how that worked from an open source perspective.
The most sound case is Android, which creates a native Linux ext4FS container to run apps from FAT formatted flash cards(3). This shows the inability (or unwillingness based on the realistic estimation of a needed effort) of software giant Google to make its own implementation of a much simpler FAT in the Android Kernel.
The other case is Mac OS, which is another Unix derivative that still does not have commercial support for NTFS-write mode...it only supports NTFS in a read-only mode. That appears strange given the existence of NTFS-3G for Linux. One can activate write support, but there’s no guarantee that NTFS volumes won’t be corrupted during write operations.
An additional example, away from filesystems, is an open source SMB protocol implementation. Mac OS, as well as the majority of printer manufacturers, do not rely on an open-source solution. There are several commercial implementations of SMB as soon as a commercial level of support is required.
So, why didn’t the open source model work in these three cases?
The main reason is that in all of these cases, data structure specs and the description of algorithms are not the most important piece of the picture.
The root of the problem is in the variety of real-life situations where bugs and failures may occur and lead to a data-loss situations, which is a total no-go in the real world.
The open source community is successful, though it has been in create open source programs and platforms, is still no guarantee of industrial-grade software development(3). The core to success in developing a highly reliable solution is a carefully nurtured auto-test environment. This assures a careful track record and in-depth analysis for every failure, as well as effective work-flow, making sure any given bug or failure never repeats. It’s obvious that building such an environment can take years, if not decades, and the main thing here is not to know how something should work according to specs, but to know how and where exactly it fails. In other words, the main problem is not the resources needed to develop the code, the main problem is time needed to build up a reliable test-coverage that will provide a sufficient barrier for data-loss bugs.
Another problem with open source is that it is usually accompanied by a GPL license. This limits the contribution to such projects almost solely to the open source community itself. One of the major requirements of the GPL license is to disclose changes to source code in case of further distribution, making it pointless for commercial players to participate.
They’re limited to non-redistributable commits only, which is a pretty low priority case in the real world. If a commercial player commits anything to Linux publicly as an outcome of work for hire for a specific customer, there is no way to make money out of it in the future since it becomes available to anyone on a royalty-free basis. This also raises the question to a commercial customer on why they would pay to help others, who may well be competitors.
This all makes the future of Microsoft’s exFAT initiative quite vague. Clearly, this will end up as delivering “exFAT support” in the Linux kernel.
Will it ever go beyond the read-only level? Will it ever be good enough for hardware manufacturers to rely on in commercial products?
Only time will tell.
There is the good news that Microsoft still maintains a pool of four partners(5) able to provide a commercial-grade exFAT implementation when a truly “bulletproof” solution is required for Linux or any other OS. It’s also very interesting to note that Microsoft does not seem to be optimistic in providing its own commit of exFAT to the Linux Kernel – instead, it is leaving this effort to the open-source community.
Doing the job properly and in full would be the ultimate solution from the inventor of exFAT. We can only speculate as to why Microsoft is not doing this on its own, perhaps because of the complexity of this effort, or for other reasons.
Whatever the truth of the situation, serious players know that real solutions already exist for anyone unwilling to wait for a reliable open source exFAT implantation to arrive. __________________________________________________________________________________________________________
4. Dr. Till Jaeger, Prof. Dr. Axel Metzeger (2020) „Open Source Software Rechtliche Rahmenbedinungen der Freien Software,“ page 13
5. MailScanner has detected a possible fraud attempt from "u7061146.ct.sendgrid.net" claiming to be https://www.microsoft.com/en-us/legal/intellectualproperty/mtl/exfat-licensing.aspx - Direct licensee with exFAT implementation
Katia Shabanova is a director at Paragon Software Group. Ms. Shabanova studied linguistics at Moscow State Linguistic University and University of Texas at Austin; English and German philology at Santa Clara University, California; and earned Master of Arts degrees in English and German Philology at Georg-August University of Göttingen, Germany. Prior to joining Paragon Software Group in 2007, she worked for three high-tech public relations agencies in Silicon Valley,
Paragon Software is the industry leader for cross-platform drivers, and an authorized partner of Microsoft. The following Q&A answers many questions asked by Paragon’s customers on daily basis. This Q&A helps better understand what is GPL, OSS, patents, OIN ecosystem, definitions of Linux, OIN license agreement and many other things around “free exFAT”.