Name: OW

Author: Paul H. Alfille / palfille at partners org

Homepage: http://owfs.sourceforge.net

Description:

  OWFS is a method under linux to allow 1-wire devices to appear like
  files in a directory. 

==============================================================================
Name: FunFS (status: alpha)

Author: Michael Grigoriev (Net Integration Technologies) / mag at luminal org

Homepage: http://www.luminal.org/wiki/index.php/FunFS/FunFS

Description:

  FunFS is an advanced network file system with a simple goal: to be
  better than NFS.

==============================================================================
Name: EncFS

Author:  Valient Gough / vgough at pobox com

Homepage: http://pobox.com/~vgough/encfs.html

Description:

  EncFS provides an encrypted filesystem in user-space. The EncFS
  module itself runs without any special permissions and uses the FUSE
  library and Linux kernel module to provide the filesystem interface.

==============================================================================
Name: FUSE-J

Author: Peter Levart / peter.levart at select-tech si

Download: http://www.select-tech.si/fuse/

Alternate download: http://www.cl.cam.ac.uk/~tdm25/fuse-j/

Description: 

  FUSE-J provides Java binding for FUSE.  It comes with the
  "proof-of-concept" ZIP filesystem which seems to be pretty stable.

==============================================================================
Name: SMB for FUSE

Author: Vincent Wagelaar / vincent at ricardis tudelft nl

Homepage: http://hannibal.lr-s.tudelft.nl/~vincent/fusesmb/

Description:

  With SMB for Fuse you can seamlessly browse your network
  neighbourhood as were it on your own filesystem.

==============================================================================
Name: Run-Time-Access

Author: Bob Smith / bsmith at linuxtoys org

Homepage: http://www.runtimeaccess.com

Description:

  RTA is a specialized memory resident interface to the internal data
  of your application. It is not a stand-alone server but a library
  which attaches to your program and offers up your program's internal
  structures and arrays as tables in a database and as files in a
  virtual file system.

==============================================================================
Name: PhoneBook

Author: David McNab / david at rebirthing co nz

Homepage: http://www.freenet.org.nz/phonebook

Description:

  PhoneBook is expressly designed for use in situations where someone can 
  be under pressure (legal, military and/or criminal) to disclose 
  decryption keys, and has a 'chaffing' scheme whereby the user can 
  disclose only passphrases for non-sensitive material, and credibly deny 
  the existence of anything else.

==============================================================================
Name: KIO Fuse Gateway

Author: Alexander Neundorf / neundorf at kde org

Homepage: http://kde.ground.cz/tiki-index.php?page=KIO+Fuse+Gateway

Description:

  This gateway makes it possible to mount ioslaves or a general
  ioslave-gateway via fuse and make them this way available to all
  linux apps.

==============================================================================
Name: C# bindings

Author: Valient Gough / vgough at pobox com

Homepage: http://pobox.com/~vgough/fuse-csharp.html

Description:

  It allows you to write a Linux filesystem in C#. It uses the FUSE
  library to do the actual Linux filesystem integration, and adds an
  interface to the Mono runtime.

==============================================================================
Name: LUFS bridge (alpha)

Author: Miklos Szeredi / miklos at szeredi hu

Homepage: http://sourceforge.net/project/showfiles.php?group_id=121684&package_id=132803

Description:

  This is a modified LUFS daemon, which uses the FUSE kernel module.  It
  is binary compatible with existing LUFS filesystems, so no
  recompilation is needed.

==============================================================================
Name: btfs (Bluetooth FileSystemMapping)

Author: Collin R. Mulliner / collin at betaversion net

Homepage: http://www.mulliner.org/bluetooth/btfs.php

Description:

  Btfs is a simple application to map some basic bluetooth functions
  into the filesystem.  With btfs a simple ls DEVICES shows you all
  bluetooth devices within range and cp somefile OPUSH/devicename sends
  the given file to the device.

==============================================================================
Name: mcachefs

Author: Michael Still / mikal at stillhq com

Homepage: http://lists.samba.org/archive/linux/2004-March/010211.html

Description:

  mcachefs is a simple caching filesystem for Linux using FUSE. It
  works by copying the file that you asked for when the file is
  opened, and then using that copy for all subsequent requests for the
  file. This is really a fairly naive approach to caching, and will be
  improved in the future.

==============================================================================
Name: Fusedav

Author: Lennart Poettering / mzshfrqni at 0pointer de

Homepage: http://0pointer.de/lennart/projects/fusedav/

Description:

  fusedav is a Linux userspace file system driver for mounting WebDAV
  shares.  It makes use of FUSE as userspace file system API and neon
  as WebDAV API.

==============================================================================
Name: RelFS

Author: Vincenzo Ciancia / vincenzo_ml at yahoo it

Homepage: http://relfs.sourceforge.net/

Description:

  This is a linux userspace filesystem using fuse and a relational
  database to store information about files. Special directories can
  represent views on the database, and many powerful features, such as
  bayesian classification, are added through plugins.

==============================================================================
Name: GmailFS

Author: Richard Jones / richard at jones name

Homepage: http://richard.jones.name/google-hacks/gmail-filesystem/gmail-filesystem.html

Description:

  GmailFS provides a mountable Linux filesystem which uses your Gmail
  account as its storage medium. GmailFS is a Python application and
  uses the FUSE userland filesystem infrastructure to help provide the
  filesystem, and libgmail to communicate with Gmail.

==============================================================================
Name: DataDraw

Author: Bill Cox / bill at viasic com

Homepage: http://www.viasic.com/opensource/

Description:

  This is an EDA specific data structure diagramming and code
  generation tool.

==============================================================================
Name: gphoto2-fuse-fs

Author: Christopher Lester / lester at hep phy cam ac uk

Homepage: http://www.hep.phy.cam.ac.uk/~lester/gphoto2-fuse-fs/

Description:

  This program allows mounting a gphoto2 based digital camera so that
  you can access the files via "standard" programs like "ls, cat, tar,
  gthumb, netscape, firefox, etc" rather than just through "gtkam and
  gphoto2"

==============================================================================
Name: cvsfs-fuse

Author: Patrick Frank / pfrank at gmx de

Homepage: http://sourceforge.net/projects/cvsfs

Description:

  This provides a package which presents the CVS contents as mountable
  file system. It allows to view the versioned files as like they were
  ordinary files on a disk. There is also a possibility to check
  in/out some files for editing.

==============================================================================
Name: Wayback (User-level Versioning File System for Linux)

Author: Brian Cornell / techie at northwestern edu

Homepage: http://wayback.sourceforge.net/

Description:

  When you use a Wayback file system, old versions of files are never
  lost. No matter how much you change a file or directory, everything
  is always kept in a versioning file so that you never lose important
  data. Wayback provides the ability to remount any already mounted
  file system with versioning support under a different
  directory.

==============================================================================
Name: Trivial Rolebased Authorisation & Capability Statemachine (TRACS)

Author: Rob J Meijer / rmeijer at xs4all nl

Homepage: http://www.xs4all.nl/~rmeijer/tracs.html

Description:

  This project is the first spin-off project of the Security Incident
  Policy Enforcement System project. In the process of designing a
  SIPES, the need was recognized for the implementation of an
  authorisation server that provides functionality not provided by any
  of the current authorisation solutions.

==============================================================================
