Since I wanted to use write-support for Windows NTFS drives on Apple Mac OS X, I was researching on alternatives and possibilities. I knew about the macfuse FUSE Project (File System in Userspace), but since it was not maintained anymore – what would one do?
Meet FUSEOSX (FUSE for OS X), the successor to MacFuse.
FUSE for OS X allows you to extend OS X’s native file handling capabilities via third-party file systems. OSXFUSE is a successor to MacFUSE, which has been used as a software building block by dozens of products, but is no longer being maintained.
As a user, installing the “FUSE for OS X” software package will let you use any third-party file system written atop “FUSE for OS X” or MacFUSE, if you choose to install the MacFUSE compatibility layer. As a developer, you can use the OSXFUSE SDK to write numerous types of new file systems as regular user space programs.
As a user, installing the OSXFUSE software package will let you use any third-party file system written atop OSXFUSE or MacFUSE, if you choose to install the MacFUSE compatibility layer.
As a developer, you can use the OSXFUSE SDK to write numerous types of new file systems as regular user space programs. The content of these file systems can come from anywhere: from the local disk, from across the network, from memory, or any other combination of sources. Writing a file system using OSXFUSE is orders of magnitude easier and quicker than the traditional approach of writing in-kernel file systems. Since OSXFUSE file systems are regular applications (as opposed to kernel extensions), you have just as much flexibility and choice in programming tools, debuggers, and libraries as you have if you were developing standard OS X applications.
How It Works
In more technical terms, OSXFUSE implements a mechanism that makes it possible to implement a fully functional file system in a user-space program on OS X. It provides multiple APIs, one of which is a superset of the FUSE API (file system in user space) that originated on Linux. Therefore, many existing FUSE file systems become readily usable on OS X.
The OSXFUSE software consists of a kernel extension and various user space libraries and tools. It comes with C-based and Objective-C-based SDKs. If you prefer another language (say, Python or Java), you should be able to create file systems in those languages after you install the relevant language bindings yourself.
The repository filesystems contains source code for several exciting and useful file systems for you to browse, compile, and build upon, such as sshfs, procfs, AccessibilityFS, GrabFS, LoopbackFS, SpotlightFS, and YouTubeFS.
Why choose OSXFUSE?
OSXFUSE is a successor to MacFUSE, which has been unmaintained since 2009. It shares most of its source code with MacFUSE.
OSXFUSE features a compatibility mode for file systems that have been built for MacFUSE. It can be a drop-in replacement for MacFUSE.
OSXFUSE supports Mac OS X 10.5 and later (Intel and PowerPC architecture). It is fully compatible with 64 bit kernels and OS X 10.7.
OSXFUSE is open source and under active development.