The FAT file system is the file system used by MS-DOS and earlier versions of Windows. It’s a relatively simple and straightforward file system, supported by just about any operating system, making it the favoured file system on memory cards and the like. FAT is an ECMA and ISO standard, but these only apply for FAT12 and FAT16 without support for long file names, and therein lies a problem.
Long file name support for the FAT file system are covered by Microsoft patents. Microsoft offers licenses for use of the FAT specification with long file name support, asking 0.25 USD per device sold, to a maximum of 250000 USD. Long file name support is what allows FAT to handle file names that are longer than the 8.3 configuration. This 8.3 configuration pre-dates FAT, and was already in use by DEC, Data General, and CP/M before MS-DOS was conceived.
In any case, this patent issue was what caused the fallout between Microsoft and Dutch navigation equipment maker TomTom earlier this year. TomTom didn’t buy the license, but still offered support for long file names in FAT through its use of the Linux kernel. Microsoft sued them for patent infringement, but the two settled their dispute, with TomTom promising to remove the infringing functionality from their devices.
Microsoft claims the lawsuit was an incident, and that the rest of the Linux world have nothing to fear. Still, it is understandable that many Linux device makers who require FAT support aren’t particularly comfortable with a vague promise, and would much prefer a solution where the Linux kernel still offers support for long file names in FAT, but without infringing any Microsoft patents. The ideal situation, obviously, would be to get rid of FAT altogether, but that will take time, and in the meantime, FAT needs to be supported.
Andrew Tridgell, of SAMBA fame, has posted a patch on the LKML that does just that. The new patch offers support for long file names without infringing any of Microsoft’s patents. This isn’t just an empty claim; several patent lawyers with expertise in this area have investigated the patch and concluded that it does not infringe the patents.
In a Q&A about the patch, more details were revealed about how it avoids the patents:
The claims of both of the VFAT patents involve the creation (or storing) of both a long filename and a short filename for a file. The 2nd patch only creates/stores either a short filename or a long filename for a file, but never both. The 11 bytes created by vfat_build_dummy_83_buffer() to pad the field for short filenames cannot be used to access the file, and contain bytes which are invalid in FAT and VFAT filenames, and therefore are not filenames as that term is and has been used in the technical community.
So, are there any downsides to this patch? Well, only if you are unlucky enough to still be using Windows 9x-based or MS-DOS operating systems. Tridgell believes this scenario is too rare to worry about, and there’s always the msdos
file system, which forces 8.3 and doesn’t use long file names altogether.
If the name fits in the 8.3 format – it is stored as is, without any longname/VFAT data.
If the name is a long filename – the 8.3. name is filled with bogus data and the long filename is saved normally.
This works because when a long filename is present Windows will not use the 8.3 filename. This will of course fail on DOS systems.
It seems they even managed to choose such bogus data that will not trigger a chkdsk error, though I am sure MS will patch this.
Edited 2009-07-02 16:57 UTC
Are they sure this won’t break some portable devices? Compatibility with Windows itself is all well and good, but there’s no telling what sort of odd firmware bugs this is going to uncover on various embedded and/or portable devices. I’d hate to see some portable device or another not work with files stored on it by Linux, and then get the typical “tell the vendor to fix the thing” response from the kernel heads.
This should be interesting…
They have tested with various devices and haven’t found any issues. If you see or predict any problems in a particular case, you should let them know now.
There’s nothing stoping you to write a filename of 8.3 lenght in the long filename, nor from reading it from there (simply truncate it).
so what happens when all the memory makers go to exFAT in 2 years? then again even snow leapord wont suport exFAT so who knows.
Good question, although many devices support dual PTP and USB Storage modes so if they don’t support exFAT, there is always alternates. I wonder if there is a move to exFAT and demand increases whether Apple is willing to sign agreement or whether the existing agreement with Microsoft covers such technologies.
For Microsoft I have a feeling that they’re more concerned about getting money than whether or not a particular operating system uses it. If There is a requirement to pay for licence then it helps Microsoft in the long run. It helps them by raising the required sales price to cover the licence.
Lets say that Red Hat bites the bullet and says, “we need to create a Linux desktop with all the trimmings for customers”. Part of that would involve licencing a huge swag of technologies off Microsoft. By the time Red Hat got through with licencing all the technologies required for a fully feature desktop operating system it would probably add another $30-$40 onto their operating system. Couple that with the need to recoup the intial investment for the product and it would probably raise Linux to the same price range as Windows thus killing off any possible intial cost argument relating to Red Hat being lower cost than Windows.
So I don’t think it is as simple as Microsoft trying to tie the hands of Linux distributors when it has more to do with raising the cost of Linux to meet the same price as Windows. Then from there it is easier to argue that, “both are the same price, but ours is superior compared to right now where vendors can always fall back on the “but we’re cheaper” argument.
This is pure speculation.
None of Microsoft’s desktop technologies that have representation via a work-alikes in Linux have no prior art. Computers have been around a very long time, and Linux’s basic architecture is essentially POSIX compliant, it is a work-alike of a 30-plus-year-old operating system that predates Windows by at least ten years.
The OIN and the Patent Commons have a not-insignificant patent pool themselves covering Linux workings.
Much of the underlying technologies of operating systems, such as SMP and RCU and multi-user and hierarchical directories and pipes and a myriad other things are technologies owned and invented by IBM, Novell, Sun and others, not Microsoft.
If you have not got any specific claims here, your suppositions amount to no more than bluff and bluster.
Yet another pathetic post from lemur2 ignoring my post in its entirity – but hey, you keep spouting crap about things you know nothing about. The issue is patents and payments. Patents for technology that allows flawless compatibility and security knowing for the customers knowing that everything is kosher and above board.
You might live in lalalala land where you can pick and choose what laws and legal precedents to respect but for the vast majority of companies they have to operate in the real world – you know, the real world? or are you so geeked up on your own ego that you ignore reality in favour of firing off posts that never address a single thing I state in my posts?
Edited 2009-07-03 08:12 UTC
When in doubt, rather than addressing what I raise the parasites of OSNews.com come out and silence a critic – why aren’t I surprised. All talk about freedom but when it comes to descenting ideas its all ok to ambush and beat up the me.
Kroc, you want to know why the quality of submissions and readers have decreased – the moderation system speaks for itself; where organised mobs can silence a single opinion.
…the moderation system speaks for itself; where organised mobs can silence a single opinion.
Only to those who prefer to have a group censored view presented to them.
I don’t believe in plus/minus moderation with level selection. If you follow the default, at best you get non-controversial light conversation, at worst you get the lowest common denominator blah blah.
So I always select the lowest level possible to view what people say.
On the other hand, if had to vote on your post, it would have gone down. It was an off-topic adhominem at Lemur.
regedit
– HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
NtfsDisable8dot3NameCreation = 1
This will make sure you can’t be sued by MS for using both 8.3 names and long names under NTFS.
PS: Contrary to what you may thinking, MS uses both the long names and the short names when doing command line functions. Thus “DEL AB*.TXT” will delete any long file names and any short file names that match the wild cards. This is a know issue and you can delete files by accident. (The short name and the long name don’t have to be related).
The above patch is recommended for all Windows systems. MS won’t set it as the default because some Installers/Uninstallers and stupid programs (ie: PATROL) rely on the short name and never look at the long name.
You’ve raised a very important issue relating to NTFS; how does the FAT patent impact on NTFS-3G (and other implementations)? Does NTFS have any patents to be worried about?
I’m also wondering whether it would be best for Linux to push all non-essential file systems out of the kernel and have them programmed against FUSE; it would boost stability, reduce the kernel size and file systems can be maintained outside the kernel, updated and maintained according to their own schedule.
I think I’ve mentioned this is the past and wondering whether this is the best course of action not only for Linux but also for alternative operating systems in general.
Edited 2009-07-03 04:03 UTC
NTFS-3G is not part of the Linux kernel. You install it at your own risk.
True, but you again like always ignore the whole post – selecting what you want to reply to instead of addressing the post in its entirety.
No: http://www.ntfs-3g.org/support.html#patent
That is quite surprising, I would have thought given that NTFS is one of Microsoft’s crown jewels that they would have been more concerned about that than whether someone uses FAT with long file name support. I guess they (Microsoft) assume that it is complex enough for people to pay for specifications or its limited use wouldn’t generate the cash worthy of funding any possible legal challenges against third parties.
That raises an issue which I am surprised EU haven’t picked up on, if patents are used to protect innovative ideas then why protect something like FAT which is hardly a strategic asset in the Windows world – so the FAT patent when looked form that perspective has nothing to do with protecting an idea and everything to do with stopping interoperability on an incredibly commonly used file system.
One of the things I am pushing in NZ a law against it, explicitly pointing out software patents; I’m not too sure whether one can obtain them in New Zealand but I’d sooner have an explicit law forbidding them then leaving it up to the patent office to ‘exercise good judgement’.
Well…
MS sued Tom-Tom as a PR move, something to scare people from Linux. That way it makes sense to sue for such a non-important piece of technology.
Either that or make it where they require Linux distributors to pay Microsoft $5 per user for a FAT licence but only charge them $5 per unit for a Windows CE licence which gives them a ready to use operating system to customise (rather than having to assemble everything from the ground up). Making Linux expensive enough as to persuade companies to use Microsoft’s software.
I wonder therefore whether it would be best for EU to then demand that FAT/exFAT to be classified as so important to the IT world that Microsoft should be forced ring fence those technologies with full documented specifications to allow royalty free implementations. It would fit perfectly into the requirements of the EU competition laws which place higher level of responsibility on those corporations which have a dominant position in a given market.
There is no need to document FAT. It’s such a simple file system that we are 100% sure we have toe correct implementation. Also, there are no software patents in the EU. The problem is only for the USA.
I believe the best route for the EU would be to force MS to include open file system drivers out of the box with Windows, like ext4 or whatever, but something that is open and documented. That way manufacturers could release devices with open file systems and be compatible with Windows. All other OSes can include it with no problem.
Hopefully, it would be too expensive for Microsoft not to release the same drivers all other the world with Windows.
I probably wasn’t clear in my post; the need for documentation is more directed towards exFAT – I wish there was some uniformity with patents so that one doesn’t see issues like a EU company shipping something that is legal in the US but subject to suing in the US.
I like how people keep claiming that MS can’t sue anymore – here because the new code doesn’t violate the MS patents, and in Mono because of whatever bizarre ideas they have about MS contributing to Mono. So what! Does MS CARE whether or not that’s true? Of course not! We’ve all seen the kind of predatory actions MS takes when it feels it needs to, regardless of the law. MS can and will file against the new VFAT code or Mono the moment they feel it to be right. So what if they can’t win – they’ll keep it tied up in court so long your grandkids will sit on the jury. It’s why people like TomTom settle instead of fight. Everyone KNOWS the FAT patents are invalid, but it’ll cost tens of millions of dollar and years in court to fight them, and that’s not something a company like TomTom will do.
Patents are invented to protect companies investment in research. And it’s about time it is treated as such. Wanting a lot more royalties than the initial investment is simply a method to get rich fast or kill of the competition.
I make “inventions” like this on a daily basis as a software developer, and this patent is even a dirty hack to have long filenames! It’s not like tomtom or the linux people like or even want it this way. It’s to be compatible.
As a socialist i say it’s bad because somebody get rich by doing nothing, and as a capitalist i say it’s bad because it kills competition. And as a software developer is say, get of my back and let me do my job! Never mind how you look at it, software patents are bad.
This is why I stay away from anything Microsoft.
They just don’t play well and never played fair, I really get tired of looking at how people blindly trust them on Mono, Silverlight/Moonlight, etc. Microsoft sickens the whole industry.
And I will never touch their products or even recommend them. They deserve death and bankruptcy for the way they treat other people.
Edited 2009-07-02 20:22 UTC
In the 70’s, this was:
code->release->get rich
in the 80’s, this was:
code->test->fix->document->release->get rich
in the 90′, this was:
design->patent->code->patent->test->fix->patent-> document->release->get rich
in the late 2000’s, this is:
design->check for patents->redesign->code->recheck for patents->test->fix->test against Microsoft legacy software->refix->recheck for patents->refix->document->release->get sued->hack the code again->retest->refix against broken Microsoft technology->release->get sued again->back to refixing
Concisely put – I remember back in the good old days when programmers use to sit around pounding out code, making the best possible product and shipping it. Where the competition, rather than trying to undermine the said company would go off and find out why it was a success and learn what they needed to do in their own software for success. The situation right now is a dearth of ideas because the focus has moved so far from producing code that is a work of art in favour of a 4 to 1 ratio in favour of the lawyers and marketing.
I think you’re talking about the programmers who made GeoWorks Ensemble. As far as I remember, even though it ran under DOS, it allowed you to create files with long file names. Compatibility was done through a “translation file” per directory that made the long file names appear in GEOS, while in DOS, they were simple 8.3 filenames. Keep in mind that this product was released years before MICROS~1 could do something similar with file names.
In consequence, you can easily conclude how the quality of the software is. Because there’s no need to make high quality software – because you can always compensate bad quality by aggressive marketing and forcing law suits for everyone who does better – it won’t be done anymore. This attitude seems to be taught to novice programmers. Even worse, coding skills and “programmer’s intelligence” don’t seem to count as much as the guy who makes the pretty figures and the TV commercials to sell crappy software to the masses.
A brilliant technical circumvention of a foul patent! Must love Andrew Tridgell!!
It’s rather strange that we even have to think about this, wouldn’t you agree ?
The patents involved are IMHO silly, as silly as patents patenting ‘walking’, ‘sleeping’, ‘opening a door’ or ‘clicking a button’.
(Why don’t we patent the a wheel if it’s ‘just a little bit more round then the previous ones’ ??)
Likewise a patent covering how you can hack out of 8.3 restricting of a fat-fs is simple and has far more to do with convention then with invention that it should not have been a patent in the first place.
Given that the basic principle is that you create some lookup storage to store short-long-name pairs it is more to do with everybody supporting this method then the method itself. EG: IBM did this by using extended attributes while Microsoft created hidden directory entries for storage. While different ‘conventions’ on where and how to store the information, the underlying principles are the same.
So should-not-be-a-valid-patent gives us no infringement gives us no need for some patch which hacks our way out of a old-dirty-fat-hack with all the potential little quirks that could (hopefully not) arise from it.
Of course I thank everybody for working on this and supporting the effort. Cause we don’t want any problems. It’s just that I feel that this one should not have been a problem in the first place.
Of course I thank everybody for working on this and supporting the effort. Cause we don’t want any problems. It’s just that I feel that this one should not have been a problem in the first place.
Isn’t it quite obvious that the whole thing is ridiculous? There’s loads of developers out there who are against software patents altogether, they only help those who want to make money with suing others. Other than that they only stifle innovation, forcing people to needlessly spend time checking that they don’t accidentally violate someone’s patent and if so then they need to find a way around that..