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.
- The Roadmap page (linked at the top of each page) shows the next planned release and what improvements and bugfixes we are working on.
- The User Doc page
- The Travis CI Status Page
- The CircleCI Status Page
- The GitHub Actions Status Page
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
- slides presented at “Vail Computing Elements Workshop” in Vail 2013
- slides presented at “ECRYPT II Crypto For 2020” in Tenerife 2013
- trac/tahoe-lafs/attachment/wiki/News/tahoe-RSA-slides.pdf presented at RSA 2010
- Tahoe – The Least-Authority Filesystem presented at Storage Security and Survivability '08 (local mirror of PDF)
- Tahoe: A Secure Distributed Filesystem presented at PyCon2008, providing an overview of the Tahoe-LAFS design, and the slides (.zip) that were used for the presentation
- A Performance Evaluation and Examination of Open-Source Erasure Coding Libraries For Storage to be presented at FAST-2009: 7th USENIX Conference on File and Storage Technologies
How To Contribute To The Tahoe-LAFS Project
- how to review patches <-- You can help!
- how to submit patches
- coding standards
- how to write tests
- how to report a bug
- Debugging:
- Debugging tips in tahoe-dev mailing list:
- The logging system
- How to differentiate your running nodes' versions? See comments: ticket:2131#comment:8
- Python 3 porting guide
Cool New Ideas We're Working On
- Ostrom is about how social networking and economics interact with distributed storage
- OneHundredYearCryptography
- Accounting
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
- The Performance page has notes and graphs about performance measurements.
- The TestGrid page contains usage statistics about the public test grid.
See Also
- The News page for sources of news and information.
- The Bibliography page contains links to scientific papers of interest.
- The RelatedProjects page contains links to a few other decentralized storage projects that you might be interested in.
- The ResearchVenues page contains a list of conferences and other venues where Tahoe-LAFS is a potential topic of interest.
- TahoeVsDebianBuggyOpenSsl for details about Tahoe-LAFS's mild vulnerability to the May 2008 Debian OpenSSL problems.
- Google Summer of Code Ideas
Papers By Others About Tahoe-LAFS or Derivatives
- Cloud Storage Vault—Master's Thesis by Haver, Melvold, Ruud
- Experimenting with SHA-3 candidates in Tahoe-LAFS by Haver, Ruud