I'm doing a Kickstarter! The plan is to take git-annex and use it as the foundation to build a DropBox-like application, that can be used without any knowledge of git. The other part of the plan is for me to get through the summer with my finances intact. :)


My Kickstarter page explains in more detail, but the basic idea is to make git-annex watch a directory, with inotify, and automatically add and sync files placed there. Then build a local web app to control and configure it. I have a working prototype of the inotify part already; getting the distributed syncronisation to work well will be a major challenge; and overall it's going to be a challanging but I think very achievable project.

One thing I'm really excited about is the potential of Kickstarter to connect me with a diverse group of potential users, who are interested enough in a distributed and autonomous equivilant to DropBox to fund my project. Because, with luck, their involvement won't stop at giving some money, but will extend to actually using what I'm developing, and giving me feedback on it.

I hope this will widen the sphere of git-annex users, beyond the current very technically inclined crowd. It's awesome to have users doing things like taking git-annex on the transiberian railroad to help manage all their photos, and others using it to store scientific data ... but getting more regular folks using git, even if they don't know about it, is something I'm very interested in.

xkcd-esque drawing

BTW, I was surprised how much I got into doing the video for the Kickstarter. Using xkcd-style drawings used to explain technical concepts is a medium I enjoy working in. My own git-annex is stuffed with 17 gigabytes of video clips -- 99 separate takes! -- that boiled down to a 2 minute video.

Anyway, please consider backing me if you can, and more importantly, do anything you can to help spread the word. Thanks!

have you considered using thoughts and conepts from dvcs-autosync? it uses xmpp for the backend communication between clients and such. written in python to be crossplatform. I haven't used it for anything serious ut it looks pretty much like something I need. (syncing my document directory with a "always" online server. Just a thought =)
Comment by Martin
comment 2
In fact I will probably be making another post with some thoughts about sparkleshare, dvcs-autosync, and sharebox. None of them quite hit where I'm aiming for, but they all have something to teach, and so many projects in this space is one reason I felt there'd be enough interest to merit a Kickstarter .. which is nearly 20% funded already!
Comment by joeyh.name
local syncing
You mention several times in your pitch that one benefit over dropbox will be the ability to sync directly between computers on the same network. Dropbox does have that feature; they call it LAN sync.
Comment by Wichert
comment 4

Figures.. I've not used DropBox myself. I see it works by both nodes communicating to their server, rather than truely decentralized, so won't work if the network is not connected to the internet.

BTW, another innaccuracy in my video seems to be that I'm asking for significantly less money than Google Summer of Code students are given these days. Silly me..

Comment by joeyh.name
local syncing
It might still work without a network connection - I haven't tried that actually but I expect that to work. Of course it isn't really decentralised since you do need the central thing to configure the client and it'll sync to the dropbox cloud when you do have a connection, and it would be nice to not have that requirement.
Comment by Wichert
"Like DropBox"?
I have not used DropBox either because it is non-free. However, if you are going to to advertise your solution as "Like DropBox" then I think it might be a good idea to spend an afternoon getting to know DropBox.
Comment by lindi
Might I use the opportunity to suggest fanotify for this project? Supposedly it wants to supersede inotify somewhen in the future anyways and it should scale way better than the latter with large file bases.
Comment by fionn
comment 8

Well, I did look into using fanotify, but it's not in glibc yet, is it? Also I could find little documentation.

Inotify sucks, but I have tamed the suck in my prototype. But I do hope to switch away from it. My code for it will need to be modular/per-OS anyway.

Comment by joeyh.name
your opinion about DropBox-like ?

I am looking for a solution for a free dropbox which is useful in a nomad life. So I am really interesting by your opinion (a post) about solutions such as sparkleshare or dvcs-autosync.

And obviously, I am patiently waiting the release of your project based on git-annex (and thanks! for this tool).

Comment by zimon