wiki:Doc

Version 14 (modified by zooko, at 2007-09-23T14:23:08Z) (diff)

--

Documentation

The Basics

  • architecture.txt, explaining the design decisions that have given the grid its current shape
  • UseCases, enumerating the ways in which Tahoe should be useful
  • webapi.txt, containing everything you need to know to use Tahoe from your own program
  • roadmap.txt, showing how the functionality has been incrementally improved so far, and what improvements we plan to make next
  • codemap.txt, laying out the software design and the organization of the source code

The Parade of Release Notes

  • the release notes announcing v0.2, the first public release, on May 2, 2007 and giving a general overview of why the Tahoe project exists
  • the release notes announcing v0.3 on June 6, 2007, including improved basic functionality
  • the release notes announcing v0.4 on June 29, 2007, including the new mutable, shareable, private directories
  • the release notes announcing v0.5 on August 17, 2007, including the Web API and the command-line interface
  • the release notes announcing v0.5.1 on August 17, 2007, fixing a security problem in the Web API

Detailed Design Docs

  • FileEncoding?, explaining how we turn files into shares, with verifiable hashes; This is mostly concerned with chunking and Merkle trees.
  • ShareEncoding?, explaining how we turn a chunk into shares: Reed-Solomon, FEC, that stuff

Outstanding Issues

  • PeerSelection, explaining how a Tahoe node chooses which other nodes to use for uploading and downloading files (which raises some unsolved issues in balancing scalability, robustness, performance, and simplicity)
  • ChangingFilesWhileCopyingThem? : what are the semantics of the "upload" action? the upload takes non-zero time: what happens if the file is changed during that time?