Open source, everything else is too risky! Code asserts are too important to suffer even from a very remote possibility of license limitations.
Also, by some reasons, open source systems tends to be non-obtrusive, which is kind of problem with commercial ones.
I would vote for Subversion. Even though it is not the most advanced (it is not distributed) and does have some problems, it is the most popular and quite versatile. Most important thing is: if you choose more advanced distributed system (I would think about Bazaar, Mercurial, Git), it will work with your Subversion database -- Subversion compatibility is considered as a major requirement.
Selection of best system is not the final decision. You will need to select a platform to host the service, decide if you prefer in-house server or 3-rd party hosting, protocol and level of security settings. Usually, there are more then one variant of distribution for each platform. A client part is a matter of preference of each individual developer. For Subversion on Windows, most popular is perhaps TortoiseSVN, it is also very non-obtrusive, build over Shell API (it means it can work on top of Explorer or any other shell-based commander like Total Commander). There are similar products (of the same team) for major Revision Control Systems. Visual Studio integration packages are also available (not that I like this approach though).
Bazaar, Mercurial, Git: those are Distribute Revision Control Systems. Such systems are very beneficial over centralized (see http://en.wikipedia.org/wiki/Distributed_revision_control
], some more systems are listed). I did not use them in production only because at that time Subversion was more mature. I hope, the shortcomings I saw years ago might me eliminated these days (who has this experience, please comment), so those systems deserve serious consideration.
What's good about Open Source Revision Control Systems, is that the mere fact that Revision Control, code base integrity and cooperation are so vitally important, the community licks clean every single issue, especially if it comes to data safety. I mean, even if I see glitches in software, I can be sure that is has nothing to do with safety of our code base. Also, documentation is much better compared to any commercial system I ever saw (surprise?).
And the support from community is amazing.