Libferris: Local data, programs, and the Web are all filesystems


One Line Summary

Libferris allows local kernel filesystems, composite files like XML, relational databases and the Web (flickr etc) to be accessed as a virtual filesystem.


Back 10 odd years ago Libferris was created to provide a C++
filesystem interface with metadata support. Libferris now allows local
kernel filesystems, composite files like Berkeley db and XML and local
applications to be accessed through a virtual filesystem interface.
Libferris has grown to include support for Index and Search and rich

Rich exposures make anything the filesystem can offer be exposed
through another data model. For example, a libferris filesystem to be
expused as a document model to XQuery, a virtual table to SQLite, a
tree model to GTK+2 or QT 4.x, an Xerces-C DOM, or a plasma data
engine for the KDE4 desktop. It is planned to include trigger based
virtual tables for PostgreSQL and improve the ongoing support for
TRAMP to allow emacs better use of libferris.

In recent years libferris has gained the ability to “Mount the Web”
which has expanded to include sites requiring login such as flickr,
facebook, vimeo, youtube, google docs and spreadsheets, and others.
This means you can simply “cp” an image to flickr or facebook —
perhaps directly from an on device camera that is offered though the
virtual filesystem itself. Such an operation can itself include
mutations such as image scaling and format conversion (eg, RAW to

With rich exposures you can use XQuery or SQLite to inspect a
spreadsheet on google docs and bring together information from
multiple sources to a single report. I have also started offering your
“friends” on mounted web sites as vcard files through the filesystem.
The filesystem should unlock information and let you decide where to
copy/use that data.

Given that libferris touches on many fields I am always keen to
discuss it and how things can be improved. I maintain packages for
Fedora and maemo (n900) of libferris.


libferris, virtual filesystem, index-and-search, mount-the-web


  • Biography

    Ben Martin has been working on Filesystem related code for over ten
    years. He has a BIT, MIT and PhD in Information Technology with
    experience from RDBMS, indexing, filesystems through network and
    security. During his PhD he researched how to provide a richer
    filesystem search interface using Formal Concept Analysis. FCA allows
    the merging of the traditional search and browse interactions into a
    single activity.

    Ben has written numerous articles about Open Source Software and
    presented libferris and other projects at OLS 07, Linux Kongress 05 &
    08, LCA 2011, NLUUG 2009, UKUUG 2010, and OSDC 2010 among others.