Hola:
Gratuitas tienes Subversion y CVS. La segunda es más antigua y se supone que está siendo reemplazada por la primera, pero yo creo -es mi opinión- que le está costando.
Subversion permite, sin embargo, algo que no permite CVS y es el usar un servidor web -apache- como servidor de versiones, por lo que en el mundo de los proyectos libres en internet sí que se ha impuesto.
Salvo montar el servidor, que es totalmente distinto, la forma de trabajo es muy similar. Aquí tienes un
ejemplo de cómo se trabajaría con CVS. En subversion cambian los comandos, pero son iguales los conceptos.
En cuanto a cosas gordas que son distintas entre ellos:
- El respositorio de CVS es una estructura de directorios y ficheros similar a la del proyecto. El de subversion es una especie de base de datos binaria. En el primero podrías tocar cosas a mano directamente en el repositorio, mientras que en subversion no puedes.
- CVS no permite mover ficheros/directorios conservando la historia ni permite borrar directorios una vez creados. Subversion sí lo hace.
- CVS tiene el concepto de módulo o proyecto, de forma que en un mismo repositorio puedes meter varios proyectos independientes. Subversion no tiene este concepto, pero lo suple haciéndote crear un subdirectorio por proyecto.
- CVS tiene el concepto de etiquetas y ramas, de forma que puedes marcar todo el código fuente en un momento dado para recuperar esa versión luego e incluso modificarlo y hacer ramas separadas. Subversion no tiene este concepto, pero lo suple haciendo copias enteras del proyecto dentro del repositorio. Son copias "perezosas": se marca que se ha hecho una copia y no se hace realmente hasta que se modifica algo, así que no se gasta mucho más disco duro que en el caso de CVS.
Salvo que quieras algo profesional de pago, yo probaría un poco los dos para ver con cual te sientes más cómodo.
Se bueno.