SFS (Self-certifying File System) is a secure, global network file
system.  SFS names file systems by public keys.  Every remote file
server is mounted on a self-certifying pathname--a directory of the
form /sfs/LOCATION:HOSTID, where LOCATION is a DNS hostname and HOSTID
is a cryptographic hash of a public key.  This naming scheme allows
for completely decentralized control--anyone can create a file server,
and any user can access any file server from any client.  Various key
management schemes can be built on top of SFS using symbolic links to
map human-readable names to self-certifying pathnames.

SFS should run with little or no modification on any operating system
other than Linux that supports NFS3.  We have tested SFS on OpenBSD,
FreeBSD, Solaris, and Digital Unix.  Porting SFS to Linux will require
extensive kernel changes to make Linux mount semantics more like Unix
ones.  We are currently developing a modified Linux kernel on which
SFS can run, but the code is not yet ready for public release.
Contact <sfs-dev@amsterdam.lcs.mit.edu> if you would like to help with
this effort.

This release of SFS should be considered pre-alpha.  It may crash your
system or open security holes.  The SFS protocols are also almost
guaranteed to change in incompatible ways after the release.  The
authors use the software for our day-to-day computing activities,
however, and experience few problems (though our testing is mostly
limited to OpenBSD machines with lots of memory).

More documentation can be found in the SFS info pages in the doc
subdirectory, or at the SFS web site http://www.fs.net/.

Report bugs in the system to <sfsbug@redlab.lcs.mit.edu>.

Send questions, comments, and feature requests to
<sfs-dev@amsterdam.lcs.mit.edu>.  We would like to hear about how
people are using SFS.
