Average users could get so much value out of a simple and intuitive p2p file-syncing service that is as polished as ResilioSync (formerly BitTorrent Sync), provides revision control on arbitrary files like Abstract (version control for designers) (https://www.goabstract.com/), but open source like LibreVault & SyncThing, plus backed by a distributed revision/version control system (DRCS/DVCS)¹ like SparkleShare. This would be priceless for science, design, all sorts of collaborative workspaces, and especially for backups and data redundancy.
Currently, git-annex
depends on Tor and Magic
Wormhole to
share/collaborate/sync with others. There is
Hypercore by
Holepunch, but Named Data Networking
(NDN)
(video) offers a more robust internet
backbone.
Even better, there was an experiment for "Distributed Git over Named Data
Networking" and
npChat,
and now Ownly exists. Could
git-annex
provide a revision control system and set the foundation—pave the
way—for the perfect file synchronization/sharing app?
¹ Although, it might be nice to use Pijul, which has efficient binary diffs and hopefully someday also word-by-word d iffs (for example, to be the revision control system for a wiki)
treating this as a duplicate of generic p2p socket transport; done --Joey
Honestly, your message somewhat triggered my internal spam filters. In particular, its linking to multiple proprietary services adjacent to glowing language about them. Also the very similar language and linking in your post at https://github.com/named-data-mobile/ndn-photo-app/issues/186.
For this reason, I have removed some hyperlinks from your post. While I think, on review, that you are acting in good faith, I also think it's important you understand a post like this can cause that kind of reaction these days. And removing the links will thus help no matter what.
There is actually an open todo at generic p2p socket transport which I think could probably be used to implement what you are envisioning.
So my suggestion is you review that proposed design and see if it would support the use cases you are envisioning. And if not, what changes would need to be made.
I see, I tend to cite as much as possible, and only reference proprietary software because sadly there is plenty that has no similar libre option. I have removed the resiliosync link as well because its name is unique enough to look up, but left the Abstract reference as you put it since it is a generic name that may be hard to find otherwise.
Thanks for the link // deduplication—will use that ticket now