wiki:Dev

Version 143 (modified by meejah, at 2021-05-26T19:38:46Z) (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

  • The tahoe-dev mailing list is the community forum for discussion of Tahoe-LAFS design, implementation, and usage.
  • Tahoe-LAFS hackers chat on [ircs://irc.libera.chat/%23tahoe-lafs irc.libera.chat in channel #tahoe-lafs].
  • The CREDITS file contains names people who have contributed to the Tahoe-LAFS project.
  • The RelatedProjects page has extensions to Tahoe-LAFS and integrations of Tahoe-LAFS with other open source software.
  • There is a weekly conference call for core developers or interested community members.

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 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