Page:
Dev
Pages
AboutUs
Accounting
AccountingDesign
AdvancedInstall
AllmydataDotComPage
ArchLinuxArmInstallation
BBFreeze
BadContent
Bibliography
BitCoinPage
BuildSystemTheory
BuildbotPolicy
Capabilities
CodingStandards
CompileError
ComponentDefinitions
Convergence Secret
DelegationOperations
Dev
DevInfra
DirectoryNode
Doc
DownloadDebianPackages
Extensions
FAQ
FileId
FileTree
GSoCIdeas
GSoCIdeas2009
GSoCIdeas2010
GridBackup
GridManager
Grids
Home
HowToReportABug
HowToWriteTests
HowtoBuildPyCryptoOnWindows
HowtoContributeABuildbot
InstallDetails
Installation
JavaScript
Keywords
KnownIssues
LocalGrid
Manual
MeetingNotes_2012_10_23
MemoryFootprint
MoveOffTrac
Munin_Stats Gatherer_Readme
Munin_local_plugins_README
NewAccountingDesign
NewCapDesign
NewImmutableEncodingDesign
NewMutableEncodingDesign
NewbieDeveloperSetup
News
OSPackages
OldNews
OneHundredYearCryptography
OriginalWikiStart
Ostrom
Packaging
PatchReviewProcess
Patches
PeerSelection
Performance
PkgSrc
Proposed
Python3
QuotaManagement
RelatedProjects
RequestedEdits
ResearchVenues
SNARKs
Security
ServerSelection
SftpFrontend
SpamPolicy
StorageIndex
Summit
Summit1
Summit2011
Summit2016
Summit2Day1
Summit2Day2
Summit2Day3
Summit2Day4
TaggedHash
TahoeLAFSMobile
TahoeLAFSWeeklyNews
TahoeThree
TahoeTwo
TahoeVsDebianBuggyOpenSsl
TestGrid
TipsTricks
TracSecurityOverview
TracStartingPoints
TracWikiMacros
Tutorial
UbuntuPackaging
UseCases
VerifierId
VersionNumbers
Versioning
ViewTickets
ViewTickets2
VolunteerGrid
WeeklyMeeting
WindowsBuild
apparmor
pyFilesystem
test
Table of Contents
This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
see also NewbieDeveloperSetup, Manual, and 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](https://github.com/tahoe-lafs/tahoe-lafs/actions)
Source Code (via revision control)
- git checkout:
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
- [/../../cgi-bin/mailman/listinfo/tahoe-dev The tahoe-dev mailing list] is the community forum for discussion of Tahoe-LAFS design, implementation, and usage.
- Tahoe-LAFS hackers chat on [irc.libera.chat in channel #tahoe-lafs]irc://irc.libera.chat/%23tahoe-lafs.
- [The CREDITS file]source:CREDITS contains names people who have contributed to the Tahoe-LAFS project.
- [The RelatedProjects page](RelatedProjects) 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 source: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:
- Where does allmydata.client start listening?
Presentations / Papers
- [//~zooko/VailComputingElementsWorkshop2013/slides.html slides] presented at “Vail Computing Elements Workshop” in Vail 2013
- [//~zooko/Ecrypt2020-Tenerife-InternetCryptoWorkshop/slides.html 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 ([//~trac/lafs.pdf local mirror of PDF])
- [//~warner/pycon-tahoe.html Tahoe: A Secure Distributed Filesystem] presented at PyCon2008, providing an overview of the Tahoe-LAFS design, and the [//~warner/pycon-tahoe-slides.zip 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: /tahoe-lafs/trac/issues/16973#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]source:docs/ <-- 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
- [//cgi-bin/mailman/listinfo/tahoe-lafs-trac-stream 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 [//trac project site]
- [//source/tahoe-lafs/tarballs/ 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 [//source/tahoe-lafs/deps/tahoe-dep-eggs 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](TestGrid) 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](RelatedProjects) contains links to a few other decentralized storage projects that you might be interested in.
- [The ResearchVenues page](ResearchVenues) 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
- [//pipermail/tahoe-dev/2011-February/006157.html Experimenting with SHA-3 candidates in Tahoe-LAFS] by Haver, Ruud