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. * [wiki:Doc The User Doc page] * [//buildbot-tahoe-lafs The Buildbot output page] (if you want to contribute a buildbot, see [wiki:HowtoContributeABuildbot How to Contribute a Buildbot].) == Source Code (via revision control) == * [https://github.com/tahoe-lafs/tahoe-lafs 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://irc.freenode.net/%23tahoe-lafs irc.freenode.net in channel #tahoe-lafs]. This channel is archived at [http://fred.submusic.ch/irc/tahoe-lafs/] . * [source:CREDITS The CREDITS file] contains names people who have contributed to the Tahoe-LAFS project. * [wiki:RelatedProjects The RelatedProjects page] has extensions to Tahoe-LAFS and integrations of Tahoe-LAFS with other open source software. * There is a [wiki:WeeklyMeeting 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. * [wiki:Extensions The Extension Page] has some additional tips on how to use the web-API. == Developer Docs == === Design of the System === * [http://code.google.com/p/nilestore/wiki/TahoeLAFSBasics 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: * [https://tahoe-lafs.org/pipermail/tahoe-dev/2013-July/008611.html 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 * [http://eprint.iacr.org/2012/524 Tahoe – The Least-Authority Filesystem] presented at [http://storagess.org/2008 Storage Security and Survivability '08] ([//~trac/lafs.pdf local mirror of PDF]) * [//~warner/pycon-tahoe.html Tahoe: A Secure Distributed Filesystem] presented at [http://us.pycon.org/2008/about/ PyCon2008], providing an overview of the Tahoe-LAFS design, and the [//~warner/pycon-tahoe-slides.zip slides] (.zip) that were used for the presentation * [http://www.cs.utk.edu/~plank/plank/papers/FAST-2009.html A Performance Evaluation and Examination of Open-Source Erasure Coding Libraries For Storage] to be presented at [http://www.usenix.org/events/fast09 FAST-2009: 7th USENIX Conference on File and Storage Technologies] === How To Contribute To The Tahoe-LAFS Project === * [wiki:PatchReviewProcess how to review patches] <-- You can help! * [wiki:Patches how to submit patches] * [wiki:CodingStandards coding standards] * [wiki:HowToWriteTests how to write tests] * [wiki:HowToReportABug how to report a bug] * Debugging: * Debugging tips in tahoe-dev mailing list: * https://tahoe-lafs.org/pipermail/tahoe-dev/2013-April/008165.html * https://tahoe-lafs.org/pipermail/tahoe-dev/2013-July/008579.html * The [https://tahoe-lafs.org/trac/tahoe-lafs/browser/trunk/docs/logging.rst logging system] * How to differentiate your running nodes' versions? See comments: ticket:2131#comment:8 * [wiki:HowtoContributeABuildbot How to Contribute a Buildbot] === Cool New Ideas We're Working On === * [wiki:Ostrom] is about how social networking and economics interact with distributed storage * [wiki:OneHundredYearCryptography] === More Details To Look Up While Working On Your Contribution === * [source:docs/ the docs/ directory] <-- most core doc is in the source tree here * [wiki:Capabilities]: what are readcaps and writecaps and verifycaps, etc * [wiki:Packaging 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 Buildbot page (linked at the top of each page) shows current build and test results. See the BuildbotPolicy page and [wiki: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 [//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 == * [wiki:Performance The Performance page] has notes and graphs about performance measurements. * [wiki:TestGrid The TestGrid page] contains usage statistics about the public test grid. == See Also == * [wiki:News The News page] for sources of news and information. * [wiki:Bibliography The Bibliography page] contains links to scientific papers of interest. * [wiki:RelatedProjects The RelatedProjects page] contains links to a few other decentralized storage projects that you might be interested in. * [wiki:ResearchVenues 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. * [wiki:GSoCIdeas Google Summer of Code Ideas] ==== Papers By Others About Tahoe-LAFS or Derivatives ==== * [https://github.com/zerqent/cloud-storage-vault/blob/master/report/main.pdf?raw=true 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