diff --git a/GSoCIdeas2010.md b/GSoCIdeas2010.md index e3d7e09..d1f84a0 100644 --- a/GSoCIdeas2010.md +++ b/GSoCIdeas2010.md @@ -3,13 +3,7 @@ [Google Summer of Code](http://code.google.com/soc) -The [Python Software Foundation](http://www.python.org/psf), a GSoC umbrella organization, will sponsor Tahoe. - -Students: you don't have to use one of the following Ideas. You can come up with your own Ideas, either inspired by these or your own Blue Sky idea. The most important thing is to e-mail the Mentor team (listed at the bottom of this page) *immediately* saying that you are interested. - -See also the [PSF Ideas page](http://wiki.python.org/moin/SummerOfCode/2009), which includes a subset of these ideas, and a lot of other Python-but-not-Tahoe ideas. - -Please read this page on the PSF wiki about [what will be expected of you](http://wiki.python.org/moin/SummerOfCode/Expectations). +Students: you don't have to use one of the following Ideas. You can come up with your own Ideas, either inspired by these or your own Blue Sky idea. The most important thing is to e-mail the Mentor team (listed at the bottom of this page) saying that you are interested. # Ideas *What could a smart student do in one summer, if they didn't need to worry about getting a summer job to pay the bills?* @@ -21,18 +15,19 @@ Please read this page on the PSF wiki about [what will be expected of you](http: * Domain Mangling approaches: * HTTP proxy approach * Special scheme handling in browser add-ons - * [Caja](http://code.google.com/p/google-caja) approach: Require all Javascript to pass the Caja verifier in the Tahoe web frontend, then create an interface to the tahoe webapi which matches the intended capability semantics. - * Tahoe Cryptography: + * [Caja](http://code.google.com/p/google-caja) approach: Require all Javascript to pass the Caja verifier in the Tahoe-LAFS web frontend, then create an interface to the tahoe webapi which matches the intended capability semantics. + * Tahoe-LAFS Cryptography: * Help us author a paper proving the security of the crypto that will be used to implement new shorter caps (such as the [Elk Point protocol](NewCaps)/WhatCouldGoWrong or the "Semi-Private Key" construction from ). [Tickets labelled 'newcaps'](http://allmydata.org/trac/tahoe-lafs/query?status=!closed&order=priority&keywords=~newcaps) ## Free The Windows Client * Make the [Windows client](http://allmydata.org/trac/tahoe-w32-client) use only free open-source software. (Implementing WebDAV is an alternative that would achieve a similar effect.) -## Connecting Tahoe To Other Things +## Connecting Tahoe-LAFS To Other Things * Filesystem access: * improve the FUSE frontend ([source code]source:contrib/fuse). [Tickets labelled 'fuse'](http://allmydata.org/trac/tahoe-lafs/query?status=!closed&order=priority&keywords=~fuse) * support WebDAV for access from Windows and various filesystem browsers. [Tickets labelled 'webdav'](http://allmydata.org/trac/tahoe-lafs/query?status=!closed&order=priority&keywords=~webdav) - * Explore running a Tahoe grid over [Tor](https://torproject.org) or [I2P](https://i2p2.de) to provide anonymity to servers and/or clients. + * integrate Tahoe-LAFS with the GVFS Gnome virtual filesystem + * Explore running a Tahoe-LAFS grid over [Tor](https://torproject.org) or [I2P](https://i2p2.de) to provide anonymity to servers and/or clients. * Rescue the neglected C client library [libtahoeclient_webapi](http://allmydata.org/trac/libtahoeclient_webapi). ## Server Selection @@ -40,7 +35,7 @@ Please read this page on the PSF wiki about [what will be expected of you](http: * Dynamically migrate shares to maintain file health. * Use Zeroconf or similar so nodes can find each other on a local network to enable quick local share migration. * Deal with unreliable nodes and connections in general, getting away from allmydata.com's assumption that the grid is a big collection of reliable machines in a colo under a single administrative jurisdiction. [Tickets labelled 'availability'](http://allmydata.org/trac/tahoe-lafs/query?status=!closed&order=priority&keywords=~availability) - * Abstract out the server selection part of Tahoe so that the projects in this category of "grid membership and server selection" can be mostly independent of the rest of Tahoe. See also [this note about standardization of LAFS](http://testgrid.allmydata.org:3567/uri/URI:DIR2-RO:j74uhg25nwdpjpacl6rkat2yhm:kav7ijeft5h7r7rxdp5bgtlt3viv32yabqajkrdykozia5544jqa/wiki.html#2009-02-06). + * Abstract out the server selection part of Tahoe-LAFS so that the projects in this category of "grid membership and server selection" can be mostly independent of the rest of Tahoe-LAFS. See also [this note about standardization of LAFS](http://testgrid.allmydata.org:3567/uri/URI:DIR2-RO:j74uhg25nwdpjpacl6rkat2yhm:kav7ijeft5h7r7rxdp5bgtlt3viv32yabqajkrdykozia5544jqa/wiki.html#2009-02-06). * Write a GUI to visualize and manipulate the set of servers connected and the set holding shares of files. ## Networking Improvements @@ -52,7 +47,7 @@ Please read this page on the PSF wiki about [what will be expected of you](http: ## Building Things On Top Of Tahoe * an interactive tree browser web frontend in JavaScript (Nathan has written most of one -- what can it grow into?) * Extend and improve the `tiddly_on_tahoe` implementation. - * Port another light-weight open source web app to Tahoe+javascript (calendar, photo album, [Bespin](https://bespin.mozilla.com)). + * Port another light-weight open source web app to Tahoe-LAFS+javascript (calendar, photo album, [Bespin](https://bespin.mozilla.com)). # Mentors *Who is willing to spend about five hours a week (according to Google) helping a student figure out how to do it right?*