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.
- 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 Buildbot output page (if you want to contribute a buildbot, see How to Contribute a Buildbot.)
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 irc.freenode.net in channel #tahoe-lafs. This channel is archived at http://fred.submusic.ch/irc/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
- How to Contribute a Buildbot
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 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
- 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