GNUnet offers P2P File Sharing, but no sync yet. So let's look at some alternatives.
syncthing
link : https://github.com/calmh/syncthing
Under active development in Go, syncthing claims to be an open BitTorrent Sync alternative. It does specify a protocol Block Exchange Protocoland a reference implementation. At this stage of development, the following features are implemented
The formation of a cluster of nodes, certificate authenticated and communicating over TLS over TCP.
Synchronization of a single directory among the cluster nodes.
Change detection by periodic scanning of the local repository.
Automatic discovery of cluster nodes.
Handling of deleted files.
HTTP GUI
RetroShare
A decentralised communication platform that allows file sharing.
Features
peer discovery with DHT
NAT traversal
encryption and authentication with PGP OpenSSL
gui to manage friends groups
additional functionality like chat, groupchat, voip... I think it is nice to have chat and shared folders at the same place. This would enable fast collaboration.
Retroshares core "libretroshare" is written in C , and runs on every platform with sockets and a file system
Retroshare-gui uses Qt and runs on win, linux, mac
Plugins can use the secure link to send/receive data to/from peers.
Resumable transfers and swarming
Pros
no worry about finding peers or securing the connection
Retroshare has a community of developers, testers, translaters and packers. So we could concentrate on the main thing: how to get different states of a folder in sync.
Link : http://retroshare.sourceforge.net/
Other softwares list @ http://libreplanet.org/wiki/Group:SyncReplacement#Free
Project under development : http://libreplanet.org/wiki/Group:SyncReplacement
Which OS you need it for? Have you considered Ceph distributed FS? – Sergei – 2016-10-11T18:32:49.943