add DVCS Integration

[Imported from Trac: page GSoCIdeas2010, version 92]
zooko 2010-03-16 18:16:30 +00:00
parent 601b09975b
commit d50be8d44c

@ -19,6 +19,7 @@ Deadlines and directions for students' applications to the Google Summer-of-Code
|[#CloudApps Cloud Apps]|EasyHard|[Jack Lloyd]mailto:lloyd@randombit.net or any mentor|
|[#WebDAV WebDAV]|Medium|[David-Sarah Hopwood]mailto:david-sarah@jacaranda.org or any mentor|
|[#DistributedIntroduction Distributed Introduction]|Easy|[Zooko Wilcox-O'Hearn]mailto:zooko@zooko.com or any mentor|
|[#DVCSIntegration DVCS Integration]|Medium|[Jack Lloyd]mailto:lloyd@randombit.net or any mentor|
----
@ -85,6 +86,16 @@ Implement a WebDAV front-end for Tahoe-LAFS so that files and directories stored
Implement a protocol for distributed introduction, thus removing the only remaining Single Point of Failure (SPoF) in the Tahoe-LAFS system. For details see [ticket #68](/tahoe-lafs/trac-2024-07-25/issues/68#issuecomment-102558) which describes the distributed notification algorithm and points to the relevant source code.
# DVCS Integration
Write patches for the [git](http://git-scm.com/) or [darcs](http://darcs.net) 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.
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.
There is already a simple kind of integration for Tahoe-LAFS with the [bzr](http://bazaar.canonical.com/en/) distributed revision control tool. Bzr can be configured to write its repositories through ftp and Tahoe-LAFS offers and ftp front-end. Here are [instructions](@@http://www.mail-archive.com/tahoe-dev@allmydata.org/msg01533.html@@) 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.
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.
----
# Mentors