"Linux chief calls for Microsoft-free everything"
Well, he may as well.
Microsoft and TomTom might have settled over patents, but that hasn't stopped one Linux advocate from calling on manufacturers to adopt a "FAT-free diet". Jim Zemlin, Linux Foundation executive director, has said those who implement File Allocation Table should undertake a wholesale review and strip a technology from their …
I agree with this guy. What these device manufacturers need to do is agree on a standard filestystem, bet it existing (ext2) or some new one (ummm, maybe not).
Everytime they sell some of their gear it should come with drivers that install the "OpenFS" if it is not already present.
If enough manufacturers did this then the driver would become so ubiquitous then it would rarely need to be installed by the user.
Microsoft would then be forced to do a DR-DOS and try and stealthily "break" the driver without getting caught. Only they would get caught.
Presumably you're not trying to read them using anything other than the device itself, so why does it need to be readable by anything going?
If it's for loading new files and firmware, none of these things have a drag-and-drop interface AFAIK - you have to use some kind of loader software to get the updated gubbins on there, so I'm sure they should cram some kind of FS driver in there if required.
It's not: "Linux chief calls for Microsoft-free everything"
But it is: "Lets get rid of FAT and forget about Microsoft"
I agree. I would like to see a common flash filesystem that would be able to operate on all OSes and camera devices etc... BUT it should be patent free and preferably an ISO standard
How does one go about making a device usable as a USB Mass Storage device on near-universal levels without using FAT? IIRC, FAT is the only ubiquitous filesystem around--universally supported by Windows, MacOS, and Linux built-in, without the need for external drivers. About the only other filesystem that comes close to being reliably supported by all three (and used when sizes get too big for FAT) is another Microsoft brainchild--NTFS.
About malaria curing Bill and his deeds, opinions varied. When it comes to the inbred and uncouth red faced buffoon currently destroying the huge corporation the wise course of action has to be dump MS as fast as possible. The tantrum and chair throwing imbecile managed to produce MeII because he prefers to shout at people rather than do business. As Public Enemy once said "Motherfuck him and John Wayne too".
Firstly the real problem is software patents - that's the bit that needs fixing. For the most part copyright infringement should be sufficient - most software patents are trivial and essentially produced for protection.
However, on the realism of going FAT free, then he has a hard job (to put it mildly. FAT is the de-facto standard for mobile devices that present as storage to computers. Virtually every camera, every mp3 player, hard disk camcorder, gps, mobile phone that presents as a storage device uses FAT. Then there's also all those devices, like electronic photo frames, that take various flash card formats. They also only use FAT. Unless we are to throw away all these devices, legacy support for FAT is going to be required on computers for many years to come, and there is no prospect whatsover of an change soon. After all, what manufacturer is going to use an alternative unless there is a virtually universal alternative which is so ubiquitous that it can be expected to be installed on most computers. Yes, you can install new file systems into your PC, but that's a further chore for the consumer, and yet another thing that can go wrong along with something to be supported.
I will confidently forecast that FAT will be with us for a very long time and that legacy support (at the very least) is going to continue to be required.
is how do "we" actually make an EXT3(is 4 there yet?) driver for windows?
i know nothing about how windows works at that level. I have some basic understanding of how linux/unix recognises and manages a variety of file systems of various types.
If we can make an ext3 driver for windows, and ship it out so that it can be installed by the average muppet (fozzy if you're not sure) then we can get rid of the need for fat. I'm assuming OSX (and other unix alikes) will have no problem with an ext3 driver...
We can get rid of FAT, but only by creating and publishing an ubiqitous replacement.
I'm happy if its not ext3 but some other usable-on-any-os-distro file system... Pick one. get drivers into windows. Maybe persuade microsoft to include them as part of the OS install disk - i'm sure there's an excuse somewhere.
I'm not asking for windows to install on ext3, just to read and write it properly through the os.
nob.
Which appears to be the problem.
Making your gizmo look like a disk drive to Windows is the simple approach to UI problems. Camera, MP3 players, etc.
The high level design question is "How good an illusion (of being a disk) do you want to create?"
Good enough that people can use Explorer to find stuff or good enough that GRC SpinRite thinks it really is a Windows hard drive with the correct sector formats to support LFN?
At the core its a question of mapping Windows idea of what platter/ring/sector it puts out to get data to wherever the real data is. The fact your PC thinks its talking to a dumb hard drive, but is actually talking to a processor simulating one is irrelevant. One you break that link how you *really* store the data on your device is none of Microsoft's business. As others have commented there are multiple other (non patented) ways to do this. You don't have to invent a format of your own. Proven formats with most (if not all) the bugs wrung out.
Thinking about questions like this (and how they can bite you in the ass) before you start distinguish architects and developers from coders. Feeding a hungry troll is never a good idea.
reform??!?!?
The American patent system need beating to the ground, repeated kicking, shooting through the skull, setting fir to, putting through a meat grinder, feeding to the pigs, then the following excrement placing in biohazard bags and blasting into space.
The same applies to the relevant IP lawyers.
It is so corrupt, it has become toxicity incarnate for both business and society.
A lot of this stuff is used with Microsoft products. Manufacturers and customers can be sure that FAT will work. I can take the memory card out of my camera (very non-standard USB connector on the camera) and be sure I can read it.
Well, it's just a case of adding another driver to Windows. Easy if you only ever use your own machine, not so easy otherwise.
But these FAT-based file systems are terribly limited. I just don't see MS backing anything they don't get paid for, and that will be the barrier for any replacement.
Before this can work, we need all Windows machines to come with support for some other filesystem, to retain that "out of the box" experience of *not* having to install a filesystem driver before you plug your new toy into the USB socket. The software is easy. The problem is how to deploy it. Any scheme that requires end-user consent will fail because most end-users don't care.
What we need is a vendor who already has one or two products on most machines and who is sufficiently unscrupulous to use "auto-updates" to add additional applications unsolicited. Oh, and if they don't like Microsoft much, that would be a big help, too.
The first time I was forced to deal with FAT was in the 90s.
Even then it stank compared to other systems.
I've not had to deal with it for over a decade and I truly believed it would have died by now.
It's like the bad guy in horror films, it doesn't truly die, it just ends up buried in a rockfall, ready for the sequel. On which note, FAT-64 anyone?
Well I assume there's an EXT2 free installable somewhere that allows Windows to read EXT2 filesystems so manufacturers could bundle it as a driver with their gear. OK so you can't plug your widget into windows and use it immediately but you could after 30secs installing it from a CD.
In fact a standardiesed method of accessing an FS driver from a memory device would be the way to do it.
Alternately sue M$ for leveraging a monopoly position via FAT and have them forced to provide it for free or implement a standards-compliant EXT2... ?
"What manufacturer will put an FS on his product that windows can't read or write?"
One who distributes a Windows driver for his FS along with his product?
TomTom and friends implementing anything on non-MS OS probably wish they had got around to that already. Using FAT *was* as sensible, pragmatic solution. Now it is not - thanks to the baldest twat in the world (nice post, Sean) so an alternative must now be found. Guess I just paraphrased the man's point, so sorry for wasting your time if you got this far.
We need a Ballmer icon - one will do - don't need an angel one
Perhaps it's time for "Devices-that-contain-a file-system" manufacturers to look at defining a common file system interface, much like scsi devices are used in the Linux world. Drive controllers are ubiquitous, and a bit of extra logic to provide a standard protocol handled within a device, rather than a nasty low level interface to the controller which exposes the strangenesses of the physical arrangement of bits and bytes on the medium is arguably long overdue.
Obviously this wouldn't be a lot of use on specialist, high performance, devices, but for stuff that fits in your pocket it should be fine. If a manufacturer has made a FAT payment to M$ then they presumably want to continue with that system. If they haven't then, as the article points out, there are plenty of suitable and patent-unencumbered alternatives.
If nothing else, it should make high performance memory sticks/cards/dongles etc. a more realistic proposition than just throwing the fastest (and most expensive) chips at the problem.
There is already an Ext2/3 driver for windows. Ext4 isn't seeing deployment yet (partly due to squeamishness over the way it writes, ie. rarely), but in my understanding existing drivers for Windows would be able to support the subset of 4s features that match Ext3 (Ext has legacy support).
The real question is why are Microsoft getting away with the blatantly anticompetitive practice of stifling choice in the file system market? It would be almost trivial for Redmond to port a range of drivers to Windows which would improve network integration with UNIX systems... but then that's just the point isn't it?
'Cos it's simple, easy and everything supports it. ext* is a "real" filesystem with significant complexities and not a quick 'n dirty, which is what the commodity goods makers need. There's nothing else out there in use these days that beats FATs cluster/chain/ table approach for simplicity.
Also remember here, FAT's free. It's the LFN extensions, which are proprietary to MS, that tripped tomtom up.
This is just another evangelist on the hair-splitting semantics of "freeness" using a high-profile incident to support his point of view. Even though it doesn't. At all.
Zemlin: "Microsoft does not appear to be a leopard capable of changing its spots."
More of the usual bollocks from the Linux community....yawn.
Whilst the patent system remains in its current form, there will be patent spats just about every day of the week, and not just instigated by Microsoft. As usual Linux community are just too lazy or bigotted to openly challenge anyone not Microsoft. Why isn't there a great outcry about the patents that TomTom hold on sat nav technology?
Sorry guys, but your bozo bits have been flipped to 1.
<3
FAT is popular because Microsoft support it and linux has to because it's microsoft's bitch. Microsoft could release a steaming pile of horse shit and manufacturers would be forced to use it and Linux would have to lap it up like a dirty ho or face being left out in the cold.
While it's nice that open source and linux people air their opinions every now and again it's kinda like you having an opinion on the X Factor, rightly or wrongly people will still ignore you and listen to Simon Cowell.
A good case in point is 'web standards'. Web standards are whatever the dominant browser supports rather than whatever is written in some book, you can be as standards compliant as you like but if it looks rubbish on IE then the general public will think your site is shite. Microsoft could make the <html> tag obsolete tomorrow if they felt like it and there is nothing you could do about it so get over yourselves and just do as Microsoft tells you.
Hooray for the friday flame war!
It was obvious from the moment MS patented aspects of FAT with vague promises not to sue anyone who used it, that the bloated behemoth was punting porkies. Its lawsuit against the relatively tiny Tom-Tom is the proof of the podgy pudding.
Seems like no target is too small when it comes to protecting MS's copious quantities of blubberware. Probably explains why in 30 years their record on file system interoperability has been skinny to say the least: by default you can't even plug an ext3 or OS X disk into a MS OS-ridden computer without it choking on the wholesomeness within.
What FAT has got going for it is its scalability - any sort of titchy embedded computer can pile on FAT with minimal effort, a mere few Kbytes of a driver; almost no RAM and it can instantly develop an insatiable appetite for files. Whatever we replace FAT with has to be that versatile.
Anyway, first thing is, we need a name, so how about FitFS? The great thing about FitFS is that it's simple, Flash Friendly and has a positive, recursive Acronym: FitFS Is The File System!
And most importantly, FitFS isn't FatFS! All we need is a spec now, a slim one - after all, we should start how we mean to continue!
-cheers from Julz @P
[Paris, for a FAT-free future ]
Just use a web interface (and mini web-server) instead, use an ethernet port or make the USB look like a network interface or modem or use Bluetooth.
The browser interface would allow you to upload and download files (with just about any filename you like).
It could even have FTP to use in explorer.
Wasn't the problem with long filenames? Could you use a CD like filesystem?
I agree getting users to find and install a file-system driver is a non-starter, but if they are installing an application from a CD/download then the driver could come with it.
"Well I assume there's an EXT2 free installable somewhere that allows Windows to read EXT2 filesystems so manufacturers could bundle it as a driver with their gear. OK so you can't plug your widget into windows and use it immediately but you could after 30secs installing it from a CD."
Great, so I take my laptop, without a CD-ROM Drive. and wait. Oh no. I now can't use my mass storage device readily because I don't have the drivers. I can't put the mass storage in to install them because it has no working drivers, and I have no CD Rom to put the drivers on which is precisely WHY I want to use my mass storage device to start with.
I think you're totally missing that the only reason FAT is used because it just works. On everything. It *is* the universal standard. I couldn't give a stuff WHO created it, who owns it. Everyone uses it, everything supports it, so I spend zero time "getting it supported" and all my time doing what I ultimately wanted to do, e.g. take my photos and put them on PC, print them on my printer, add them to my MP3 player etc, because every device i put the FAT formatted memory storage into understands it, can read it and works.
Go on, format your SD Cards etc in some other format, and then live with it and find out just how annoying it is to have to fart about every sodding time you want to use it in a new machine.
As usual the "open source" movement totally ignores that a good part of MS' success, and the success of things like USB Keys etc has sod all to do with MS, and everything to do with just how easy it becomes for joe-soap. *YOU* may find it simple, easy and fine to install your "other file system" driver, but the masses don't know what the hel it is, let alone feel comfortable messing around. Precisely because you don't have to do a sodding thing today is why there is mass adoption of them.
What if Dell, HP, Acer, IBM,... all installed the driver for a new open standard file system on new systems then over time it would just be there.
Also, isn't there something in USB that when a new device is recognised will allow it to go out onto the internet to find a suitable driver. This should work for USB devices with flash built in but probably not for card readers, unless the card reader on being plugged in the first time requests to install a driver so that in the future it has an open file system driver.
Playing devil's advocate, what if you crafted your USB interface as a Composite Device instead with two partitions, one the storage device (that happens to use a different filesystem), and the other a virtual CD-ROM (using the ISO9960 filesystem--Microsoft has no dibs on it) containing any necessary drivers for it. That solves the chicken-and-egg problem. U3 (a standard for USB smart drives) actually employs this system--the virtual (rewritable) CD-ROM hosts the U3 frontend and application menu while the other is the plain-vanilla USB Mass Storage device.
Good luck in convincing *every* OEM on the planet to ship your driver. And your other idea of going onto the internet to find a suitable driver only works if you are on the internet.
To re-iterate the point that all the fanboys seem to be missing here: as far as your average user is concerned "trivial" is infinitely harder than "done".
It's a shame you don't realise that Microsoft's position is hurting _you_ and not just us Lunixers -- every single device you buy which works with FAT could well end up costing you more, and every closed standard that MS introduces makes every purchase you make on the internet cost more. This is your money -- it's not called the "Microsoft Tax" by the free software advocates because that sounds funny -- it's called that because virtually every time you buy anything to do with computers you are paying Microsoft something for a patent.
That aside -- why on earth does anyone defend Microsoft? They won't thank you for it, and their lawyers are paid much more than a lot of you.
Are you mad! Just because something already 'just 'works' doesn't mean it should be adopted. If we took that attitude we would never progress with anything. Just look at the state of play with the OS market, most Joes buy M$ because it 'just works' for them, but look how far we have been kept back technologically as a result. Not only has the lack of competition stifled the advancement of OSs but it has locked the processor market into using a poor architecture too - just to preserve backwards compatibility, we could have made many inroads with a solid RISC architecture had healthy competition been around. How many other places must we be held back before we dump this junk?
Yes there are ext2/3 drivers for windows, but what about UDF? Yes, the ISO9660 replacement for DVDs. If you look carefully, you'll see that it's not _only_ for read-only media, but can be used on hard drives and USB sticks too. And it comes as standard in all the major OS's. The only problem is that full support for all it's features is still lagging in some OSs like Windows XP.
More info on wikipedia: http://en.wikipedia.org/wiki/Universal_Disk_Format
g e wrote "Well I assume there's an EXT2 free installable somewhere that allows Windows to read EXT2 filesystems so manufacturers could bundle it as a driver with their gear."
Yes, see http://www.fs-driver.org/, and I quote:
" It provides Windows NT4.0/2000/XP/2003/Vista/2008 with full access to Linux Ext2 volumes (read access and write access). This may be useful if you have installed both Windows and Linux as a dual boot environment on your computer. The "Ext2 Installable File System for Windows" software is freeware. "
Failing that there's http://sourceforge.net/projects/ext2fsd.
So I'm sure it's not beyond the FAT-using community to bung these folks some development cash and shift to ext2/3. If a standard driver is possible then you only need to install it once to gain access to all these devices - doesn't sound difficult to me - heck, old Windows98 needed drivers to support some USB disk devices.
Sorry if I sound like a 'freetard', but if extX replaces FAT as the standard for cameras etc, then you can bet your last dollar that Windows 7 SP 1/2/... will introduce native support for that filesystem. Well it's either that or MS would have to admit that their OS doesn't support camera's etc as well as MacOS or Linux, or do a sudden volte-face and freeware FAT - not likely imho.
Maybe someone in Novell could point out the abundant advantages to Windows 7 being interconnectable with SLES/SLED? Use that 'special relationship'
It is Microsoft that try not to support any filesystem other than their own... They supported ISO9660 (used on CDs) late because they had no choice, same for UDF...
HFS, HFS+ and UFS are all supported out of the box by OSX and Linux, tho Apple could be a bit more proactive in supporting other file systems...
BSD and Solaris also support UFS natively, not sure about HFS/HFS+...
Linux will support most filesystems, either in the default kernel or shipped by default with major distributions.
FAT may be supported everywhere, but it's one of the crappiest filesystems out there and it's patented which causes problems in some countries... There are plenty of other filesystems for which drivers exist under easily reusable terms (eg BSD licensed code) that could be incorporated into virtually anything.
"Joe Sixpack is too dumb to use a driver CD. They want stuff that you can plug in and it *just works*."
So Joe does not own printer nor a scanner, I suppose. I mean, my Canon scanner won't work on Windows unless I stick the CD in and install a bunch of stuff -- I've tried when using a friend's computer. Windows keeps popping up that stupid dialog when the computer restarts (and I couldn't find a way for it to "ignore" the scanner from then on). When I plug the scanner (or the HP printer, for that matter) into my Ubuntu computer, it just works, without need for any CD or download or whatever driver. I'm sure you would never be saying that Joe Sixpack should be using Linux, but that's the logical consequence of your elitist statement.
Re: Ext2/3 on Windows
I haven't tried that in a long while, but some 8 or 9 years ago I was able to install a program (ext2fs if memory serves) in Windows 98 that was able to see my Linux partitions and read from them -- I wasn't stupid enough to try writing to them; I don't even remember if that was possible to begin with. So I guess things must have improved a lot since them, although I don't need that capability anymore. Thanks for the links though.
A predecessor to Linux's ext2, is MINIX. Now available on a BSD variant licence, and has been available in the Linux kernel since it first existed. On my running system (2.6.22.14), ext3 uses 125641 bytes (and requires jbd, another 59881 and mbcache for 12485). ext2 requires 66505 (and also needs mbcache). minix doesn't seem to need any other module and weighs in at just 33733 bytes.
I recently did some experiments backing up seriously large files to a 16GB thumb drive. Filesize was 10 Gig so FAT32 was right out (4GiB max filesize). I tried with NTFS and UDF.
NTFS:
real 165m59.343s
user 0m2.306s
sys 1m32.856s
UDF:
real 50m26.404s
user 0m1.715s
sys 1m43.469s
So in my test it took more than three times as long to write to an NTFS partition. Maybe this could be used as a selling point for another filesystem?
Caveats:
Experiments done using ntfs-3g on linux - not native windows
I decided even UDF on a thumbdrive was too slow for the application I had in mind so did not repeat the experiment (finally used a USB hard disk with NTFS which was fast enough at 18 minutes)
@Mark Quinsey
"why are Microsoft getting away with the blatantly anticompetitive practice"
"Cuz I can," to quote PInk.
@Hugh_Pym
" file system that appears to the OS as FAT but in fact isn't"
My point exactly
@Albert,
"If the OEMs install the driver - it will just be there"
But whose?
"something in USB that when a new device is recognised will allow it to go out onto the internet to find a suitable driver."
You might like to look up Universal Plug & Play, along with some of its security issues.
@Cameron Colley
FAT/LFN is part of the MS tax regime.
In Mexico the paying of bribes is known as "Mordida." This roughly translates as "The little bite."
HW mfgs will continue to pay Microsoft tax unless someone can work out a way to serve files to a FAT/LFN reading OS without *storing* it in that format and without needing to get the user to load a driver.
I note 2 things. 1) Given modern integration levels *anything* which can do storage can do a file system emulation. The ARM was implemented in <25k gates. 2) *none* of these cards/sticks/keys/rubber sausage(its the format of the future) has a real IDE/ATA/SATA connector hanging off it. All interfaces which the PC talks to them through are emulations of the original HDD interface anyway. Inside the mfg's box the only true way to know how data is laid down is to strip the shell and probe with an electron microscope.
It's interesting reading the competing threads of people talking past each other. To summarize:
Thread 1: Ease-of-use advocates who assess that users have gotten used to having things "just work" and would not be keen on having to install drivers from CD/Internet to use their mass storage devices.
Thread 2: Linux users who assert that there are many technical solutions superior to FAT which are not very hard to implement.
Basically, as usual, the Linux advocates fail to understand that their solutions make things harder for the end user than the current solution . . . which reflects why Linux still languishes on the desktop.
I work in support for a company that produces several different single-purpose embedded systems, and all U3 USB sticks simply don't work 'out of the box' because they don't appear like standard USB sticks. We've had to issue a set of instructions for removing U3 due to the number of support calls asking why U3 doesn't work.
In an embedded environment, we don't have the option of 'just install some drivers' - it's got a small subset of drivers we chose and tested, and the end user doesn't get to expand that set as we have no idea how these extra drivers would affect the existing system.
We simply support FAT12 (no-OS systems), plus FAT16 and FAT32 in the Linux systems.
The WinXP Embedded-based systems obvious do support NTFS, as that comes 'free' with the licence.
We don't support long filenames except on the systems based on Windows XP Embedded, entirely because of this kind of patent silliness.
On the other hand, if Ext2/3 became popular, we'd probably add that to the larger systems in a firmware update.