The whole FAT licensing saga between Microsoft and TomTom just got a whole lot more complicated. Microsoft sued TomTom because the satnav maker had not licensed FAT from Microsoft, even though several others have. This left TomTom in a difficult position: not license it, and face legal penalties – license it, and violate the GPL. The second part, however, is up for debate now: the terms under which Microsoft licenses FAT may not violate the GPL at all. Near-instant update: On Slashdot, Bruce Perens and Jeremy Allison have explained that the FAT terms are still a GPL violation. Allison accidentally emailed the journalist who wrote this story with the wrong information.
In other words, TomTom could license FAT from Microsoft under terms that would not violate the GPL. The terms in question add a cap to royalties, which in fact does not violate the GPLv2, according to GPL experts like Eben Moglen and Jeremy Allison (Allison later had a change of heart, and now believes it is a violation, but he isn’t sure). Even though these terms have mysteriously vanished from Microsoft’s website, Microsoft has confirmed that the terms are still applicable.
David Kaefer, General Manager of IP Licensing at Microsoft, said: “When we announced the FAT licensing program in December 2003, we indicated that pricing would be $0.25 per unit up to a cap of $250,000 for devices that use FAT for removable memory, such as flash memory cards. At that time, we also noted that some companies may wish to negotiate broader or narrower rights than our standard license for flash memory type scenarios and that pricing may vary. Today, our public pricing approach is unchanged.”
This raises two interesting questions. First, why didn’t TomTom license FAT properly, without violating the GPL? Secondly, and this is maybe even the more interesting question: why didn’t Microsoft point this out in the first place? It could’ve saved them lots of bad publicity if they did.
Read the updates and the comments from Bruce Perens and Jeremy on /.
I think they could have used any opensource file system and adapt their TomTom application that downloads updates to be able to write to the TomTom flash memory. Sure, Windows wouldn’t be able to access this flash memory, but it’s not intended to anyway. You’re not supposed to use it as an USB flash key.
This is an old issue as I see it. Floppies all shipped FAT so either they where reformatted or your system had to be able to read FAT. Windows, osX and your favorite flavor of *nix will read a preformed diskette.
Flashdrives, same thing.. all reformatted FAT so either your platform can read FAT or you accept second class citizenship.
SD cards.. FAT. And the TomTom has a nice big standard SD slot on the side of most units. Even if they recompiled the internal OS image to use ext2, they still have that external slot for the removable SD.
While it would be a brave move and technically easy to write in the function, TomTom can’t simply go “New SD card detected. Card needs to be formated for use which will make it unreadable by your Windows desktop, allow or deny?”
It’d be nice to see native ext3 or other formats outside of fat/ntfs shipping with Windows but t’aint going to happen in my lifetime likely.
Most units? No. My TomTom doesn’t have an SD slot. Nor did other TomToms of the store where I bought it. But still, this doesn’t make your point less insightful. But as I said, a TomTom isn’t supposed to be used as an USB flash drive, so if you’re able to copy files to its memory or not is not a problem. What’s important is that you can update it.
I cover my GPS needs with an N810 so the only TomTom I’ve had hands on was one recently purchased by a family member.
SD slot
video player
music player
image viewer
basic PIM
.. oh.. hehe.. and GPS related functions.
Good to be corrected on the product line though as it’s not something I’ve had reason to look into directly. Maps, Maemo Mapper and a few other GPS enabled programs cover my personal needs.
In addition to formatting it as a Ext2 (or one of many other free file systems), could they create a small partition and copy a image of a FAT filesystem which included drivers for the Ext2 for Windows and OS X?
Well, seems alls recent operation system (and if one uses an older version even ancient ones like Windows 98), support UDF http://en.wikipedia.org/wiki/Universal_Disk_Format
Wow, I hadn’t realized UDF was that versatile. I’d always thought of it as a filesystem used on DVDs, and it being read-only like iso9660 was. I was very wrong about this. I should’ve researched exactly what UDF was a long time ago, as it could have saved me a great deal of headaches a while back when I was moving some large files between OS X and Linux, files that were too big for fat32 to handle.
I’m experimenting with a USB drive formatted as plain UDF 1.02 (most compatible revision) and so far I’m actually quite pleased with the results. Only problem is OS X won’t mount it through the Finder, though it will mount it if explicitly told to do so from the CLI, and obviously it reads UDF DVDs fine. Apparently UDF is not in the filesystem checks on USB media, wonder if I can change that. Linux and even my friend’s Windows machine had no problems with it at all, and I’m not noticing any performance issues or problems with recovering free space after files have been deleted.
I’ll definitely keep playing with this, I just might have to adopt UDF as my filesystem of choice for external media if I don’t encounter any issues.
I have to admit that neither had I.
You probably won’t believe it but I got that on slashdot
We are not talking about FAT here, but the long-filenames-support that Microsoft created, VFAT as it’s called in Linux.
And unless you want to go back to 8.3 filenames, that is kind of an essential feature isn’t it?
if it was IBM, could microsoft still sue? fat16 is infact owned by IBM. Only file-allocation-table system after 32bit is owned totally by microsoft. I thought the settlement between MS and IBM made FAT “anyones game” as long as they do not piss off ibm.
FAT is one of the least sophisticated filesystems in use. Some people just call it shitty.
The knowledge you need to come up with a design like FAT is no big deal. Everybody could come up with FAT.
It is a bad joke that Microsoft is able to charge for the use of FAT and sue people about it. Nobody uses FAT because it is such a great design. People use it to stay compatible with Windows. Which is a monopoly.
The patent laws are here used to exploit MS’ position in the market. Not to protect and foster innovation at all-quite the opposite. It’s easy to see that the patent system is broken.
Agreed 100%. Complete and utter nonsense this.
Too bad that they need Windows compatibility.
That in itself may cause a problem for Microsoft. I seem to recall something about “required for interoperability” being a valid patent defense. For example, because they both can be argued to be required for interoperability, both Samba and the NTFS drivers in Linux could be argued to be exempt from attacks via patents.
If that is indeed a valid defense against patents, then it would seem to apply to Tom Tom’s use of the Linux FAT code.
Just as an aside, for comparison purposes, here is IBM’s approach when it comes to interoperability patents:
http://www.vnunet.com/vnunet/news/2193996/ibm-pledges-free-access-k…
I think that makes for a very interesting point of comparison.
The other interesting thing is that, as far as I can recall (but I could be mistaken), the reason why there is long filename support in the FAT code for Linux is that Microsoft had made a promise not to sue over this. I seem to remember reading somewhere that they claimed they had patented FAT so that no-one else would patent it and subsequently sue them.
Edited 2009-03-13 14:00 UTC
Well I don’t think everyone can come up with a fat, not even all men.
From what I understand it’s not FAT in itself that is patented, but the hacks/extensions/workarounds needed among other things to make FAT work with long filenames.
If that is the case, Tomcat could move the patented parts into userspace where it would be in closed source code.
As far as I understand the patent, it is the seamless shortname + longname lookup that is patented, which means that the userspace solution doesn’t require royalties at all.
It’s always the way though, some crappy standards are built up over the years and make it incredibly hard to move to something better.
FAT FS is the best example of this, it’s used by all Flash Memory, External HDD etc.. because every computer can read them by default.
It’s a real shame a new open standard wasn’t adopted earlier instead of getting stuck with this outdated microsoft technology.
Looks like TomTom is stuck between a rock and a hard place, which is a shame as they really brought afordable GPS to the masses (perhaps not the first, but the first to really establish a brand and make it cheap enough to get one).
Ive been using TomTom since they done the software the adapter for PDA’s, i currently own a 720 and it works really well. The only thing i would say against tomtom is that some of it’s services are a little expensive.
> First, why didn’t TomTom license FAT properly,
> without violating the GPL?
“Allison later had a change of heart, and now believes it is a violation, but he isn’t sure)”
Oh sure! So GPL is so complicated that even the experts don’t know how to interpret it. Splendid.
Personally I can’t imagine myself using a license I can’t possibly know repercussions for, but hey, whatever works for you.
Then come back and discuss it’s complexity from an educated position. You might also want to read the Microsoft related licenses; just to be sure you can discuss both from equal understanding when you return.
For the sake of argument, have YOU?
If so, do you mind explaining me the exact appliance of the ‘derivative work’ term? It is widely believed that for example dynamic linking implies derivative work but more high level wrappers does not? Why? How come that if the license is (in your opinion?) so simple there is so much confusion around it?
Do you always assume lack of knowledge on the other part if you disagree with one’s point of view?
My point of view is that using GPL for my own software would not be a wise decision because I need to understand the rules behind the license. If GPL is only about giving away freedom to the users why aren’t there simple rules for that? Why bother with all the legal language that only lawyers can understand?
Again, if GPL is so simple in your opinion, why Slashdot is so full of IANAL regarding the GPL? Do you expect developers to be law literate?
Butting in here … ‘derivative work’ is the term used in copyright law itself.
http://en.wikipedia.org/wiki/Derivative_work
So this may (or may not) help answer your question:
http://en.wikipedia.org/wiki/Derivative_work#When_does_derivative-w…
My take: “do your own work”. If you use someone else’s work … get their permission.
In a software authorship sense, a “derivative work” is one that contains a copy of someone else’s original work. In a software sense, statically linking to a library actually includes a copy of the library in the new work, does it not? So to get permission to do that the original library would have to be licensed LGPL (as most open-source libraries are, including Qt4.5 now), or the derivative work would itself have to be GPL.
Caveat: IANAL.
Edited 2009-03-13 14:16 UTC
As far as I know, you *can’t* statically link an LGPL library without releasing your own software under the same license, you can only do that if you link dynamically. OTOH, in the case of a GPL library, as opposed to LGPL, you can’t link at all unless your software is released as GPL too.
I think the static vs. dynamic is an artificial distinction and that no library should actually be released as LGPL: either select GPL, that forces everyone to adopt your license or release it under a BSD/MIT license that gives developers the freedom to link however they prefer and later release using their favorite license.
Are you kidding me ?
LGPL is really very useful.
For example glibc, do you think Oracle would have ported their database-system to Linux if glibc was GPL ?
Actually I think a lot of developers that create libraries actually might relicense there library as LGPL, if the difference is properly explained to them.
Static linking and dynamic linking are quite different. With the former, you actually include a copy of the linked library inside your own work. This unquestionably makes static linking fall well within the definition of “derived work” as it is used within copyright law.
Dynamic linking is more vague. Altohough your calling program doesn’t physically include within itself the functions that are encoded within the linked library, nevertheless your program does include that functionality. That is the tricky bit.
I cannot say for certain (IANAL), but I think there is a possibility that the GPL/LGPL situation is “one level more permissive” than what you imagine. I think it is fine for closed source programs to run on a system that has a GPL OS … and that that is, will always be, and always was the intention of the GPL. A closed source program running under a GPL OS can dynamically link to GPL libraries without violating the GPL license.
The closed source program may not INCLUDE any GPL libraries, however. That amounts to re-distributing a derived work of GPL code. The GPL says that in order to do that the source code must be made available.
This problem is, AFAIK, the entire reason for the LGPL. In many cases, staic linking of a library avoids some problems that dynamic linking can create. In order to allow static linking of a library, a specific exception for doing just that was added to the GPL to create a new, related, slightly more permissive license called the LGPL.
So, AFAIK, I think the situation is as follows: a closed-source program may dynamically link to un-modified GPL code, and it may in addition statically or dynamically link to un-modified LGPL libraries, without violating the GPL/LGPL license conditions.
PS- Obligatory supporting link here:
http://answers.google.com/answers/threadview/id/439136.html
Eban Moglen is a (highly qualified) lawyer, whereas Richard Stallman is not.
Nevertheless, there is unquestionably some considerable uncertainty over this topic.
Edited 2009-03-15 23:58 UTC
I assume lack of knowledge when the majority of one’s comment is
“Oh sure! So GPL is so complicated that even the experts don’t know how to interpret it. Splendid.”
so well presented and deeply thought provoking.
If your a developer, naturally, you are free to use the license that fits your interests or write your own license.
It’s got nothing to do with disagreeing with my personal opinions.. it’s got more to do with the shallow one-liner way in which you provided your unsupported opinion.
But shucks.. you got me.. I’ve not had reason to read the GPL word for word. As an end user, the permissive EULA is more applicable and yes, that one I have read and understood word for word. I’ll post it at the end for you.
Now, since you are so knowledgeable, is it more complicated than equivalent licenses? We’re talking licenses so that would be a balanced comparison. Do you really want to compare it too Microsoft’s licenses?
— Mandriva EULA —-
ftp://ftp-linux.cc.gatech.edu/pub/mandrake/official/current/i586/L…
Introduction
The operating system and the different components available in the Mandriva Linux distribution
shall be called the “Software Products” hereafter. The Software Products include, but are not
restricted to, the set of programs, methods, rules and documentation related to the operating
system and the different components of the Mandriva Linux distribution.
1. License Agreement
Please read carefully this document. This document is a license agreement between you and
Mandriva S.A. which applies to the Software Products.
By installing, duplicating or using the Software Products in any manner, you explicitly
accept and fully agree to conform to the terms and conditions of this License.
If you disagree with any portion of the License, you are not allowed to install, duplicate or use
the Software Products.
Any attempt to install, duplicate or use the Software Products in a manner which does not comply
with the terms and conditions of this License is void and will terminate your rights under this
License. Upon termination of the License, you must immediately destroy all copies of the
Software Products.
2. Limited Warranty
The Software Products and attached documentation are provided “as is”, with no warranty, to the
extent permitted by law.
Mandriva S.A. will, in no circumstances and to the extent permitted by law, be liable for any
special, incidental, direct or indirect damages whatsoever (including without limitation damages
for loss of business, interruption of business, financial loss, legal fees and penalties resulting
from a court judgement, or any other consequential loss) arising out of the use or inability to
use the Software Products, even if Mandriva S.A. has been advised of the possibility or
occurance of such damages.
LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME COUNTRIES
To the extent permitted by law, Mandriva S.A. or its distributors will, in no circumstances, be
liable for any special, incidental, direct or indirect damages whatsoever (including without
limitation damages for loss of business, interruption of business, financial loss, legal fees
and penalties resulting from a court judgement, or any other consequential loss) arising out
of the possession and use of software components or arising out of downloading software components
from one of Mandriva Linux sites which are prohibited or restricted in some countries by local laws.
This limited liability applies to, but is not restricted to, the strong cryptography components
included in the Software Products.
3. The GPL License and Related Licenses
The Software Products consist of components created by different persons or entities. Most
of these components are governed under the terms and conditions of the GNU General Public
Licence, hereafter called “GPL”, or of similar licenses. Most of these licenses allow you to use,
duplicate, adapt or redistribute the components which they cover. Please read carefully the terms
and conditions of the license agreement for each component before using any component. Any question
on a component license should be addressed to the component author and not to Mandriva.
The programs developed by Mandriva S.A. are governed by the GPL License.
Documentation written by Mandriva S.A. is governed by a specific license. Please refer
to the documentation for further details.
4. Intellectual Property Rights
All rights to the components of the Software Products belong to their respective authors and are
protected by intellectual property and copyright laws applicable to software programs.
Mandriva S.A. reserves its rights to modify or adapt the Software Products, as a whole or in
parts, by all means and for all purposes.
“Mandriva”, “Mandriva Linux” and associated logos are trademarks of Mandriva S.A.
5. Governing Laws
If any portion of this agreement is held void, illegal or inapplicable by a court judgement, this
portion is excluded from this contract. You remain bound by the other applicable sections of the
agreement.
The terms and conditions of this License are governed by the Laws of France.
All disputes on the terms of this license will preferably be settled out of court. As a last
resort, the dispute will be referred to the appropriate Courts of Law of Paris – France.
For any question on this document, please contact Mandriva S.A.
Warning: Free Software may not necessarily be patent free, and some Free
Software included may be covered by patents in your country. For example, the
MP3 decoders included may require a licence for further usage (see
http://www.mp3licensing.com for more details). If you are unsure if a patent
may be applicable to you, check your local laws.
So, what, $250000 will pay for one lunch at McDonalds for 95000 MS employees?? Big whoop, yeah that was worth suing over. Enjoy your fries (BTW, the Quarter Pounder is also a rip off these days.) 😛
Am I right that they demand payment for a workaround that allows compatibility between their modern products and old ones?
Can a bugfix be patented in the US?
The odd thing about this is that the higher capacity flash memory cards are formatted as NTFS, so devices such as a GPS will go there eventually most likely. Who holds the patents on NTFS and who will cry foul? Will we see something arise about HPFS again?
When these devices get to the point where FAT will no longer serve, what then?
Or any other freely available format that does not do journalling.. well, unless the hardware write limit improves to the point where it’s no longer a real issue as is with platter drives. Then journalled filesystems are all free game; ext3, riser, zfs…
According to this http://en.wikipedia.org/wiki/NTFS NTFS also has to be licensed from MS, and according to this http://en.wikipedia.org/wiki/High_Performance_File_System MS also owns the rights to hpfs.
exFAT
http://en.wikipedia.org/wiki/ExFAT
or they can use something else along with an Installable File System driver if it needs to be mounted in Windows.
I’m not sure what is at issue here – who cares if licensing FAT violates the GPL?
Could someone point me to a link why this is being discussed on Slashdot and here?
Oh, maybe the holders of the copyrights on the vfat filesystem in Linux? Or maybe TomTom, which would *automatically* lose its right to use the Linux kernel in any way shape or form as soon as they signed the patent license agreement? Or maybe their employees? Or maybe their customers? Or maybe Microsoft?
Okay.
But I’m still unclear what is going on. So TomTom uses FAT for their GPS systems, but they also use a Linux kernel in some of them. So, they didn’t license FAT, and they are now in trouble? Or using FAT with the Linux kernel means open source folks are upset? I’m not sure what is at stake here.
What if they license FAT and then go ahead and use the Linux kernel? Will they get sued, and by who? Is Microsoft the bad guy? Is the GPL the bad guy? Or TomTom?
Edit: Wait a minute. I read the article lead in, but the comments and Slashdot comments seemed to make it all about a FAT versus GPL thing. It really is just a Microsoft suing TomTom thing, right?
Edited 2009-03-13 22:39 UTC
The FAT support is part of the Linux kernel. TomTom needs to use that support, so they can’t remove it from the kernel. MS has managed to secure a patent upon the ability to use file names longer than 8 characters, a dot, and a 3 character extension in a FAT file system. (People, these days, are apparently used to naming their files “Ode to a Small Lump of Green Putty I Found in My Armpit One Midsummer Morning.doc”)
If they don’t license the patent, MS will sue the hell out of them. If they do license the patent… they will be violating the GPL, which is the only legal right they have to use Linux in the first place, and technically, automatically lose their rights to do even so much as run Linux on one of their office PCs. The copyright holders for the vfat file system in the Linux kernel could sue them. But they probably wouldn’t. Then again, with so much money riding on all this… they actually could. Most of us kind of figure that they are above that sort of thing. But if they don’t sue… well, Bruce Perens is waving around the Doctrine of Laches as if that could help TomTom win a patent suit. But it could equally well apply to FOSS authors failing to defend their copyright rights.
What’s likely to happen is that TomTom will license Microsoft’s patent, the FOSS community will wring it’s hands, and Microsoft will have scored a minor victory. Possibly one of many.
Edited 2009-03-13 23:02 UTC
Well, why would anyone voluntarily go back to 8.3 filenames? It was idiotic in the first place especially considering that various UNIX systems had allowed longer filenames before FAT came on the scene. Typical Microsoft.
It’s interesting that this could be the first time Microsoft sues anyone for patent infringment… something they didn’t do and, as far as I know, they didn’t like to do.
Yeah. I wonder where are all the people who swore up and down that Microsoft would never dare do it because it would unleash a patent armageddon and the whole of IT would go into meltdown?
Sign of the times. I don’t believe that would have happened if Bill Gates was still chairman.
However, MS didn’t sue for money for sure. The original FAT license claims it’s 0.25$ per device AND up to 250,000$ per licensee. Those are nuts for Tom Tom. Even when you want to claim damages, how much can you ask? 1 million? 5 millions? Still nuts for Tom Tom.
I’d rather think MS sued to prove all that things changed and they, if needed, will play the “patents game”.
“We stand ready to leverage our IP portfolio to maintain the open patent environment OIN has helped create,”
That’s what Open Invention Network CEO Jerry Rosenthal said in a statement released May of 2007.
http://blog.wired.com/monkeybites/2007/05/opensource_pate.html
And yet Tom Tom seems SOL. None of the sabre rattling on our side seems to have been worth a fart.
It’s not. They’ve previously sued Belkin and others for distributing U2 devices without licensing the technology.
http://www.informationweek.com/news/windows/microsoft_news/showArti…
As this is simply an abuse of the patent system by a monoply it looks like a good reason to have an open standard file system for removable media.
Maybe then the EU could then sue MS to force them to use it. Probably more worthwhile than chasing MS up and down over IE.
It’s stupid to use an old filesystem like FAT when there are many other free filesystems more adapted to flash memories like
http://en.wikipedia.org/wiki/JFFS2
http://en.wikipedia.org/wiki/YAFFS
The world has to pay licenses to use FAT only because windows users cannot be obliged to install an IFS (Installable File System for Windows) like this
http://www.fs-driver.org/
The hardware makers can simply write an IFS to another free and common filesystem for memories and provide a driver in CD or website to the windows user install before red/write the memory.
If windows users have to install drivers to use some hardwares, why not to read/write flash memories ?
Because the IFS APIs are very flaky at best without paying Microsoft for the official documentation. I’ve tried using the EXT2/3 drivers under Windows and they don’t have “all the features” needed to be proper players, file locking is all messed up, so you can’t do things like run .exe files from an ext2 formated disk easily, therefore you can’t “install” windows to the disk or many programs that are tied too tightly. The IFS ends up being a glorified FTP file system.
i don’t get how this in the slightest way has something todo with the gpl
when you follow the link in the article to the license-terms for fat you can read
nowhere does it say what implementation you must use, just that you have to guarantee compatiblity with the specification
tomtom could just license it, run the necessary tests, and be done with it
if the vfat implementation of linux is as good as is should be they won’t even have to edit a single line of code
And they would get around the GPL’s requirements WRT patent encumberment… how? MS has seen how to put TomTom, and anyone else who uses GPL’d vfat code between a rock and a hard place. They could sue the 4 authors of the vfat code in the Linux kernel:
Werner Almesberger
Gordon Chaffee
Wolfram Pienkoss
OGAWA Hirofumi
but they have chosen another strategy.
Edited 2009-03-13 23:52 UTC