The argument seems backwards to me.
Given that a centralized revision control system is just one of many use cases of a distributed system, how does applying such a restriction benefit the company?
I know from experience that when a p4 server gets slow or breaks or you get too far away from it or something, everybody who's using it has to stop working.
People like to treat the "plane" argument as a bit of a strawman, but I've been there where it really mattered. On site at an interop event or customer demo where we have to build something now in an environment with limited network support and all that work has to come back and I want to be able to revert when I make mistakes.
The two arguments that I've heard don't ring well to me:
- can't take all the code and run.
- locking
Number 1 is just stupid. Maybe it's slightly harder to get the full history (and if I can't, there's not a revision control system anyway), but when it comes to the kind of fear we're talking about here, I can just grab the latest revision and it's just as dangerous.
Number 2 really seems like trying to use the wrong tool for the job. I used to get anti-CVS arguments from RCS users because they really thought you should lock every file every time to prevent two people from, I don't know, working.
Communication is out of band. If you have large, unmergeable files, it's OK to talk about them, I think. IMO, many of the people with this problem don't want a revision control system, but a snapshotting filesystem (zfs, 9fs, Drop Box, etc...).
In general, though, I don't understand why people even ask the "Why should I give my developers tools that are cheaper, faster, more reliable, more robust, and make them more productive?" kinds of questions.