|Home » Learning Curve » Red Hat Diaries
The Microsoft VFAT Patent
A sign of disintegration.
Rick Falkvinge has often pointed out that the only time corporations push patents is when they're no longer able to create and market products their clients want. Microsoft pushing a pseudo patent on VFAT long file names is the ultimate example of this wasteful activity.
The case of the VFAT long file name patent also proves the *only* difference between a patented invention and an unpatented one is an attaché full of cash. The hack used to run UTF-16 long file names on legacy PCs is just that - it's a hack. A hack and no more.
OSI 8.3 & Chicago
Legacy PC systems used a directory structure dependent on OSI 8.3 file names. Files could have names of up to eight bytes and optional extensions of up to three. The file names and their extensions stored on disk were space-padded. The dot between the file name and the extension is implicit and not part of storage.
[You can try this bit on a legacy PC to see: create the file 'MyFile.' and do what you need to get that dot at the end. The dot won't show up anywhere even though the system accepts the name change.]
Legacy directory entries are 32 bytes in size. And most of those bytes aren't used.
- File name. First 11 bytes.
- File attributes. One byte.
- Lots of empty unused space.
- File size and starting cluster.
The attribute byte is interesting. It's a byte so there are only eight bitwise values (and yes they have to be bit-wise).
File attributes on a PC (even today) are irrelevant and lame but they exist. They include the Archive bit, the Read-only bit, the System bit, the Directory bit - and the Volume bit.
The Volume bit's the interesting one. The Volume bit is only used in the root directory. It's only used to give the volume (the hard drive, the partition) a name. That's it. There's no starting cluster or file size there in the entry - it's a volume name and no more.
And aren't they lucky, those Microsofties? Because all the low level routines were always written to ignore directory entries with the Volume bit.
So now Microsoft want to have LONG FILE NAMES. They want to be able to introduce SPACE CHARACTERS into file names. And they want to be able to use UNICODE too. (Who do they think they are? TEH UNIX?)
That's quite the conundrum for the luckless Redmond wizards. Gee what do we do? For we want backward compatibility with all those cool and groovy DOS and Windows 3 apps, right?
HACK PAST THE VOLUME BIT! Create an algorithm to store file names as before (but now in Unicode of course) and always put the Volume bit in the byte at offset 11 for every 32-bit chunk in the directory. Legacy code skips past you and you can use the remaining 31 bytes of each directory entry chunk any way you want!
Whoa! Mister Bill! Oh Mister Bill! Come quick! AND BRING THE LAWYERS!!1!
And there you have it. The complete hack. One might as well patent everything - every creative piece of computer code ever written by anyone anywhere. And you could too - all you need is an attaché full of cash.
Deutschland Über Alles
Cut to the reunified Germany present day. Microsoft are increasingly pressured for cash: almost everything they do is abortive (and ultimately aborted). But it turns out singularly uncreative FOSS minds have copied the VFAT system in toto for amongst other things embedded devices.
Phil Katz once ran into a similar problem. He got sued for using the ARC algorithm for file compression utilities. He didn't fight the suit much - he simply went out and spent a couple of days to create a new algorithm - PKZIP.
The VFAT hack and its FAT underpinnings are so incredibly simple Bill Gates was almost able to convince people he came up with some of the underlying ideas. So it's not going to take much time to replace it.
But that isn't the way of copycat FOSS - just look at their GUI desktops if you need convincing.
Microsoft got the lackey USPTO to uphold their patent in 2006 and now they want to conquer Europe.
The German Federal Patent Tribunal has already ruled against Microsoft's application back in 2007, stating the obvious: that it lacks an 'element of invention'. So Microsoft did what any god-fearing US company would do: call out the big legal guns and appeal. And now they win. Ho-ho what a surprise.
The Microsoft EU patent application is so bad it's padded with a diagram of a generic von Neumann machine. That's how bad it gets - and that's how stupid those patent office people and the court magistrates are.
Patents KILL, says Christian Engström. And he's right. Patents are only pushed when corporations lack the ability to create and market products their clients want, says Rick Falkvinge over and over again. And he's right too.
VFAT long file names? IT'S A HACK.
Rixstep Red Hat Diaries: Patents Kill
Radsoft Rants: Orwell Didn't Know Shit
Rick Falkvinge: On Patents 1/3 (Swedish)
Rick Falkvinge: On Patents 2/3 (Swedish)
Rick Falkvinge: On Patents 3/3 (Swedish)
Rick Falkvinge: More On Patents (Swedish)
Rixstep Red Hat Diaries: Orwell Didn't Know Shit
Radsoft Rants: This Book May Not Be Read Aloud
Christian Engström: Patents on Medicine Kill (Swedish)
Ars Technica: Study: free markets superior to patent monopolies
Rixstep Red Hat Diaries: USPTO: Method of Swinging on a Swing (6368227)
Ars Technica: German appeals court uphold Microsoft Long File Name patent
Centre for Economic and Policy Research: The Reform of Intellectual Property
Radsoft Rants: SCO II: Steve Ballmer's Intellectual Property Interoperability Framework