]> git.rkrishnan.org Git - tahoe-lafs/tahoe-lafs.git/blob - docs/about.html
dbd3e59ad9ae1725880064abd6efdd2c27ffcbdf
[tahoe-lafs/tahoe-lafs.git] / docs / about.html
1 <!DOCtype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="en">
2   <head>
3     <title>Welcome To Tahoe</title>
4     <link rev="made" class="mailto" href="mailto:zooko[at]zooko[dot]com">
5     <meta name="description" content="welcome to Tahoe">
6     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
7     <meta name="keywords" content="tahoe secure decentralized filesystem installation">
8   </head>
9
10   <body>
11     <h1>Welcome to Tahoe</h1>
12     <p>Welcome to the Tahoe project, a secure, decentralized, fault-tolerant filesystem.  All of the source code is available under a Free Software, Open Source licence.</p>
13     <p>This filesystem is encrypted and spread over multiple peers in such a way that it remains available even when some of the peers are unavailable, malfunctioning, or malicious.</p>
14     <p>See the web site for information, news, and discussion:</p>
15     <p><a href="http://allmydata.org">http://allmydata.org</a></p>
16
17     <h2>Overview</h2>
18     <p>A "storage grid" is made up of a number of storage servers.  A storage server has local attached storage (typically one or more SATA hard disks).  A "gateway" uses the storage servers and provides to its clients a filesystem over a standard protocol such as HTTP(S), FUSE, or SMB.</p>
19     <p>Users do not rely on storage servers to provide <i>confidentiality</i> nor <i>integrity</i> for the data -- instead all of the data is encrypted and integrity-checked by the gateway, so that the servers can neither read nor alter the contents of the files.</p>
20     <p>Users do rely on storage servers for <i>availability</i>.  The ciphertext is erasure-coded and distributed across <cite>N</cite> storage servers (the default value for <cite>N</cite> is 12) so that it can be recovered from any <cite>K</cite> of these servers (the default value of <cite>K</cite> is 3).  Therefore only the simultaneous failure of <cite>N-K+1</cite> (with the defaults, 10) servers can make the data unavailable.  Phrasing this in terms of <i>reliance</i>, we say that the users <i>rely on</i> the gateway for the confidentiality and integrity of the data, and on any 3 of the 10 servers for the availability of the data.</p>
21     <p>In the typical deployment mode each user runs her own gateway on her own machine.  This way she need rely only on her own machine for the confidentiality and integrity of the data, and she can take advantage of filesystem integration using FUSE or SMB.</p>
22     <p>An alternate deployment mode is that the gateway runs on a remote machine and the user connects to it over HTTPS.  This means that the operator of the gateway can view and modify the user's data (the user <i>relies on</i> the gateway for confidentiality and integrity), but the user can access the filesystem with a client that doesn't have the gateway software installed, such as an Internet kiosk or cell phone.</p>
23     <p>A user who has read-write access to a file or directory in this filesystem can give another user read-write access to that file or directory, or read-only access to that file or directory.  A user who has read-only access to a file or directory can give another user read-only access to it.</p>
24     <p>When linking a file or directory into a parent directory, you can use a read-write link or a read-only link.  If you use a read-write link, then anyone who has read-write access to the parent directory can gain read-write access to the child, and anyone who has read-only access to the parent directory can gain read-only access to the child.  If you use a read-only link, then anyone who has either read-write or read-only access to the parent directory can gain read-only access to the child.</p>
25     <p>There are two kinds of files: immutable and mutable.  Immutable files have the property that once they have been uploaded to the storage grid they can't be modified.  Mutable ones can be modified.</p>
26     <p>For more technical detail, please see <a href="architecture.txt">architecture.txt</a>, the <a href="http://allmydata.org/trac/tahoe/wiki/Doc">The Doc Page</a> on the Wiki, and the other files in the <a href="."><cite>docs</cite></a> directory of the source tree.</p>
27
28     <h2>Installing</h2>
29     <p>To install Tahoe, please see <a href="install.html">install.html</a>.</p>
30     
31     <h2>Licence</h2>
32     <p>You may use this package under the GNU General Public License, version 2 or, at your option, any later version.  See the file <a href="../COPYING.GPL">COPYING.GPL</a> for the terms of the GNU General Public License, version 2.</p>
33     <p>You may use this package under the Transitive Grace Period Public Licence, version 1.0, or, at your option, any later version.  The Transitive Grace Period Public Licence says that you may distribute proprietary derived works of Tahoe without releasing the source code of that derived work for up to twelve months, after which time you are obligated to release the source code of the derived work under the Transitive Grace Period Public Licence.  See the file <a href="../COPYING.TGPPL.html">COPYING.TGPPL.html</a> for the terms of the Transitive Grace Period Public Licence, version 1.0.</p>
34     <p>(You may choose to use this package under the terms of either licence, at your option.)</p>
35     
36   </body>
37 </html>