Ubuntu – How does Ubuntu get away with reading FAT32


I read here that Microsoft makes $5 to $15 on every Android device sold because Android can read the FAT filesystem. Ubuntu can also read the FAT filesystem but no payment history to Microsoft exists. What is the difference?

Best Answer

This is more of an issue with exFAT, not FAT.

  • exFAT is the Microsoft-owned proprietary filesystem that Android (and any other device) need to license from Microsoft in order to support.

  • FAT (eg FAT32 + VFAT) is free to implement and implemented pretty much universally, including in Ubuntu.

One of the notable benefits of exFAT over FAT is its support for individual files larger than 4GB, an essential feature for video recording applications.

The most notable drawback, obviously, is its proprietary nature, giving a Microsoft tax to every device that implements the standard. It is an essential part of the SDXC standard, meaning that devices that support SD cards over 32GB have to pay money to Microsoft.

Edit: after reading the actual article, I realise now that the article itself suggests that vendors are paying to use even FAT (not exFAT). Sorry for assuming that was your own confusion.

However, the point muru made in his answer still stands: the free software implementations of FAT (including the implementation in Linux, the kernel used in Android) are not subject to Microsoft patents because they don't implement the patented algorithm for maintaining long filenames and 8/3 letter filenames side by side.

The article even admits it can only speculate, and I think it's probably wrong, for the above reasons. Or, at least, perhaps it does not have the full story: it's possible that these vendors are licensing other technology from Microsoft and the contract they have with Microsoft just happens to also bundle in some FAT technology even though they don't need a license for this.