Unison is a free, open-source bidirectional file-synchronization tool for Linux, macOS, and Windows created by Benjamin Pierce at the University of…
Unison is a free, open-source file-synchronization tool originally developed as a research project by Benjamin C. Pierce at the University of Pennsylvania. It lets two replicas of a folder tree, located on different machines or different disks, be edited independently and then brought back into agreement by propagating changes in both directions.
Unlike a simple mirroring or backup tool, Unison performs true bidirectional synchronization. It tracks the state of each replica between runs, so it can tell which side changed a given file since the last sync, propagate non-conflicting updates automatically, and clearly flag any file that was modified on both sides so the user can decide how to resolve it.
The tool runs on Linux, macOS, Windows, and other Unix-like systems, and is distributed as free software under the GNU General Public License version 3, with full source code hosted on GitHub.
Unison uses an rsync-style compression algorithm to transfer only the changed portions of large files, which keeps synchronization fast even over slow or metered connections. Transfers can run over a direct socket or through an encrypted SSH tunnel for security on untrusted networks.
It is resilient to interruptions: if a synchronization run is stopped partway through, by a network failure or otherwise, Unison leaves both replicas in a well-defined, recoverable state rather than a corrupted one. As of version 2.52, different builds of Unison can synchronize with each other, removing the earlier requirement that both machines run identical versions compiled against matching OCaml libraries.
Users can operate Unison purely from the command line, which makes it easy to script and schedule, or use an optional GTK-based graphical interface on Linux and Windows for interactively reviewing and resolving conflicts.
Unison is entirely free and open source. There are no paid tiers, subscriptions, or commercial editions -- anyone can download, use, modify, and redistribute it under the terms of the GNU General Public License version 3.
Because it is self-hosted between the machines the user controls, there are no server or hosting fees inherent to the tool itself; users only pay for whatever infrastructure they choose to run Unison on.
It is used to keep two copies of a folder in sync across two computers, propagating changes made on either side and flagging genuine conflicts.
Yes, it is free and open-source software distributed under the GNU General Public License version 3.
It was created by Benjamin C. Pierce at the University of Pennsylvania, with later development by Trevor Jim, Jerome Vouillon, and other contributors.
No, Unison is typically run on demand or via a scheduled task rather than continuously watching for changes like Syncthing.
Unison runs on Linux, macOS, Windows, and other Unix-like systems.
Yes, it supports synchronization over an encrypted SSH tunnel in addition to direct socket connections.
Rsync mirrors files in one direction, while Unison performs full two-way synchronization and detects conflicting changes on both replicas.
Since version 2.52, different Unison versions can interoperate, though matching versions is still recommended for best compatibility.