From: Zooko O'Whielacronx Date: Tue, 8 Jan 2008 18:01:44 +0000 (-0700) Subject: docs: relnotes for 0.7.0 X-Git-Tag: allmydata-tahoe-0.7.0~13 X-Git-Url: https://git.rkrishnan.org/components/architecture.txt?a=commitdiff_plain;h=9033d887a31b2f1165a7a515799da4ac5a6a76af;p=tahoe-lafs%2Ftahoe-lafs.git docs: relnotes for 0.7.0 --- diff --git a/relnotes.txt b/relnotes.txt index 1a02cdad..f6f1e30b 100644 --- a/relnotes.txt +++ b/relnotes.txt @@ -1,189 +1,94 @@ -NEW VERSION RELEASED -- Allmydata-Tahoe version 0.6.1 +ANNOUNCING: Allmydata-Tahoe version 0.7 -We are pleased to announce the release of version 0.6.1 of -allmydata.org "Tahoe", a secure, decentralized storage grid under a -free-software licence. This is the successor to v0.6, which was -released September 24, 2007 (see [1]). This release focusses on -packaging, documentation, and usability improvements. +We are pleased to announce the release of version 0.7 of allmydata.org +"Tahoe". -Since v0.6 we've made the following changes: +Tahoe is a secure, decentralized, fault-tolerant filesystem. All of +the source code is available under a Free Software, Open Source +licence (or two). - * Make the command-line tool it automatically stash its state in a - directory ("~/.tahoe" by default), and make it automatically get - the capability to access your private vdrive from the state - directory. (ticket #120) +This filesystem is encrypted and distributed over multiple peers in +such a way that it continues to work correctlly even when some of the +peers are unavailable, malfunctioning, or malicious. - * Add the "tahoe mv" command. (ticket #162) +This is the successor to Allmydata-Tahoe v0.6.1, which was released +October 15, 2007 [1]. - * Rewrite the README and add README.win32 to make it clearer which - steps are required to build from source. (ticket #148) +This release adds decentralized, encrypted directories and mutable +files, making it the first release of Tahoe in which no part of the +filesystem is centralized. It also adds a FUSE interface, allowing +you to access a distributed Tahoe grid as if it were a normal local +filesystem. - * Establish port 8123 as the default web port on localhost so that - people can share full URLs that start with - "http://localhost:8123/". - - * Update webapi.txt [2] to reflect the security fix from ticket #98. - - * Add more automated performance measurements and graphs on the - Performance page [3]. - - * Rename the command-line tool from "allmydata-tahoe" to "tahoe". - (ticket #155) - -We also improved numerous small issues in packaging, documentation, -usability, testing, and source code maintenance. For complete -details, see this web page which shows all the changes we made between -the last release and this one: [4]. - -Allmydata.org Tahoe v0.6.1 is compatible with Allmydata.org Tahoe -v0.6. +This is also the first release to be offered under a novel open source +licence which allows people to redistributed proprietary derivatives +of Tahoe for a limited time. WHAT IS IT GOOD FOR? -With Tahoe, you can store your files in a distributed way across a set -of computers, such that if some of the computers fail, you can -retrieve your data from the remaining computers. You can also -securely share your files with other users. +With Tahoe, you can distribute your filesystem across a set of +computers, such that if some of the computers fail or turn out to be +malicious, the filesystem continues to work from the remaining +computers. You can also share your files with other users, using a +strongly encrypted, capability-based access control scheme. -This release is targeted at hackers and users who are willing to use a -text-oriented web user interface, or a command-line user interface. -(Or a RESTful API. Just telnet to localhost and type HTTP requests to -get started.) +This release is targeted at hackers and smart users who are willing to +use a web user interface, a command-line user interface, or a FUSE +interface. (Or a RESTful API. Just telnet to localhost and type HTTP +requests to get started.) Because this software is new, it is not yet recommended for storage of -highly confidential data nor for important data which is not otherwise -backed up. Given that caveat, this software works and there are no -major known security flaws which would compromise confidentiality or -data integrity. (For a current description of all known security -issues and an overview of Tahoe's security properties, please see the -Security web page: [5].) +highly confidential data nor for valuable data which is not otherwise +backed up. However, it works well in practice, it comes with extensive +unit tests, and there are no known security flaws which would +compromise confidentiality or data integrity. (For a current +description of all known security issues and an overview of Tahoe's +security properties, please see the Security web page: [2].) -This release of Tahoe is suitable for the "friendnet" use case [6]. -It is easy to set up a private grid which is securely shared among a -specific, limited set of friends. Files uploaded to this shared grid -will be available to all friends, even when some of the computers are -unavailable. It is also easy to encrypt individual files and -directories so that only designated recipients can read them. +This release of Tahoe is suitable for the "friendnet" use case [3] -- +it is easy to create a filesystem spread over the computers of you +and your friends so that you can share files and disk space with one +another. LICENCE -Tahoe is offered under the GNU General Public License (v2 or later), -with the added permission that, if you become obligated to release a -derived work under this licence (as per section 2.b), you may delay -the fulfillment of this obligation for up to 12 months. If you are -obligated to release code under section 2.b of this licence, you are -obligated to release it under these same terms, including the 12-month -grace period clause. - - -INSTALLATION - -Tahoe works on Linux, Mac OS X, Windows, Cygwin, and Solaris. For -installation instructions please see the README [7]. - - -USAGE - web interface - -Once installed, create a "client node". Instruct this client node to -connect to a specific "introducer node" by means of config files in -the client node's working directory. To join a grid, copy in the -.furl files for that grid. To create a private grid, run your own -introducer, and copy its .furl files. See the README for step-by-step -instructions. - -Each client node can run a local webserver (enabled by writing the -desired port number into a file called 'webport'). The welcome page -of this webserver shows the node's status, including which introducer -is being used and which other nodes are connected. +You may use this package under the GNU General Public License, version +2 or, at your option, any later version. See the file "COPYING.GPL" +for the terms of the GNU General Public License, version 2. -Links from the welcome page lead to other pages that give access to a -virtual filesystem, in which each directory is represented by a -separate page. Each directory page shows a list of the files -available there, with download links, and forms to upload new files. +You may use this package under the Transitive Grace Period Public +Licence, version 1.0. 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 "COPYING.TGPPL.html" for the terms of the Transitive +Grace Period Public Licence, version 1.0. -USAGE - command-line interface +(You may choose to use this package under the terms of either licence, +at your option.) -Run "tahoe ls [VIRTUAL PATH NAME]" to list the contents of a virtual -directory. Run "tahoe get [VIRTUAL FILE NAME] [LOCAL FILE NAME]" to -download a file. Run "tahoe put [LOCAL FILE NAME] [VIRTUAL FILE -NAME]" to upload a file. Run "tahoe rm [VIRTUAL PATH NAME]" to unlink -a file or directory in the virtual drive. Run "tahoe --help" to learn -about more commands. -USAGE - other +INSTALLATION -You can control the filesystem through the RESTful web API [2]. Other -ways to access the filesystem are planned: please see the -roadmap.txt [8] for some plans. +Tahoe works on Linux, Mac OS X, Windows, Cygwin, and Solaris. For +installation instructions please see "doc/install.html" [4]. HACKING AND COMMUNITY -Please join the mailing list [9] to discuss the ideas behind Tahoe and -extensions of and uses of Tahoe. Patches that extend and improve -Tahoe are gratefully accepted -- roadmap.txt [8] shows the next -improvements that we plan to make and CREDITS [10] lists the names of -people who've contributed to the project. The wiki Dev page [11] -collects various hacking resources including revision history -browsing, automated test results, automated performance tests, graphs -of how many people are using the public test grid for how many files, -and more. - - -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 global -mapping from pathnames/filenames to URIs. - -We are aware of certain limitations on decentralization and -scalability inherent in this version. In particular, the -completely-connected property of the grid and the requirement of a -single distinct introducer and vdrive server limits the possible size -of the grid. We have plans to loosen these limitations (see -roadmap.txt). Currently it should be noted that the grid already -depends as little as possible on the accessibility and correctness of -the introduction server and the vdrive server. Also note that the -choice of which servers to use is easily configured -- you can set up -a private grid for you and your friends as easily as connecting to our -public test grid. - - -SOFTWARE ARCHITECTURE - -Tahoe is a "from the ground-up" rewrite, inspired by Allmydata's -existing consumer backup service as well as by its ancestor Mojo -Nation. It is primarily written in the Python programming language. - -Tahoe is based on the Foolscap library [12] which provides a remote -object protocol inspired by the capability-secure "E" programming -language [13]. Foolscap allows us to express the intended behavior of -the distributed grid directly in object-oriented terms while relying -on a well-engineered, secure transport layer. - -The network layer is provided by the Twisted library [14]. -Computationally intensive operations are performed in native compiled -code, such as the "zfec" library for fast erasure coding (also -available separately: [15]). +Please join us on the mailing list [5] to discuss uses of Tahoe. +Patches that extend and improve Tahoe are gratefully accepted -- +roadmap.txt [6] shows the next improvements that we plan to make and +CREDITS [7] lists the names of people who've contributed to the +project. The wiki Dev page [8] contains resources for hackers. SPONSORSHIP -Tahoe is sponsored by Allmydata, Inc. [16], a provider of consumer +Tahoe is sponsored by Allmydata, Inc. [9], a provider of consumer backup services. Allmydata, Inc. contributes hardware, software, ideas, bug reports, suggestions, demands, and money (employing several allmydata.org Tahoe hackers and allowing them to spend part of their @@ -193,23 +98,16 @@ eternally grateful! Zooko O'Whielacronx on behalf of the allmydata.org team -October 15, 2007 -Boulder, Colorado - - -[1] http://allmydata.org/trac/tahoe/browser/relnotes.txt?rev=1346 -[2] http://allmydata.org/trac/tahoe/browser/docs/webapi.txt?rev=1428 -[3] http://allmydata.org/trac/tahoe/wiki/Performance -[4] http://allmydata.org/trac/tahoe/timeline?from=2007-10-15&daysback=21&changeset=on&milestone=on&ticket=on&ticket_details=on&wiki=on -[5] http://allmydata.org/trac/tahoe/wiki/Security -[6] http://allmydata.org/trac/tahoe/wiki/UseCases -[7] http://allmydata.org/trac/tahoe/browser/README?rev=1424 -[8] http://allmydata.org/trac/tahoe/browser/roadmap.txt -[9] http://allmydata.org/cgi-bin/mailman/listinfo/tahoe-dev -[10] http://allmydata.org/trac/tahoe/browser/CREDITS?rev=1424 -[11] http://allmydata.org/trac/tahoe/wiki/Dev -[12] http://foolscap.lothar.com/trac -[13] http://erights.org/ -[14] http://twistedmatrix.com/ -[15] http://pypi.python.org/pypi/zfec -[16] http://allmydata.com +January 7, 2008 +San Francisco, California + + +[1] http://allmydata.org/trac/tahoe/browser/relnotes.txt?rev=1346 +[2] http://allmydata.org/trac/tahoe/wiki/Security +[3] http://allmydata.org/trac/tahoe/wiki/UseCases +[4] http://allmydata.org/source/tahoe/trunk/docs/install.html +[5] http://allmydata.org/cgi-bin/mailman/listinfo/tahoe-dev +[6] http://allmydata.org/trac/tahoe/browser/roadmap.txt +[7] http://allmydata.org/trac/tahoe/browser/CREDITS?rev=1424 +[8] http://allmydata.org/trac/tahoe/wiki/Dev +[9] http://allmydata.com