wiki:Dev

Version 139 (modified by meejah, at 2018-04-04T23:00:11Z) (diff)

--

see also wiki:NewbieDeveloperSetup, wiki:Manual, and wiki:Doc

Dev

Views into the process of Tahoe-LAFS hackery.

Source Code (via revision control)

git clone https://github.com/tahoe-lafs/tahoe-lafs.git

  • If you have been given permission to commit directly to trunk, also do:

git remote set-url --push origin git@github.com:tahoe-lafs/tahoe-lafs.git

Community

Extensions

  • Tahoe-LAFS has a programmatic API which enables building custom applications on top of the storage infrastructure.
  • The docs/frontends/webapi.rst document shows how to control a Tahoe-LAFS node programmatically over HTTP.
  • The Extension Page has some additional tips on how to use the web-API.

Developer Docs

Design of the System

  • TahoeLAFSBasics on the Nilestore Project's site. This document was written by someone from another project who hasn't really interacted with the Tahoe-LAFS developers much, but it is the best overall introduction to the design of Tahoe-LAFS.
  • after that, look at the "Presentations / Papers", below, or at the "architecture.rst" file in the docs/ directory.
  • Other resources for understanding Tahoe's code:

Presentations / Papers

How To Contribute To The Tahoe-LAFS Project

Cool New Ideas We're Working On

More Details To Look Up While Working On Your Contribution

  • the docs/ directory <-- most core doc is in the source tree here
  • Capabilities: what are readcaps and writecaps and verifycaps, etc
  • The Packaging page shows our current policy for how to re-use 3rd-party libraries and how to distribute Tahoe-LAFS to users.

Tools

  • tahoe-lafs-trac-stream mailing list is the way to receive lots of emails from trac
  • Sources for Tahoe-LAFS and its side-projects are browsable via the "Browse Source" button at the top of each project site
  • https://source/tahoe-lafs/tarballs contains snapshots of current source code.
  • The Buildbot page (linked at the top of each page) shows current build and test results. See the BuildbotPolicy page and HowtoContributeABuildbot page. There is WIP to make Lanchpad's buildbots work at #2131.
  • The Timeline (linked at the top of each page) shows changes to the source code, the issue tickets, and the wiki (i.e. this web site).

Dependencies

  • Copies of libraries that Tahoe-LAFS is dependent on are at source/tahoe-lafs/deps/.
  • The tahoe-dep-eggs subdirectory has precompiled "egg" packages (scroll to the bottom for a matrix of platforms and Python versions for each package).

Metrics

See Also

Papers By Others About Tahoe-LAFS or Derivatives