| 87 | = DVCS Integration = |
| 88 | |
| 89 | Write patches for the [http://git-scm.com/ git] or [http://darcs.net darcs] distributed revision control tool so that it reads and writes directly to a Tahoe-LAFS storage grid instead of its local filesystem. This creates a "revision control repository in the sky"—a repository that is distributed, fault-tolerant, and highly available. It also lends Tahoe-LAFS's unique security and access-control properties to your revision control system—you can share read-only access or read-write access with specific people through Tahoe-LAFS's capability access control system, and you can rely on the integrated digital signatures to verify that you are reading an authorized version of the repository. |
| 90 | |
| 91 | When Zooko was at the RSA 2010 security conference in March 2010, an employee of the U.S. National Security Agency told him that they were interested in integrating git with Tahoe-LAFS. |
| 92 | |
| 93 | There is already a simple kind of integration for Tahoe-LAFS with the [http://bazaar.canonical.com/en/ bzr] distributed revision control tool. Bzr can be configured to write its repositories through ftp and Tahoe-LAFS offers and ftp front-end. Here are [http://www.mail-archive.com/tahoe-dev@allmydata.org/msg01533.html instructions] on how to use the combination of bzr and Tahoe-LAFS. Improving the bzr+Tahoe-LAFS integration to be faster, more flexible, and easier to use would be an alternative to integrating git or darcs. |
| 94 | |
| 95 | Required skills: for git you need to know some C and understand git's behavior. For darcs you need to know some Haskell and understand darcs's behavior. For bzr you need to know some Python (or actually forget it you can just learn Python as you go because it is so easy) and understand bzr's behavior. |
| 96 | |