subcomponent into Duplicati without access to the source or any need to modify Duplicati itself. The license type is also flexible enough to allow redistribution of Duplicati with a closed-source storage provider. Duplicati is designed to be as independent of the provider as possible, which means that any storage medium that supports the common commands (GET, PUT, LIST, DELETE) can work with Duplicati. The Duplicity model, on which Duplicati is based, relies heavily on components in the system, such as librdiff, TcFTP and others. Since Duplicati is intended to be cross-platform, and it is unlikely that all those components are available on all platforms, Duplicati re-implements the components instead. Most notably, Duplicati features an rdiff and AESCrypt implementation that work on any system that supports a Common Language Runtime. Limitations of Duplicati 1 The GUI frontend in Duplicati 1.x is intended to be used on a single machine with a display attached. However, it is also possible to install Duplicati as a Windows service or Linux daemon, and set the Duplicati system tray from starting the Duplicati service. This limitation has been addressed in Duplicati 2, which has a web interface and can be used on headless systems. Duplicati 1.x has extremely slow file listings, so browsing a file tree to do restores can take a long time. Since Duplicati produces incremental backups, a corrupt or missing incremental volume can render all following incremental backups (up to the next full backup) useless. Duplicati 2 regularly tests the backup to detect corrupted files early. Duplicati 1.x only stores the file modification date, not metadata like permissions and attributes. This has been addressed in Duplicati 2. See also List of backup software References External links 2008 software Free backup software Free software programmed in C Sharp