Reply to this topic Topic Options
Rating 4 V
New Linux patch could circumvent Microsoft's FAT patents
tiagosilva29
Post #1 Jul 2 2009, 14:36


Neowinian UNSTOPPABLE
Group Icon

Group: Restricted (profile)
Posts: 7,057
Joined: 8-May 04
From: Portugal
Member No.: 55,115
Microsoft's recent lawsuit against TomTom, alleging infringement of filesystem patents, has left many questions unanswered about the legal implications of distributing open source implementations of Microsoft's FAT filesystem. A new Linux kernel patch that was published last week offers a workaround that might make it possible to continue including FAT in Linux without using methods that are covered by Microsoft's patents.

The patent dispute erupted in February when Microsoft sued portable navigation device maker TomTom. Microsoft claimed that TomTom's Linux-based GPS products infringe on several of its patents, including two that cover specific characteristics of FAT, a filesystem devised by Microsoft that is widely used on removable storage devices such as USB thumb drives and memory cards. The dispute escalated when TomTom retaliated with a counter-suit, but it was eventually settled in March when TomTom agreed to remove the relevant functionality.

The outcome of the lawsuit created ambiguity around the legal status of the Linux FAT implementation. Microsoft contends that the suit was a largely isolated incident and that there are no plans to pursue litigation against individual Linux users. For commercial Linux adopters, however, the situation is murkier. Linux is widely used on mobile and embedded devices, and many of these need to be able to read FAT-formatted removable media.

The Linux Foundation says that the best solution at this point is for vendors to ditch FAT and come up with a new vendor-neutral format that can be used without having to pay licensing fees. Although that might be a viable long-term solution, there is still a clear need to support FAT in Linux today. To facilitate this, developers are evaluating technical workarounds while the Open Invention Network is seeking prior art for the purpose of invalidating the patents.

The specific patents in question describe techniques for implementing a "common name space for long and short filenames." It is a hack for preserving backwards compatibility with the filename munging scheme that was used in MS-DOS when filenames could not exceed 11 characters and were displayed in the so-called "8.3" format.

Andrew Tridgell, one of the lead developers behind the Samba project, published a patch last week that will alter the behavior of the Linux FAT implementation so that it will not generate both short and long filenames. In situations where the total filename fits within the 11-character limit, the filesystem will generate only a short name. When the filename exceeds that length, it will only generate a long name and will populate the short name value with 11 invalid characters so that it is ignored by the operating system.

"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] patch only creates/stores either a short filename or a long filename for a file, but never both," he explained in a message to the Linux kernel mailing list. "The 11 bytes created by vfatbuilddummy83buffer() 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."

The short name field is populated with garbage data instead of simply being nulled out because there are bugs in Windows XP that would cause the system to crash when certain values are stored in the short name. The garbage string is generated with random bytes in a manner that is intended to minimize the risk of triggering that bug.

This is Tridgell's second patch to address the patent issue. His first, which was published in May, completely disabled the creation of files with long filenames. The new patch is a more practical approach and one that will have less detrimental impact on end users. The Linux kernel community was not particularly happy with the first approach, but the new patch is said to have a better chance of being accepted in the mainline kernel. It's unclear, however, if it would be enabled by default in the event that it is accepted.

The Linux Foundation arranged for the patch to undergo extensive review by patent lawyers. They are confident that the patch will effectively evade the common namespace method described by Microsoft's patents. It will also function properly in virtually all cases. The only situation in which it will be problematic is when the data on the filesystem is accessed from old versions of DOS or Windows that still require the 8.3 filenames. Tridgell believes that such a scenario is rare enough that it will not impact a significant number of users. Those who require compatibility with those older versions of DOS or Windows can use the Linux "msdos" filesystem, which enforces 8.3 names and doesn't use Microsoft's patented dual-naming convention.

The Linux Foundation still firmly believes that the patents are invalid. The workaround was implemented in order to help commercial Linux adopters avoid the risk of a confrontation with Microsoft. Tridgell points out that patent litigation can be costly and that victims can be faced with International Trade Commission actions even in cases where the patent claims have no legal merit.

By implementing a workaround, the Linux community is avoiding the risk entirely and making it possible to have real-world interoperability without having to pay licensing fees to Microsoft.

News source: Ars Technica
Profile Card PM + Reply to Post Go to the top of the page

Log In or Register · Advertise on Neowin
carmatic
Post #2 Jul 2 2009, 14:43


Neowinian Senior
Group Icon

Group: Registered
Posts: 3,009
Joined: 3-July 04
Member No.: 61,271
legalities getting in the way of functinality!
Profile Card PM + Reply to Post Go to the top of the page Email Poster
Frank Fontaine
Post #3 Jul 2 2009, 15:47


Would you kindly...
Group Icon

Group: Registered
Posts: 5,097
Joined: 25-March 09
From: Kent, England
Member No.: 286,512
Well fair play if they have found a way to get by this, I would like to see Microsoft's file systems usable in more OSes anyway.
Profile Card PM + Reply to Post Go to the top of the page Email Poster
vetmarkjensen
Post #4 Jul 2 2009, 20:11


Linux noob since Red Hat 5.1
Group Icon
Group Icon

Group: vetVeteran
Posts: 23,174
Joined: 2-October 03
From: Middle Tennessee
Member No.: 36,818
Quote -
"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] patch only creates/stores either a short filename or a long filename for a file, but never both,"
Niiiice workaround.

