Hacker News new | ask | show | jobs
by acrosync 3301 days ago
Developer here. Duplicacy is built on the concept of Lock-Free Deduplication (https://github.com/gilbertchen/duplicacy/blob/master/DESIGN....), which allows it to backup multiple computers to the same storage without using any locks. Currently it supports local or networked drives, SFTP servers, Amazon S3, Backblaze B2, Microsoft Azure, Google Cloud Storage, Google Drive, OneDrive, Dropbox, and Hubic.

I recently released the source code under the Fair Source 5 License (https://fair.io/) which means it is free for individuals or businesses with less than 5 users. Otherwise the license costs only $20 per user/year.

Questions and suggestions are welcome.

4 comments

From the link to the license:

> Fair Source has the power to promote diversity within the developer community. To date, contributing to open source has been an expensive proposition for developers. You have to have a stable income and a lot of extra time to work on side projects for free, which means talented developers from underprivileged backgrounds often aren’t able to contribute. Fair Source allows developers to monetize their side projects, which means more people can afford to join the ranks of developers who pursue these initiatives.

I find it funny that some people feel a need to justify charging money for something by coming up with bogus social justice rationalizations.

I agree that people don't need a justification to charge money, but the rationale isn't bogus—it is hard to contribute without a stable income, underrepresented groups in tech tend to make less money in general, and getting paid could help that.

I'm not sure this license is the way to go, though. Unusual licenses tend to turn people off, and it's not clear how profits from this license would go to contributors.

Completely disagree that the reasoning is bogus.

I object to the name. It is clearly an attempt rebrand proprietary licensing by capitalizing on associations with open source. Trademark law of course doesn't apply, and I wouldn't want it to if it did, but this is pretty much the definition of causing confusion in the marketplace.

There are two features that I need that are difficult to setup with most backup systems.

    1. Does this support encryption? 
    2. Can this do one-command restore of files to a previous revision or day?
Yes and Yes.

Duplicacy follows the git/hg command model. To initialize the repository (the backup to be backed up), run the init command:

  duplicacy init repository_id storage_url -e
The -e option turns on the encryption.

To backup:

  duplicacy backup
To restore:

  duplicacy restore -r revision_number [files]
Does Duplicacy use the filesystem events APIs like FSEvents on macOS to minimize the need for a full scan on every backup? CrashPlan has a lot of issues, but this is one of its best features.

Also, how do you see this as being different from Duplicati and Arq?

Duplicacy doesn't use the filesystem events APIs. Instead, it checks the timestamps and sizes to identify modified files and only back up these files by defaults.

The main use case supported by Duplicacy but not any others including Duplicati and Arq is backing up multiple clients to the same storage while still taking advantage of cross-client deduplication. This is because Duplicacy saves each chunk as an individual file using its hash as the file name (as opposed to using a chunk database to maintain the mapping between chunks and actual files), so no locking is required with multiple clients. Another implication is that the lock-free implementation is actually simpler without the chunk database and thus less error-prone.

one of our users wrote a long post (https://duplicacy.com/issue?id=5651874166341632) comparing Duplicacy with other tools including Arq, based on his experience. I also added a comment to that thread comparing Duplicacy with Arq based on my read of their documentation.

In the 'Comparison' section of your readme, can you add in an entry for NetApp's Altavault?