Filesystem in Userspace (FUSE) is an operating system mechanism for Unix-like computer operating systems that lets non-privileged users create their own file systems without editing kernel code. This is achieved by running file system code in user space while the FUSE module provides only a "bridge" to the actual kernel interfaces.
The idea of a filesystem driver living in userspace was originally developed in 1995 with the translator concept of the GNU Hurd operating system. It gained vast public audience with the first official release of Debian GNU/Hurd in May 2003. The FUSE project was started in October 2004 as a fork of A Virtual Filesystem (AVFS), which was first released in 1998.
It was officially merged into the mainstream Linux kernel tree in kernel version 2.6.14.
An ISC-licensed re-implementation by Sylvestre Gallon was released in March 2013 and incorporated into OpenBSD in June 2013.
Virtual file system
FUSE is particularly useful for writing virtual file systems. Unlike traditional file systems that essentially save data to and retrieve data from disk, virtual filesystems do not actually store data themselves. They act as a view or translation of an existing file system or storage device.
In principle, any resource available to a FUSE implementation can be exported as a file system.
copy-fuse: A Python FUSE layer for accessing files stored on Copy.com.
Wuala: A multi-platform, Java-based fully OS integrated distributed file system. Using FUSE, MacFUSE and Callback File System respectively for file system integration, in addition to a Java-based app accessible from any Java-enabled web browser.
WikipediaFS: View and edit Wikipedia articles as if they were real files
Sun Microsystems's Lustre cluster filesystem will use FUSE to allow it to run in userspace, so that a FreeBSD port is possible. However, the ZFS-Linux port of Lustre will be running ZFS's DMU (Data Management Unit) in userspace.