Macintosh developers gained a new Mac OS X software programming tool with the release of MacFUSE, an open-source Mac version of the FUSE file system module for Linux.
Amit Singh, engineering manager of the Macintosh Group at Google and author of “Mac OS X Internals: A Systems Approach,” developed MacFUSE and released it at the recent Macworld Expo in San Francisco early in January 2007.
MacFUSE, Singh said, makes it easy for even casual programmers to write their own file systems, which they can build into Mac OS X user programs. With MacFUSE, users will be able to treat remote computer drives and even Web-based services as mountable drives on a local computer, he said.
FUSE, which stands for “Filesystem in Userspace,” is an open-source software module that operates at the kernel level of Unix-based operating systems. It has also become officially part of Linux.
Click here to read about IBM’s introduction of Lotus Notes for Mac OS X.
The FUSE module allows general users and application developers to create their own file systems without having to work directly with the kernel. FUSE acts as an intermediary, enabling developers to call its programming interfaces, which then communicate with the kernel.
Some examples of applications using virtual file systems through FUSE include GmailFS, which allows users to set up a Gmail account as a local disk, and SSHFS, which allows users to interact with files on a remote computer via SSH (Secure Shell).
Singh said Mac OS X users could also use MacFUSE to mount Windows hard drives.
“The biggest use people are finding is that there’s no NTFS [NT File System] read/write in OS X. But there are NTFS drivers for Linux,” he said. “Using MacFUSE, it’s like using a local disk. If you can [connect via] SSH into that machine, you can make files on that machine look like they’re local and browse them in the Finder. It’s far more seamless than using a remote clientyou just see the files.” Singh pointed out that Mac OS X users could even implement this and access any Windows drives they have created through Mac OS X’s Boot Camp.
Another application of MacFUSE is for use with Web services. “I think this is the biggest potential,” Singh said. “Users have a lot of interaction in the browser, but people are used to the 30-year-old desktop metaphor. MacFUSE lets you unify all the Web services as though they were local files. Instead of dealing within the browser, then downloading to disk, you can just drag and drop in the Finder,” he said.
Click here to read about virtualization software that lets Mac OS X and Windows share a desktop.
Most existing FUSE plug-ins should “just work,” Singh said, though he added that some may require some tweaking in order to move them from Linux to OS X.
“The possibilities are endless,” he said.
Singh said MacFUSE was a “homebrew” project developed in his “20 percent time,” the time set aside for Google engineers in which they can pursue their own projects. Google News, AdSense for Content and other public products grew out of such private projects.
The biggest challenges, Singh said, arose from making sure that MacFUSE was fully compatible with the existing FUSE standard. He pointed out there are 800 file systems for the Linux FUSE implementation. “To comply with FUSE API on Linux was a technical challenge,” he said. “I worked hard just making sure everything worked.”
Singh said this work was only possible with the latest version of Mac OS X. “Only in Tiger [Mac OS X 10.4] did Apple have a stable API for file systems in OS X,” Singh said.
Assuring quality was also a concern for Singh. “You really can’t afford to have bugs in kernel software. That causes crashes,” he said. However, Singh said that didn’t mean there wouldn’t be bugs, “but people will have high expectations.” This, he said, led to the project’s mantra of “release early, release often.”
Overall, Singh said he was pleased with the work. “It’s one of the things I’ve been missing on OS X for a long time,” he said. He added that he’s received good comments on MacFUSE. “Reactions on blogs show me that people are very happy,” he said. “It looks like it’s taking off. We hope Apple takes advantage of it.”
A video demonstration by Singh of MacFUSE’s capabilities is available on Google Video.
Check out eWEEK.com’s for the latest news, reviews and analysis on Apple in the enterprise.