Back to resources
I Like CVS but it has a single point of failure, which if you want to colaborate with _them_ needs to outside your firewall.

I wanted a system which was like CVS but was peer to peer. Backup goes someway to solving this problem. Backup's stratergy is as follows:

backup is smart enough to resolve conflicts between RCS files, if it detects conflicts in other files it emails the responsible people with a diff of the conflict and asks them to fix it.

I use backup to keep all my software on all my computers up-to-date, it works well - I can grab my laptop and it will have current versions of all the code I'm currently working on. When I get home it will update the copies on my other machines.

Backup has some serious deficiencies - it doesn't scale at all well - and I've not tried it in a multi user situation - i suspect it would fail badly - it doesn't have nearly enough file locks.

anyway you can have a look at the code