Restic is the winner. It talks directly to many backends, is a static binary (so you can drop the executable in operating systems which don’t allow package installation like a NAS OS) and has a clean CLI.
Kopia is a bit newer and less tested.
All three have a lot of commands to work with repositories. Each one of them is much better than closed source
proprietary backup software that I have dealt with, like Synology hyperbackup nonsense.
If you want a better solution, the next level is ZFS.
You can consider something like syncthing to get the important files onto your NAS, and then use ZFS snapshots and replication via syncoid/sanoid to do the actual backing up.
Or install ZFS also on end devices, and do ZFS replication to NAS, which is what I do. I have ZFS on my laptop, snapshot data every 30 minutes, and replicate them. Those snapshots are very useful, as sometimes I accidentally delete data.
With ZFS, all file system is replicated. The backup will be consistent, which is not the case with file level backup. With latter, you have to also worry about lock files, permissions, etc. The restore will be more natural and quick with ZFS.
I can't speak to zfs but I don't find btrfs snapshots to be a viable replacement for borgbackup. To your filesystem consistency point I snapshot, back the snapshot up with borg, and then delete the snapshot. I never run borg against a writable subvolume.
Same here: my selection boiled down to Borg vs. Restic. I started with Restic because my friends used it and, while it was perfectly satisfactory functionally, found it unbearably slow with large backups. Changed to Borg and I've been happy everafter !
What is a "large" backup? Slow to backup locally or slow to backup over a network? (obviously you are not saying its slow without understanding the network is inherently slow, but more along the lines of maybe its network protocol is slow.)
Those were only about 10 TB - home scale, and over SSH across 2 to 10 ms. I was coming from rdiff-backup, which satisfyingly saturated disk writes, whereas I didn't even understand what bottleneck restic was hitting.
Kopia is awesome. With exception to it’s retention policies, but work like no other backup software that I’ve experienced to date. I don’t know if it’s just my stupidity, being stuck in 20 year thinking or just the fact it’s different. But for me, it feels like a footgun.
The fact that Kopia has a UI is awesome for non-technical users.
I migrated off restic due to memory usage, to Kopia. I am currently debating switching back to restic purely because of how retention works.
I don't know about the other two but restic seems to have a very good author/maintainer. That is to say that he is very active in fixing problems, etc..
I picked Kopia when I needed something that worked on Windows and came with a GUI.
I was setting up PCs for unsophisticated users who needed to be able to do their own restores. Most OSS choices are only appropriate for technical users, and some like Borg are *nix-only.
They are so similar in features. How do they compare? Which to choose?