See also [wiki:GSoCIdeas2010] and [wiki:GSoCIdeas2009] Hey prospective GSoC students! You want us, the mentors of the Tahoe-LAFS project, to choose to sponsor your GSoC project instead of some other student's project, right? Well, here's how to rocket to the top of our list in three easy steps: 1. Browse through the "Suggested Summer-of-Code Projects" list below. 2. Then, explore our [//trac/tahoe-lafs/wiki/ViewTickets issue tracker], [//trac/tahoe-lafs/roadmap Roadmap], and [//pipermail/tahoe-dev/ mailing list archive] and find a *different* project that you're interested in, that is not on the list below. 3. Then, join irc.freenode.net channel #Tahoe-LAFS, or attend our WeeklyMeeting and talk over the idea of working on that *different* project for GSoC 2013. You might end up working on one of the projects below even after going through this process. But any student who seriously digs into their own project idea, as outlined in the three steps above, will be preferred over a student who merely applies to do one of the projects below. = Tahoe-LAFS Suggested Summer-of-Code Projects = ||''Project''||''Tickets''||''Difficulty''|| ||[#ShareRebalancingandRepair Share rebalancing and repair]||#699,#232||tricky|| ... to be filled in... == Share Rebalancing and Repair == Tahoe-LAFS is not as robust with regards to lost or corrupted shares as it could be. In part, this is because the repair functionality is limited in its efforts to spread shares out among new servers or servers which did not previously hold a given share (#699, #1130). In addition, mutable files do not spread out to new servers upon modification (#232). The servers-of-happiness metric is also not uniformly applied, with some operations succeeding even though an entity is not happy ([https://tahoe-lafs.org/trac/tahoe-lafs/query?status=!closed&keywords=~servers-of-happiness&order=priority bugs]). A Summer of Code project might tackle repair and rebalancing, ensuring that servers-of-happiness is met whenever possible on any upload, repair, or mutable modification. The notes on ServerSelection and related configurations may also be relevant here.