I have a family member currently using Windows live mesh to sync a relatively large amount of files between computers. It is way over the Ubuntu One 5 GB limit and the Live Mesh 2 GB limit. However, Live Mesh gives him the options of syncing all the data he wants without storing it on Microsoft's servers. Does Ubuntu One have an equivalent option, performing just the sync computer-to-computer and not computer-to-server and server-to-computer? Do you have other recommendations? It does not necessarily have to be Ubuntu One, but I need it to be cross platform, working across Windows and Ubuntu. We also have computers outside of uour home network we need to sync to. This is one of the few things keeping him from switching to Ubuntu, and I'd be very grateful for any help.
In Unix, a "standard" program to synchronize directories on two machines is
Rsync is a fast and extraordinarily versatile file copying tool. It can copy locally, to/from another host over any remote shell, or to/from a remote rsync daemon. It offers a large number of options that control every aspect of its behavior and permit very flexible specification of the set of files to be copied. It is famous for its delta-transfer algorithm, which reduces the amount of data sent over the network by send‐ ing only the differences between the source files and the existing files in the destination. Rsync is widely used for backups and mirroring and as an improved copy command for everyday use.
As you don't want to involve any intermediate servers in the process, one of the issues you'll have to deal with is configuring some sort of port forwarding to enable direct access to one of the machines from internet (provided the machines you want to sync are in different local networks). From there, everything should be quite straightforward.
Another option mentioned in this answer to a similar question is Unison - using it over internet would also require configuring port forwarding. Which, generally, is a must for any server-less solution.