Microsoft just released the exFAT specification

Hi all,

Microsoft just released the official specification for the exFAT file system.
Microsoft exFAT specification
Would be nice to update our driver for Haiku.



1 Like

From what I read, they published the spec and granted free use of the patents to members of the Open Invention Network, which we aren’t. So no, we are still not getting an ExFAT driver.


can’t find any source about open invention network around that spec. all i found are references to creative commons and MIT Licences in their github version

Start here.

Indeed its a bit mucky to waid through the legalese but it seems the OIN is very Linux specific… Which is unfortunate it could have been much more broad and helpful to FOSS in general.

1 Like

Yes, in the ReactOS-forum it is discussed, too.
And florian showd, that it helps only Linux.

Especially the added parts of the file exfat_upcase.c

 +const u8 uni_upcase[NUM_UPCASE << 1] = {
 +	0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00,
 +	0x04, 0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x00,
 +	0x08, 0x00, 0x09, 0x00, 0x0A, 0x00, 0x0B, 0x00,
 +	0x0C, 0x00, 0x0D, 0x00, 0x0E, 0x00, 0x0F, 0x00,
 +	0x10, 0x00, 0x11, 0x00, 0x12, 0x00, 0x13, 0x00,
 +	0x14, 0x00, 0x15, 0x00, 0x16, 0x00, 0x17, 0x00,
 +	0x18, 0x00, 0x19, 0x00, 0x1A, 0x00, 0x1B, 0x00,
 +	0x1C, 0x00, 0x1D, 0x00, 0x1E, 0x00, 0x1F, 0x00,
 +	0x20, 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, 0x00,
 +	0x24, 0x00, 0x25, 0x00, 0x26, 0x00, 0x27, 0x00,
 +	0x28, 0x00, 0x29, 0x00, 0x2A, 0x00, 0x2B, 0x00,
 +	0x2C, 0x00, 0x2D, 0x00, 0x2E, 0x00, 0x2F, 0x00,
 +	0x30, 0x00, 0x31, 0x00, 0x32, 0x00, 0x33, 0x00,

Is that a binary-blob?

The SFC has some comments about this: (and if you follow a few of the linked article, you can see that their involvement on exFAT dates back to at least 2013).

Basically, the idea of the OIN is that people joining it guarantee that they won’t use their patent to claim royalties on Linux or tech it uses. There are still patents going on for other cases, and what “Linux” means in this context is sometimes surprising.

So, it’s nice of Microsoft to do this, but it is not enough. They should revoke their patents in a definitive way (they can, at any time, leave the OIN and change their mind), and they should not be related to Linux specifically, but allow things for Haiku, FreeBSD, etc.

Meanwhile, we’d rather focus on either open source (btrfs, xfs, jfs) or standardized (UFS, for which you can freely gets the spec from ECMA) filesystems, as well as our own bfs.


I think it should still be possible to use exFAT via userlandfs though right?

Some people will need it for SD cards in cameras etc… that must use it.

Its not a copyright-problem nor a license-problem. Its a patent-problem!

And where is the difference, if you violates a patent in kernelland or userland?

The difference is… the patents are mostly US only… if you host packages elsewhere then it doesn’t matter. Users can download and install the packages at their discretion.

1 Like

And that works for kernel modules as well. So, there is no difference doing it using userlandfs, FUSE, or a kernel module.

Well yes… userlandfs is just less work potentially and would probably be suitable for most use cases.


I do not understand why we are debating something we already have!

This is a read-only driver; I think a lot of the patents are on the write algorithms and the like.

1 Like