Image via WikipediaAndrew Tridgell (or "Tridge") is not only a prolific Samba developer. He is probably best known for his script from 2005 which pulled Linux kernel sources out of the proprietary BitKeeper version control system (VCS), leading directly to the BitKeeper/Linux war, Linus Torvalds ditching the VCS system he loved, and Linus creating the now ubiquitous distributed version control system (DVCS) named Git. Whew! That was a mouthful.
Tridge again steps up his game and gives Linux a great way forward, this time in the FAT patent situation. Let's look at a little background about that situation before we find out how Tridge soved the dilemma, shall we?
FAT (or FAT16) is an ancient system originally used on DOS and only supported eleven-character filenames (commonly called the 8.3 format). Windows used a backwards-compatible variant of FAT, called VFAT or FAT32 which supported longer filenames while still having the shorter names. Long filenames were written as is and shortened to 8.3 for the legacy system. This is origin of the "C:\Progra~1" jibe common in *nix circles ten years ago when referring to "C:\Program Files." Microsoft filed patents for the process of having both long and short names on FAT partitions, and those patents were granted (patents #5,579,517 and #5,758,352 in the U.S.) in 1996 and 1998, respectively.
In 2008, Microsoft decided to start suing businesses over infringement of these patents, and they started with TomTom, a manufacturer of in-car navigation devices (shown above) that are Linux-based. The message to everyone was clear: "Linux infringes our patents. Don't use it in your embedded devices." Despite community attempts to find prior art and nullify the patent, which are still being carried on by the Open Invention Network, TomTom was forced to settle the suit and remove FAT functionality from its hardware. The Linux community was rocked and considered pulling FAT from the kernel completely, virtually killing it's ability to read thumb drives and otehr removable media.
Wait! What's that on the horizon? Is it a bird? Is it a plane? No, it's Tridge in his super-suit here to save humanity ....
How did he solve this riddle and allow Linux to keep FAT? The key was in the patents. They cover methods to have both short and long filenames. Tridge proposed a patch which would write the short filename if under eight characters, and write only the long name if it was over eight. Since Windows will crash without the short name, the method writes invalid characters to the short filename space, not creating a valid short filename, and also not crashing Windows.
All hail Tridge! ;)
On an aside, this is my 256th (2^8) post, meaning that I have averaged over one post every three days for the two-plus years I've had this blog. Cheers. I hope to be around for another byte's worth of posts.