Gitdocs: Open-source Dropbox using Ruby + Git
rubyflow.com
rubyflow.com
However, all four things that make Dropbox Dropbox for me are missing:
* A UI so straightforward that my technophobic mother-in-law (or even a project manager) can use it
* Block-level sync (in particular, the rsync algorithm) with server-side dedupe on binary files (git is suboptimal in my experience on large binaries, and it's unclear whether this project resolves the issue). Incidentally, integrating that with simple versioning behaviour is what lifts dropbox into the "Ooh, clever, I see what you did there" category for me.
* Local-area peer-to-peer sync.
* Click-to-share instant access granting.
Building an open-source tool that has all four is on my to-do list. Unfortunately it's quite far down that list. Anyone else having a crack at it?
- Strictly RESTful interface (HATEOS, single base URL, server controlled namespaces)
- Simplicity over performance - easy to do everything on the command line using curl
- Supports block level transfers
So far this has stricly been for my own amusement/education - happy to write something up and put the code on github if anyone is interested.
While I was repeating myself a bit there I meant to get across that when I started I thought I knew what a RESTful interface was (nice URLs, HTTP GET/POST/PUT/DELETE) then I discovered that the term is used pretty loosely and a lot of what are described RESTful interfaces aren't really anything like what Roy Fielding meant.
I'll have to see if Gitdocs does anything like that.
It tries to copy the Dropbox conflict behaviour.
Although, if I'm reading this correctly, the logic isn't quite right. It uses the timestamp of the time when the conflict is detected, when it should really use the conflicted file's last-modified time, or maybe the timestamp of the conflicting commit.
http://www.cs.potsdam.edu/cgi-bin/man/man2html?1+git-merge#l...
For me the biggest draw of Dropbox is that it's not self hosted but that it's run by an entity that's 1) large enough to not go away any time soon, 2) fairly unscary (unlike, say, facebook), and 3) 100% dedicated to keeping the service running so I don't have to worry about my files anymore.
Self hosting only gets you 2).
Not simple, but possible.
This is very interesting indeed. I wouldn't mind paying for an OS X app that would take care of this problem (the setting up on each machine).