I saw the ticket for the hosting request for SparkleShare and was immediately interested. I've actually been scoping out in my mind a very similar project for the last couple months (though I haven't found the time to implement anything yet).
So I figured I'd share my thoughts on it, and possibly get involved in this project.
First, a little background on my potential use-cases for such a project. (Maybe they match SparkleShare's, maybe they don't). I work on a project called SSSD (the System Security Services Daemon). This project is designed around the idea that pretty much everyone has a laptop these days, and without the SSSD, you are generally forced to keep a separate local user for the laptop so you can use it when not connected to the corporate network. With the SSSD, you gain cached offline login, so it's possible to use the same account online and offline (less juggling of accounts that way).
But something that we haven't solved yet is that many companies prefer to use shared home directories so that a user who logs into any random machine has access to all of their files. Generally, this is done using NFS, so the information is immediately available to any network-connected computer. But this doesn't address the laptop case. So one use-case I can see for something like this is to enable essentially an offline cached home directory.
Now that we have some idea of what I'd like to do with it, let's talk a little about implementation. SparkleShare should run as a daemon, whose primary purpose is to set up and maintain inotify on all (or more likely a selected subset) of the files on the NFS share for a user. These files should be checked into a per-user git repository (e.g. git://gitserver.com/13041.git, where 13041 is the user's UID). Then, SparkleShare on the laptop would poll the git server regularly for changes and apply them to the local user's home directory.
Now, here's the tricky part about this approach, and the one that I haven't worked out completely yet. If the laptop is connected directly to the network, it should mount the home directory from NFS. If it is operating in disconnected mode, it should mount the cached version from SparkleShare. Thus, a user on the go will be able to maintain access to their most important files.
As I mentioned above, I think a SparkleShare-enabled home directory would need to be configured such that it was possible to exclude files from automatic syncing. Perhaps the default could be all files in /home/username except for those in /home/user/dontsync (as well as certain special-case filenames like those ending in ~ or other special filenames that denote temporary files.
Obviously, this would be a more advanced use-case than the simple DropBox replacement that SparkleShare is probably targeting at first, but I think it would be way to expose the project to a wider audience, and solve a long-standing problem.
sparkleshare-devel@lists.stg.fedorahosted.org