Quote -
The short name field is populated with garbage data instead of simply being nulled out because there are bugs in Windows XP that would cause the system to crash when certain values are stored in the short name. The garbage string is generated with random bytes in a manner that is intended to minimize the risk of triggering that bug.
pinch.gif Ouch.
Profile Card PM + Reply to Post Go to the top of the page Email Poster
Growled
Post #5 Jul 2 2009, 20:43


Neowinian UNSTOPPABLE
Group Icon

Group: Registered
Posts: 6,708
Joined: 17-December 08
Member No.: 274,360
That's so cool. That's why in the end open source will rule.
Profile Card PM + Reply to Post Go to the top of the page
vetSimon
Post #6 Jul 2 2009, 20:47


Dumbo dumbo.
Group Icon
Group Icon

Group: vetVeteran
Posts: 6,503
Joined: 5-July 05
From: St. John's, NL, Canada
Member No.: 117,243
Why can't everyone just use one filesystem?

FAT is more or less useless anyway on modern hard drives.
Profile Card PM + Reply to Post Go to the top of the page Email Poster
daPhoenix
Post #7 Jul 2 2009, 21:07


Neowinian Senior
Group Icon

Group: Registered
Posts: 3,032
Joined: 10-August 03
From: Finland, European Union
Member No.: 34,188
Quote - (simon360 @ Jul 2 2009, 22:47) *
FAT is more or less useless anyway on modern hard drives.

NTFS has more patents than you can shake a stick at and as you've seen Microsoft will (as is now proven) sue companies who are using their rather oblivious patents in their products - that's out of the picture if you want to make a device that runs on Linux but needs to also be accessible from Windows.

Obviously you could write a Linux filesystem supporting driver for Windows but you'd have to install that on every station you want to let a customer use your product on - naturally the other alternative is to write your own software that uses your own proprietary protocol to communicate the device but that goes against the ideals again (not to mention has nasty portability issues and once again requires your software to run on all the stations).

This post has been edited by daPhoenix: Jul 2 2009, 21:14
Profile Card PM + Reply to Post Go to the top of the page Email Poster
toadeater
Post #8 Jul 2 2009, 23:53


Neowinian Senior
Group Icon

Group: Registered
Posts: 3,322
Joined: 29-March 03
Member No.: 24,728
Quote - (daPhoenix @ Jul 2 2009, 17:07) *
NTFS has more patents than you can shake a stick at and as you've seen Microsoft will (as is now proven) sue companies who are using their rather oblivious patents in their products


You can license NTFS support for your infidel Linux device:

http://www.ntfs-3g.org/commercial.html
Profile Card PM + Reply to Post Go to the top of the page
daPhoenix
Post #9 Jul 3 2009, 06:51


Neowinian Senior
Group Icon

Group: Registered
Posts: 3,032
Joined: 10-August 03
From: Finland, European Union
Member No.: 34,188
Quote - (toadeater @ Jul 3 2009, 01:53) *
You can license NTFS support for your infidel Linux device:

http://www.ntfs-3g.org/commercial.html

Licensing NTFS-3G is a complete bomb (not to mention completely unnecessary as it's "free") - Microsoft has not yet revealed their NTFS patents but once they do, the NTFS-3G project is in a world of hurt.

Implementing any Microsoft controlled project in any other OS is a major mistake.
Profile Card PM + Reply to Post Go to the top of the page Email Poster
Growled
Post #10 Jul 3 2009, 16:42


Neowinian UNSTOPPABLE
Group Icon

Group: Registered
Posts: 6,708
Joined: 17-December 08
Member No.: 274,360
Quote - (daPhoenix @ Jul 3 2009, 00:51) *
Implementing any Microsoft controlled project in any other OS is a major mistake.

I completely agree. Eventually it will come back to bite you in the rear end.
Profile Card PM + Reply to Post Go to the top of the page
+Zapadlo
Post #11 Jul 3 2009, 17:02


Resident Fanatic
Group Icon
Group Icon

Group: +SubscriberČ
Posts: 720
Joined: 13-December 08
From: UK
Member No.: 274,092
Quote - (tiagosilva29 @ Jul 2 2009, 15:36) *
The short name field is populated with garbage data instead of simply being nulled out because there are bugs in Windows XP that would cause the system to crash when certain values are stored in the short name. The garbage string is generated with random bytes in a manner that is intended to minimize the risk of triggering that bug.


Wonder how common is this bug.
Profile Card PM + Reply to Post Go to the top of the page
vetmarkjensen
Post #12 Jul 3 2009, 21:35


Linux noob since Red Hat 5.1
Group Icon
Group Icon

Group: vetVeteran
Posts: 23,174
Joined: 2-October 03
From: Middle Tennessee
Member No.: 36,818
Quote - (Zapadlo @ Jul 3 2009, 12:02) *
Wonder how common is this bug.

Probably non-existent for anything that works within Windows to create files, as the Windows API will only allow creation of legal filenames. wink.gif
Profile Card PM + Reply to Post Go to the top of the page Email Poster
ThePitt
Post #13 Jul 4 2009, 02:13


Neowinian Senior
Group Icon

Group: Registered
Posts: 3,023
Joined: 14-January 06
From: Hell
Member No.: 151,279
works around FTW!
Profile Card PM + Reply to Post Go to the top of the page
« Older · Back Page News · Newer »
 Reply to this topic