Recomendo o SVN em vez do CVS, é mais simples e mais eficiente.
Sobre a construção do programa o ideal é conhecer algum sitio/empresa que tivesse interessado em utilizar, estes programas só têm futuro se forem desenvolvidos com as necessidades de quem vai utilizar, por vezes nós programadores não percebemos bem essas necessidades.