]> git.rkrishnan.org Git - tahoe-lafs/tahoe-lafs.git/commitdiff
rough draft of release announcement for 0.1
authorZooko O'Whielacronx <zooko@zooko.com>
Thu, 19 Apr 2007 20:55:13 +0000 (13:55 -0700)
committerZooko O'Whielacronx <zooko@zooko.com>
Thu, 19 Apr 2007 20:55:13 +0000 (13:55 -0700)
relnotes.txt [new file with mode: 0644]

diff --git a/relnotes.txt b/relnotes.txt
new file mode 100644 (file)
index 0000000..3e5499e
--- /dev/null
@@ -0,0 +1,105 @@
+Allmydata, Inc. [1], provider of the "Allmydata" consumer backup product, is
+pleased announce the first public release of "Tahoe", an open source
+decentralized storage mesh.
+
+The source code that we are releasing is the current working prototype for
+Allmydata's next-generation product.  This prototype it is not recommended
+for storage of confidential data nor for data which is not otherwise backed
+up, but it is already implements a functional decentralized storage mesh and
+is useful for experimentation, prototyping, and extension.
+
+
+Installation
+
+This release of Tahoe is guaranteed to work only on Linux.  It may actually
+work on other platforms -- earlier development revisions have been used on
+Windows, Cygwin, Mac/Intel, and Mac/PPC -- but not all of the unit tests
+currently pass on all platforms (see "Hacking and Community", below), so
+we're officially proclaiming that it works on Linux.
+
+To install, download the "Tahoe" tarball from the web server [2], untar it,
+cd into the resulting directory, and follow the directions in the README [3].
+
+
+Usage
+
+XYZ Brian: please insert intro to UI
+
+
+Hacking and Community
+
+Please join our mailing list [4] and to discuss the ideas behind Tahoe and
+extensions of and uses of Tahoe.  Patches that extend and improve Tahoe are
+gratefully accepted -- roadmap.txt [5] shows the next improvements that we
+plan to make.  You can browse the revision control history, source code, and
+issue tracking at our Trac instance [6].  Please note the buildbot results
+page [7], which show how Tahoe builds and passes unit tests on each checkin,
+and the code coverage results [8] and percentage-covered graph [9], which
+show how much of the Tahoe source code is currently exercised the test suite.
+
+
+Licence
+
+Tahoe is offered under the GNU General Public License (v2).  It also comes
+with the added permission that, in the case that you are obligated to release
+a derived work under this licence (as per section 2.b of the GPLv2), you may
+delay the fulfillment of this obligation for up to 12 months.
+
+
+Network Architecture
+
+Each peer maintains a connection to each other peer.  A single distinct
+server called an "introducer" is used to discover other peers with which to
+connect.
+
+To store a file, the file is encrypted and erasure coded, and each resulting
+share is uploaded to a different peer.  The secure hash of the encrypted file
+and the encryption key are packed into a URI, knowledge of which is necessary
+and sufficient to recover the file.
+
+To fetch a file, starting with the URI, a subset of shares is downloaded from
+peers, the file is reconstructed from the shares, and then decrypted.
+
+A single distinct server called a "vdrive server" maintains a mapping from
+pathnames/filenames to URIs.
+
+We are well aware of the limitations of decentralization and scalability
+inherent in this prototype.  In particular, the completely-connected property
+of the mesh and the requirement of a single distinct introducer and vdrive
+server limits the possible size of the mesh.  We have plans to loosen these
+limitations (see roadmap.txt [5]).  Currently it should be noted that the
+mesh already depends as little as possible on the accessibility and
+correctness of the introduction server and the vdrive server, and the choice
+of which servers to use is easily configured.
+
+
+Software Architecture
+
+Tahoe is a "from the ground-up" rewrite, inspired by Allmydata's existing
+consumer backup service, written in Python.
+
+It uses the Foolscap library [10] which provides a remote object protocol
+inspired by the capability-secure "E" programming language [11].  Foolscap
+allows us to express the intended behavior of our distributed mesh directly
+in object-oriented terms while relying on a well-engineered, secure transport
+layer.
+
+The underlying networking is provided by the Twisted library [12].
+Computationally intensive operations are performed in native compiled code,
+such as the "zfec" library for fast erasure coding (also available
+separately: [13]).
+
+
+[1]  http://allmydata.com
+[2]  http://allmydata.com/source/tahoe-0.1.0-0-UNSTABLE.tar.bz2
+[3]  http://allmydata.com/source/tahoe/README
+[4]  https://postman.allmydata.com/cgi-bin/mailman/listinfo/tahoe XYZ Zandr or someone: right URL?
+[5]  http://allmydata.com/source/tahoe/roadmap.txt
+[6]  http://allmydata.org/trac XYZ Brian: right URL?
+[7]  http://allmydata.org/buildbot XYZ Brian: right URL?
+[8]  http://allmydata.org/code coverage thingie XYZ Brian: right URL?
+[9]  http://allmydata.org/munin XYZ Brian: right URL?
+[10] http://twistedmatrix.com/trac/wiki/FoolsCap
+[11] http://erights.org/
+[12] http://twistedmatrix.com/
+[13] http://allmydata.com/source/zfec