correct me if im wrong, but isn't distributed SCMs for OS projects while centralized SCMs are better for corporate/private projects?
cause with eg. mercurial anyone gets an exact copy of the repository with FULL history features, while with centralized you only get the latest working copy.
im more focused on private projects so i wonder if its better with centralized SCMs or doesnt it matter?
No, definitely not. This suggestion that DVCSes would not be suitable for the enterprise is pertinently false, a common FUD argument from people who for whatever reason have a desire not to abandon SVN.
In actuality, also in enterprise settings DVCSes give you many benefits:
With regard to that last one, you can give seasoned developers direct push access to the main repository, while for new or junior members their mentor pulls from them and review their changes before pushing them.
Tying in to the discussion in the answer above; in this way DVCSes give you more control over your repository, while with SVN generally the only real workable model is to give all contributors commit access to at least parts of the code.
You may have less fine-grained control over permissions for sections with the code, however you can give different groups (e.g. documentation team) their own clone of the main repository, and merge it back periodically after review. Or put the documentation in a whole different repository altogether.
Often you need to un-learn practices you learned with centralized VCSes, go back to the use cases and what it is that you want to do, and then consider how a DVCS could empower this.
A very good article to read to get insight in the differences between version control systems is Making Sense of Revision-Control Systems.
You can use a DVCS (like mercurial) in large corporation.
The limits of a DVCS compared to a VCS are essentially:
That said, DVCS allows for a new way to publish (pull/pull) data, which can help for inter-teams "pre-deliveries" (when a team want to share development even though there are still in progress and not yet officially committed to the central repository): you become a passive produced and an active consumer.
Tomislav Nakic-Alfirevic asks in the comments:
The right access management is tricker, especially if the large corporation:
In those cases, that means:
(the group of a file for instance might not exist on a given computer where the repo is cloned)
(metadata from other tools are not transparently supported)
(special characters in filenames can be problematic)
Git for instance is a bit too simple to answer directly large corporation concerns: