Antonio,
MKS is a decent tool for file-based version control. It does offer some
features beyond what CVS including:
1) Security policy using their Security and Administration Module (SAM) on
a per-project and/or per-user basis
2) *Automatic* file type detection (ASCII vs Binary)
3) Option to store binary file revisions as complete files (not deltas)
4) Good GUI
5) Possible integration with their MKS Track Integrity problem tracking
tool (haven't tried it out)
6) Good technical support
I've not used their internet add-on, but I think you would probably need to
use that if you have remote developers. The standard MKS Source Integrity
product does not (to my knowledge) have a remote protocol - you must "map" a
drive, which as we all know, can be problemmatic over remote links.
To CVS's credit, you'd probably be giving up:
1) Project-level merge capability (particularly automatic add/remove of
files)
2) A consistent command line interface for both local and client/server
modes
On a design point, MKS stores project metadata in versioned project files
which essentially contain the project's Bill Of Materials plus revision
numbers. This is used as the foundation for determining if files are
out-of-date, and is the basis for determining branch points for "variant
sandboxes". However, it is important to check-in and version these
project files periodically to guarantee you have the ability to create a
branch point. I think CVS is more flexible on this point - CVS is able to
provide the same functionality using only tags in the archives (and whether
an archive is in or out of the Attic).
I've used both, and I like both. However, if it were me, I'd stick with
CVS, mainly due to its proven track record in my experience of providing
reliable, efficient transfers and consistent functionality for remote
developers, since that is a critical capability you need.
David