SparkleShare: Open Source Dropbox clone coming soon
sparkleshare.org
sparkleshare.org
I see the following obstacles with installing a server for sparkleshare:
1) You need a server. This might be obvious, but normal people don't have one.
2) You need to monitor your server. If the architecture is anything like dropbox it doesn't need to have 100% uptime since synchronizing will just be delayed a bit, but you still need to check in every now and then to make sure everything is OK.
3) Installing a server has never been easy. There is always some sort of problem with port forwarding, IP adresses, proxies, etc. unless you have a server somewhere in the cloud which most people don't. Normal people are barely aware of what a server is. See point 1.
4) Your backups are still your worry. What makes dropbox great is that I know that if they lose my data they have a serious business problem - they'll be held accountable. I'll write rants on my blog and everyone on HN will read it. They'll go through great lengths to prevent this. Besides their knowledge of backup procedures, RAID disks, redundancy and what have you is far far greater than mine. (At least I hope so :-)) If I host my files on my own server I'm the one that's accountable.
I see this as a great service for companies that have some IT staff and aren't comfortable having all their company files hosted by another company, and hackers that prefer their own server. But it's not a threat to dropbox, which is getting popular among non-techies. My mom even has dropbox installed.
But you'd only introduce more variables for the enduser. All of a sudden you'd have to decide which third-party service to sign up for, and many of them might just be a guy in a basement running the service to pay for college tuition. You'd have to check up on this before you know for sure.
The complete setup procedure for dropbox is as follows:
1) Navigate to dropbox.com
2) click download
3) doubleclick the file when you're done downloading
This is very hard to compete with in terms of ease of use. No strange choices to make, no weird preferences to fill out, no problems. It just works.
Isn't this the same for everything? What you seem to be advocating is that we centralize everything so that no one has to think or research when making purchases.
> This is very hard to compete with in terms of ease of use. No strange choices to make, no weird preferences to fill out, no problems. It just works.
But you have to decide to use DropBox in the first place. The crux of your argument seems to be that DropBox is easy because they are the only choice.
Using that logic, one could make the case that the entire Internet should run off of a single email provider with branded client software.
What makes dropbox so successful is the utter simplicity of something that used to be hard. The internet is littered with companies that have tried to solve this problem but didn't gain traction because it didn't just work. Dropbox is (to my knowledge) the first service of its kind that you install and forget. The thing that most people forget on HN is that 95% of the population don't even know what a server is - and they don't care.
The thing is, sadly, that open source has a pretty dismal track record of creating software that is easy and intuitive to use. There are many reasons for this. One is that open source software tends to be targeted towards developers instead of end users. Another is that it's often design by committee and mailing lists.
I'm not saying that this project doesn't have merit, or that it wont work. I'm just saying that they'll never be able to target my mom.
Uninformed question...I assume dropbox syncs machines via their server (ie: all data is synched up to their server first, then back down?) Or does it do peer to peer? (and if so, $9.95/50GB seems really expensive.) While less reliable, this would save them tons of bandwidth, and while it wouldn't work for some people, for me it would be perfect as I always have at least one machine that is on the net that would suffice for my master.
They sync directly to other machines over LAN and also send the files to their servers. Bandwidth is saved through other means. The files are split up into chunks for which they compare hashes. If a chunk has already been uploaded to their servers by ANY Dropbox user it won't get reuploaded again. This is especially effective for media sharing, because lots of people will download the same torrents and put them in their Dropbox folders to watch somewhere else.
However for what I use Dropbox for, I'd be perfectly fine if the "server" was just an old Windows box running out of my basement. If there's nothing more onerous than a port-forward it might be useful.
But either way I doubt the guys at Dropbox have anything to worry about. To hurt them this doesn't have to appeal to the average Dropbox customer. It only has to appeal to the average paying Dropbox customer. There's a big difference there, but probably not big enough to matter.
IMO, the biggest challenge of making this server-less is NAT traversal. Discovery is also a problem if this becomes an open standard.
Setting up an open SparkleShare server that can bridge traffic between two NAT'ed clients might be able to solve the problem. It'd be a plus if there was a way to take the bridging server out of the loop once data transfer starts (I don't know if that's technically possible though). The same SparkleShare server could be a default discovery server for new users, so they get a "it just works" experience (e.g., run the setup on two machines, with the same login credentials they find each other through the discovery server).
Designed correctly, the server-less and the hosted scenario should function the same - in a hosted scenario you just happen to always have one client online.
Q: Why is it written in Mono/C#? A: Because I hate freedom.
:)
There isn't much source code there though. It looks more like a proof of concept. I doubt anything is "coming soon" here.
Perhaps this was done to make it easier to port to other OS later?
Er, well, yeah, but you'd be polling almost constantly if you're trying to emulate what Dropbox does. I don't know exactly how Dropbox knows when I add or change a file -- I assume it ties in to the kernel. Also, rsync wouldn't work over HTTP, which is a big disadvantage in some of the environments I've been working in lately.
My big question, though: why isn't someone doing this for headless servers? Why do they always assume people just want this for desktops? At least you can hack a headless version of Dropbox on Linux.
There was rsync, there was unison, but none of them worked as transparently and flawlessly as Dropbox does. And now — we copy the successful entrepreneurs.
I somehow don't feel it is right — I would have loved for it to be the other way around.
Will we wait until somebody solves the other problems (E-mail, spam and E-mail attachments come to mind) and then copy their solution? Is that the best we can do?
I run the IT shop for a non-profit, which has just started to expand globally. I've been brought in to help ease the pain. We've got nearly everything web-based, except for the damn "shared drive". We just can't afford to set up a permanent VPN connection to all of our new offices (and all of the road-warriors)... nor do I want to.
I'm testing Alfresco now (http://www.alfresco.com/), which is basically an open-source SharePoint. It's web-based, with file versioning (and other bells and whistles) but best of all it emulates a SMB/CIFS share, so the transition is easy for the main office. Hopefully it works well and I can implement it.
But as an avid dropbox user, even this huge leap feels so old-school. It'd be great if remote users could "subscribe" to some of the folders, so they could work with files more quickly and offline. It's the future.
An open-source DropBox allows for corporate implementations ("my data stays on my servers" types), and also permits tie-ins to other open-source projects (like Alfresco). The service won't be as bullet-proof and smooth, but the mashups will be interesting.
Edit: DropBox should really offer corporate solutions. We're poor, and I think we'd spend money if I could sync our shared folders out to their servers, and let all my users access it from their beautiful web interface. That alone (without the client features) would be worth it.
Synctus is different from Dropbox and presumably SparkleShare because it focuses on emulating a single office SMB/CIFS share exactly, including locking so that synchronisation conflicts never happen - and this means that it needs each appliance to be usually-on (so road warriors still need to VPN in to access a particular share or use Dropbox or similar).
Sure beats fighting with windows replication, and has a lot of benefits over rsyncing.
I would suggest you to try the workspace application that comes with Tonido. Some NGOs are using it successfully to sync tasks, calendar, notes and files. The closest application that you can compare is microsoft groove.
> You agree not to do any of the following while using the Site, Content, Files or Services:
> o Post, publish or transmit any text, graphics, or material that: (i) is false or misleading; (ii) is defamatory; (iii) invades another's privacy; (iv) is obscene, pornographic, or offensive; (v) promotes bigotry, racism, hatred or harm against any individual or group; (vi) infringes another's rights, including any intellectual property rights; or (vii) violates, or encourages any conduct that would violate, any applicable law or regulation or would give rise to civil liability;
It seems to me to require you to (a) ignore it or (b) think very, very carefully about what files it is OK to backup (is it OK to back up a work of fiction? Then what does it mean that you will not back up material that is ‘false or misleading’?). I wrote them about this, but never received a reply.
If we don't need a "server" or do but all machines are servers just one is considered the gatekeeper, this is perfect. Just install everywhere and go.
CrashPlan will backup to your network (free), your friends (free), your external drives (free), and optionally to their servers (paid) all in parallel. Anywhere you install their software you can share a backup volume/folder and it is automatically visible to your other crashplan installs as a backup destination. On top of that you can use your own encryption key, so the data is protected even in case of a subpoena to the backup servers.