This document discusses distributed source control and how it differs from traditional centralized source control. It covers the aims of source control like maintaining a central repository and history of changes. It describes tools for distributed version control like Git, Mercurial and Bazaar. It discusses features like fast local branching and merging, and how distributed systems think in terms of snapshots rather than changesets. It also covers supporting tools for collaboration, bridging between systems, and tracking relationships between repositories.