Amit Singh over at Google has ported FUSE to the Mac. Good Work!
FUSE is popular user space framework for Linux, and now the Mac. What this means is that it is much easier for filesystem developers to create and test new filesystem implementations. Filesystems run, usually, as extensions to the kernel of the OS - like a device driver. When code runs in the kernel, it is much more difficult to develop and debug. When code crashes in the kernel, your machine crashes. It’s hard.
FUSE tries to abstract away some of that pain for developers, by providing a “general” filesystem driver that communicates with a service in user space. Then you can write an extension to the FUSE user space service, much like normal application development, and have it extend the power of the general purpose filesystem driver. This is a real boon for programmers.
Also cool — Google has a patch for SSHFS, a fuse module, so that you can mount an SSH/SFTP server using MacFUSE.
It’s no secret that we’re working on SftpDrive for OS X, it’s nice to see other people out there are trying to get some innovative work done on OS X network filesystems. SftpDrive:Mac is our number one dev priority, and along with that iMac, we’ve got a half dozen other Macs that we’re using for development and testing. I’ve gotten quite a few emails and IMs today about MacFUSE. We’re excited that it is being done. SftpDrive for the Mac will be released as a very polished product with robust reconnect support, a simple user interface, and the a great overall experience - just like our windows client. Having SSHFS is great, but beachballing finder when your wifi connection drops or you hop to a new AP isn’t very fun.
We’re not bashing FUSE by any means - but this example illustrates certain virtues of commercial software, developed by people that really care about what they are doing. Software where developers spend an inordinate amount of time solving edge cases, so that the experience doesn’t have gaps. When you plunk down $39 for SftpDrive, you get software that effortlessly hops between wireless access points and has intelligent caching to provide a good experience while using poorly behaving applications. And just like free software, you get developers who really cared about what they are doing.
That last 20% of functionality really does take 80% of the effort.