Saturday, March 14, 2009

Windows FAT patent rant; NanoDNS bug

As had been widely reported in the press, Microsoft is suing someone for using the FAT32 filesystem without licensing. This is downright anti-competitive monopolistic behavior and behavior Microsoft should not be allowed to do without repercussions.

The problem is this: For a device, such as a USB stick, digital camera, GPS unit, or whatever to connect to and work with Microsoft Windows, the device in question must use a filesystem Microsoft Windows supports, since Microsoft has a monopoly position on the desktop. Unfortunately, Microsoft has a patent for any and all filesystems they support, so to make a device you are forced to use a patented filesystem and get a patent license from Microsoft.

It used to be possible to create a driver to give Microsoft support for another filesystem, such as ext2 in pre-Vista versions of the operating system. Indeed, I use the open-source ext2fsd on my XP system to have the majority of the data on my hard disk stored using Linux's second extended filesystem (the native filesystem for Linux throughout the 1990s and early 2000s; the updates to ext2 are mostly ext2-compatible, and Linux still has 100% ext2 support). So, this stops the majority of my data from being stored using a patented filesystem.

Unfortunately, Windows Vista no longer supports third-party filesystems. Let me take that back. In theory, Windows supports non-patented filesystems, but you have to get rid of the UAC (the Visty thingy that makes sure a virus doesn't do something it shouldn't do without your permission) to give Vista support for non-patented filesystems (see this page for a description of the issue).

This reminds me of when Microsoft made it so Windows 3 would not work with DrDos because they wanted to stop people from using non-Microsoft operating systems for their computer. Microsoft, with Windows Vista, has broken the ability to use a non-patented filesystem (that is more modern than having 8+3 filenames) with a normal install of their OS.

Since Microsoft has made a technical solution impossible, the only solution is a legal solution. One solution is to invalidate the FAT32 patent, because everything it patents was done before (the idea of using meta-information to map long file names to short file names was done with Rock Ridge which was published before Microsoft filed for the FAT32 patent). Another solution is to sue Microsoft for engaging in antitrust behavior, since it can be shown, with Vista, that Microsoft removed compatibility for non-patented filesystems, forcing people to license Microsoft's patents, not because the patents are novel, but because the patented filesystems must be used for interoperability purposes.
The copy of NanoDNS I posted yesterday has a bug; it will not work on systems where int is not 32 bits in size. No, I will not fix this bug; people can just use MicroDNS if they need to run a small DNS server on a system that is 64-bit or whatever.