Have you ever been to a McDonald's and noticed someone complaining about their weight? Ever notice that same 300lb person ordering two big Macs, french fries and what must be a liter Coke? But what's even worse is when they blame McDonald's? Sorry people; you have to take responsibility for what you eat. If McDonald's makes you fat don't eat there.
I can't help but feel a similar reaction to some of the response to Microsoft's recent lawsuit against TomTom. I've previously taken Microsoft to task for spreading FUD and failing to disclose what patents, if any, they claim Linux infringes. Set aside for the moment the real and serious questions of software patents and the extent to which our existing patent system is broken. Those questions are orthogonal to the point I'd like to make today: the computer industry as a whole has to accept some responsibility for the situation we are in today with respect to usage of Microsoft's's FAT filesystem. We have to accept some responsibility, stop whining, and do something about it. It's time that we "Get the FAT Out."
One of my first system programming jobs was building a network file system interface based on the filesystem in MS-DOS: Microsoft's File Allocation Table or FAT filesystem. Unfortunately, those of us who have PhDs in computer disciplines and have studied operating systems and file systems, don't see anything particularly innovative in FAT or it's extension to support longer file names, FAT32. (The original FAT only supported a fixed 11 characters for the file name. FAT32 extended that to support long file names.)
I say unfortunately because the industry has treated FAT and FAT32 as open, industry standard formats. We all share some culpability in this; including Microsoft. But Microsoft, like McDonald's, has little incentive to disabuse us of our self delusion. It appears that FAT32 is covered by Microsoft patents #5,579,517 and #5,758,352 on techniques for implementing a "common name space for long and short filenames." Thus FAT32 is not an open and unencumbered technology.
Again, I think many of us in the industry would vigorously disagree that the techniques covered are truly patentable. Unfortunately that's not our choice to make. In early 2006 the USPTO upheld the validity of Microsoft's patents on elements of the FAT filesystem. Eben Moglen has been warning us for some time that this could be a problem for the industry.
Yet in spite of this the industry has continued down a path where FAT has become the default filesystem of choice in much digital media. Amazon Kindle uses FAT. Google Android uses FAT. Virtually every digital camera uses FAT.
Rather than continue to delude ourselves that this technology is open and unencumbered it's time for the industry to "Get the FAT Out" and aggressively move to a truly open and unencumbered industry standard filesystem format. There are several to choose from: pick your favorite Linux filesystem such as ext2 for example. Ext2 is arguably technically superior to FAT as well. Plus it's open source. The software is already available under an open source license.
In 1989 Unisys "discovered" a patent that it held on LZW compression that was applicable to the popular GIF graphic format. What the industry had thought was a free an open specification suddenly was encumbered. The industry responded with "Burn All GIFs", an effort to encourage the industry to switch to a truly open and unencumbered format such as PNG. It's time we did the same with FAT. It's time we stopped eating at McDonald's. It time for us to "Get the FAT Out".
With respect to the ext2 suggestion,
That would exclude everyone except Linux, so there would be the same situation ( legal rather than technical reason for excluding a class of devices ). Linus et al would have to relicense ext2 under a nonviral license such as BSD for that to be tenable.
Posted by: JohnS | February 26, 2009 at 12:27 PM
Well, about time, but.
FAT/FAT32 is about to die anyway and makes way for next filesystem which also comes from Microsoft only.
SDHC cards could store more than 32GB, but they're agreed not to make any over the limit and move into next one instead.
It's called SDXC and uses "exFAT" (or FAT64) as the filesystem.
Everyone probably noticed the news about 2TB memory cards in the future by using sdxc.. big Q is that is this filesystem usable by anyone else but Microsoft and the ones paying them ransom?
Posted by: worried | February 26, 2009 at 01:12 PM
JohnS:
You are confusing the ext2 implementation in Linux (licensed under the GPL v2) with the ext2 filesystem format. In order to reuse the ext2 code you must adhere to the terms of the GPLv2. If you are using Linux at the user level the GPL license is irrelevent to you. You are not creating a derivative work and are not subject to the reciprocity clauses of the GPL.
You can also use the ext2 format independent of any particular implementation. Again in that case the GPLv2 license for the Linux implementation is irrelevent to you.
Larry
Posted by: Larry Augustin | February 26, 2009 at 06:06 PM
Who in "the industry" do you expect to make the first move here?
Until recently, FAT was the only filesystem that every major OS could read and write without installing something. (Now, Microsoft's newer filesystem (NTFS) is also supported by OS X and most Linux distros.) AFAIK, the software available for OS X still lacks ext3 write support, and there is commercial ext software available for windows which I doubt many people use.
While I would gladly buy a digital camera with ext2^H3^H4 support, I'm in a small minority (by even knowing what a filesystem is) so I certainly wouldn't advise a company in the business of selling products to ship one that didn't support FAT. And I certainly wouldn't want the distributors of any free software OSes to cripple themselves by dropping support for the vast majority of removable storage devices currently in use.
And, anyway, UNIX filesystems like ext are a lousy choice for portable disks because of the inevitable permissions issues (which are, of course, a feature-not-a-bug). Have you ever actually tried using an ext-formatted external hard drive on two computers with different user IDs? It sucks. If you try to read and write to an ext-formatted USB drive on both an Ubuntu system and a Fedora system, "permission denied" will soon get in your way. So, it really isn't reasonable to expect anyone to stop using FAT when it is still the most interoperable filesystem even between Linux distros.
Posted by: Finite | February 26, 2009 at 06:32 PM
The problem, as usual, is Windows. No gadget manufacturer is going to use a filesystem that doesn't plug-and-play under a default Windows install, and Microsoft isn't going to add a filesystem to Windows that they don't control unless they have absolutely no choice (see ISO 9660). So now we have a choice between requiring Windows users to install a third-party filesystem driver on every computer they connect to their shiny new gadget or simply coughing up patent-license money to Microsoft. Guess which one manufacturers will pick?
Posted by: Mark | February 27, 2009 at 06:17 PM
Great article Larry. we have the resources and technical ability to do exactly as your suggesting -- time for the industry to step up and do it.
Posted by: Jeff Haynie | February 28, 2009 at 04:52 PM
I'm not an expert on file systems or anything, but is it possible to build a removable storage device that has a kind of file system "adapter" on it? By this I mean that the device uses an ext* type format internally, but when the OS attempts to access it with FAT-type calls, there is some intermediary process that converts these calls to ones that will get results from the ext file system? And vice-versa for writing to the device. If it's possible, I'd say that this would circumvent the patent, since no information is actually being *stored* using the FAT fs.
Nice article :-)
Posted by: Kevin | March 01, 2009 at 02:10 AM
Am I the only one who thinks it's complete madness anyway to use a server OS on a mobile 'phone (or any element of it, such as a server filesystem)? Millions of lines of irrelevant code aren't too bad in a dynamically-linked OS like Unix, as you'll only load them if they're executed. But on a mobile? My Nokia is a ghastly intermix of finger-driven interface and this-really-needs-a-mouse Windows. No wonder response times are 2-8 seconds.
Posted by: Dave H | March 01, 2009 at 03:19 AM
@ Mark
A driver disk normally comes with devices. What's up with it installing a ext driver along with the software ? :)
Posted by: Mike | March 01, 2009 at 05:21 AM
Naive are those who keep finding excuses not to abandon patent encumbered MS software.
We can't use such & such technology because MS is dominant in this area, and we have no chance competing!
Why use such & such technology if we have it already from MS and relatively not that expensive!
If these were acceptable by the FOSS developers, we wouldn't have had Linux or any of Free Open source Software we have & enjoy today. Look what is happening in the IT industry today. Look what is happening to MS. For the first time MS has a real competitor who is forcing it to compete and improve its software and keep dropping their prices below anyone could imagine.
If you are convinced & satisfied with these scenarios, suit yourselves; Many other people are not, don't like it, and are determined to change it.
You want to be locked down by one vendor and keep feeding its cash cows, suit yourselves, other don't want to be locked down and don't like it a bit.
The bottom line is, like the article outlined, "The FAT has to go" and it is not difficult to get rid of it. FOSS developers who wrote file systems like EXT2...EXT4, and others can come up with much better one than FAT for portable devices.
So please quit finding excuses not to.
Posted by: Abe | March 01, 2009 at 09:36 AM
I left out crediting those who countered the posts that highlighted road blocks in the way of adopting Open Source FS. Exa. Adding EXT FS for Windows on software CDs that come with a device.
Those who highlighted those road block and done it out of insight, you deserve a thank you.
Those who did that for the purpose of discouraging developers, I say good luck, such posts didn't discourage developers before and it will not discourage them now or ever.
FOSS proliferation has been fast and accelerating. When a new portable Device FS (PDFS) is created and adopted by many device vendors because it is open for everyone, technically better, and much lower cost to adopt, MS will be obligated to adopt it as well to stay under consideration. Look what MS has been doing lately. They adopted PHP, Python, and Ruby. They joined Apache, they change their Office Document Format standard and are/will be supporting ODF. The same could happen with a new PDFS.
Posted by: Abe - Continued | March 01, 2009 at 10:31 AM
Hi, Larry!
Great article, great suggestion. I've created a new Facebook group "Get the FAT out!" based on the good old Burn All GIFs archive and your article, because raising awareness among manufacturers and users about this unnecessary issue is important. Keep up the good work!
Yours sincerely,
Haakon Meland Eriksen, Norway
Posted by: Haakon Meland Eriksen | March 02, 2009 at 12:39 AM
Hi Larry, that's a great suggestion and a great blog posting. I agree with you.
Our firm was involved peripherally when the Unisys LZW patent briefly affected people. I saw for myself how community efforts found ways around that patent.
I'm hopeful that FOSS workarounds will also succeed with FAT!
/Larry Rosen
Posted by: Lawrence Rosen | March 03, 2009 at 09:59 AM
Enjoyed the article, Larry.
Just wanted to comment that, as I recall, one objective ( or maybe *the* objective) of a patent law system is to encourage the advancement of technology.
The *point* is to "get around" the FAT patent.
Every time I hear what a great entrepreneurial and business achievement Microsoft is, I query, "Where would the technology be today if we'd had 20 years of a truly competitive market?" A truly competitive market was not intended to be at odds with the system of patent laws.
Posted by: Bryan | March 06, 2009 at 06:09 AM
Right at the point, Larry. The thing is about awareness. Many just don't care about these issues. Same is going on again with the social sites and cloud services. All proprietary, "all your data are belong to us". Very little concern with users, industry. We'll be talking the same issues in 10 years, when the industry and users have paid the price, and will. FAT32, would you believe it! Facebook T&C's, geez!!
Check out http://www.open-xchange.com/en/oxpedia#Social -- the stuff at the bottom of the page, for more, specifically the "manifesto": http://www.open-xchange.com/wiki/index.php?title=SocialOX
Keep it moving, Larry!
Rafael
Posted by: Rafael Laguna | March 30, 2009 at 01:11 PM
Other choices include UDF as specified by the DVD format. It's actually not that bad that one might suspect.
Posted by: Jonas B. | April 20, 2009 at 01:55 PM
If microsoft tells Linux violates their patents.. just tell us.. we are all waiting for the answer... won't take much longer to circumvent the things..
by the way i heard microsoft is targeting the companies which are using Linux and their Patented softwares or techniques or protocol or whatever... and having NDA so that they won't spill it out?
Microsoft is dying and everything is competing them equalling... they are just trying their bullying methods which they tried in early 90s.
"The evil will be dead!"
Posted by: Fusion | August 07, 2009 at 01:14 AM
I think that the first step in putting M$ in their places is to convince PC game developers to code games using OpenGL API's instead of DirectX.
I can't tell you how many times I have heard different people say that the only reason they will not abandon Windoze for Linux is gaming, in fact, being able to play the latest PC games is the only reason I still have windows on my dual-boot system.
Now, Imagine for a second...your watching TV and you see an advertisement for the new Call of Duty game coming out right? At the bottom of the screen it says: "Available for Xbox 360, PS3, Windows, Ubuntu, Suse, Gentoo, Fedora..."). Do you know how many Ideal Windows users/customers (age 18-35) would seriously consider switching if that were the case? and what would that do for Mac users?
Most linux distro's have an alternative for everything else (Java, Flash, etc.) but the DirectX issue is different. It is on the game developers make the call. They are the only ones who can start the process, and the demise of the M$ Monopoly, One stitch at a time!
Posted by: Clig | June 01, 2010 at 01:23 AM