Git con código propietario

Estoy considerando pasar de un sistema de versión centralstorage a git. ¿Alguna vez me preocupa cómo afectará esto a la security del código fuente? Sé que los sistemas de control de versiones no son realmente mi problema aquí. ¿No puedo evitar preocuparme sobre cómo la disponibilidad del código fuente puede afectar la forma en que los desarrolladores lo manejan? ¿Alguien tiene experiencia con esto? ¿Se incrementan los riesgos de fugas al pasar a sistemas de versión distribuida? ¿De qué debo preocuparme más específicamente? ¿Y qué se puede hacer para mantener segura mi fuente?

Una vez que alguien tiene una copy de su código fuente, ya sea git, svn o alguna solución de gama alta, siempre corre el riesgo de que alguien la copie. Git le da a la persona que lo robó más historia que otras soluciones de control de fuente.

Dicho esto, usamos gitolite y puede usar la administración de keys ssh para controlar quién puede acceder a repositorys individuales y qué controles de acceso pueden tener. También puede implementar ganchos en el server para registrar el uso.

No estoy muy familiarizado con la mayoría de los sistemas de control de versiones centralizadas, principalmente solo svn . Pero al less con eso, los desarrolladores aún tendrían acceso a toda la historia del proyecto pidiéndole al server que lo haga. Incluso podrían usar git-svn para crear su propio repository de git con ese historial.

Incluso si hubiera algún sistema de control de versiones que impidiera el acceso al historial, los desarrolladores aún necesitarían poder get una copy completa de la versión actual que probablemente tenga la gran mayoría del valor.

No hay una forma de marcar quién comprobó una copy, e incluso si existiera, no habría nada que impidiera que alguien que deseaba liberar ese código en contra de los deseos eliminara dichas marcas.

La security es la misma para un VCS distribuido que para uno centralizado. La mayoría de las personas ejecuta Git como un VCS centralizado también, definitivamente se presta bien a esto. La única diferencia es que el historial de versiones está disponible para los clientes locales.

Se podría agregar un gancho para verificar quién está haciendo qué en el repository si es de grave preocupación.