Acredito que nenhum projeto sobrevive sem um bom controle de versão, e diria até que é impossível manter o mínimo de sanidade mental dos colaboradores de um projeto quando há modificações em um mesmo arquivo por mais de uma pessoa sem uma ferramenta destas.
Existem vários sistemas muito bons e gratuitos (Subversion, Git e Mercurial) que estão disposição de qualquer programador para que este registre as alterações no código fonte e inclusive mantenha versões paralelas (branches). Não é necessário nem passar trabalho para instalar um servidor público se quiser versionar um projeto seu e de seus amigos, há alguns servidores gratuitos para projetos de código aberto que são muito fáceis de utilizar (Assembla e Github).
Basicamente um sistema de controle de versão guarda datas de modificação, arquivos modificados, o usuário de versionamento e uma mensagem deste que submeteu a mudança. Isso já parece ótimo para a maioria dos programadores, e convenhamos, já é o suficiente para quem gosta de saber o que se passa sem ter que perguntar a ninguém.
O Gource http://code.google.com/p/gource/) é um aplicativo para visualização gráfica de todo o histórico de versionamento de um projeto, e ele pode ler informações de um repositório Subversion, Bazaar, Mercurial ou Git para criar belas imagens da interação dos usuários com os arquivos/pastas.
Fiz alguns testes com alguns repositórios que já existem a mais de 4 anos na empresa que trabalho e os resultados são muito interessantes, é possível ver onde as funcionalidades que os desenvolvedores mais trabalham e observar o impacto nos arquivos em cada modificação enviada pelos usuários, a criação de branches é outro espetáculo.
A ferramenta também lê arquivos de log em um formato específico, assim você pode criar uma ferramenta que converta outro log em informação que pode ser representada nos mesmos moldes.