What do they say about looking gift horses in the mouth? Microsoft announced (opens in new tab) Wednesday that it's "supporting the addition of [its] exFAT technology to the Linux kernel." The company positioned that as a win for Linux users, but developers were quick to voice their displeasure.
Microsoft introduced exFAT in 2006 to improve upon existing FAT file systems with better performance, larger volume limits and other changes. Many SD cards and USB flash drives--"hundreds of millions" according to Microsoft--use exFAT. Because it's a proprietary technology, however, companies looking to support the file system with their own products have to license it from Microsoft.
Samsung released a Linux driver for exFAT under the GPL license in 2013. Microsoft's announcement marked the first time it would officially support the file system's expansion to Linux, however, which should at least theoretically improve the platform's compatibility with exFAT. Here's how the company explained why it decided to support the development of exFAT compatibility on Linux in the announcement:
"It’s important to us that the Linux community can make use of exFAT included in the Linux kernel with confidence. To this end, we will be making Microsoft’s technical specification for exFAT publicly available to facilitate development of conformant, interoperable implementations. We also support the eventual inclusion of a Linux kernel with exFAT support in a future revision of the Open Invention Network’s Linux System Definition, where, once accepted, the code will benefit from the defensive patent commitments of OIN’s 3040+ members and licensees."
Phoronix reported today that Linux developers weren't particularly enthused about what Microsoft released, with one kernel developer calling it a "pile of crap," which is exactly the kind of frankness we've come to expect from Linux developers. The primary complaint appears to be that Microsoft re-implemented much of the Linux kernel's existing FAT driver rather than building exFAT on top of that driver.