I ran across a new distributed SCM the other day: Mercurial. I like the ideas behind distributed SCMs, because they allow anyone to start making patches in their own workspace and track those patches as if they had commit access to the “main”. As a developer it’s also nice to be able to track a big refactoring on my local machine as a series of little patches and not have to worry about breaking the build for everyone while stuff is getting fixed.
Mercurial is easy to install and has a nice command-line syntax (compared to alternatives like Arch – blech). All you need is Python. There’s still some features missing, but for the most part it’s quite functional.