Microsoft has published the technical specification for exFAT, a file system widely used for removable storage devices.
exFAT stands for Extended File Allocation Table and is widely used for things like memory cards. It is the most recent iteration of Microsoft's FAT series, a simple file system that is lightweight but lacks the resiliency and security of file systems like NTFS.
The original FAT was used by DOS in the late 1970s. It was expanded to 8-bit, 16-bit, and then to FAT32, which allows a maximum disk size of 16TB and a maximum file size of 4GB. The 4GB restriction is a problem for things like high definition video, so exFAT was developed to remove this limit.
Microsoft has several FAT-related patents, and in 2009 took action against TomTom for infringement, a matter which was later settled out of court, but which signalled to the Linux community that FAT was not safe to use. Microsoft currently offers exFAT as a licensed technology and states that "more than 100 companies license exFAT." It is possible for Linux users to add exFAT support to their systems via FUSE or non-mainline code, however, it's all unofficial due to the patent situation.
Today's publication of the exFAT specification is the first stage in what Microsoft hopes will be its inclusion in the Linux kernel. The Windows giant says it will support the inclusion of exFAT in a future revision of the Linux System Definition published by the Open Invention Network (OIN). This would mean that the exFAT patent would be covered by the OIN patent non-aggression pact.
Microsoft: We've got HUNDREDS of patents on Android techREAD MORE
The initiative may have been sparked by a discussion on the Linux Kernel Mailing List here. A developer offered to upload an implementation of exFAT, causing a discussion about the patent issues. "If Microsoft is going to be unfriendly about not wanting others to use their file system technology by making patent claims, why should we reward them by making their file system better by improving its interoperability?" wrote Theodore Ts'o, a software engineer who is well known for Linux contributions.
Eventually Ky Srinivasan, general manager in the Enterprise Open Source Group at Microsoft, chipped in with "I have started an internal discussion on this," and perhaps today's announcement is the outcome.
The specification itself will be published here. ®