Cómo proteger mi software/código fuente para que no lo roben los programadores internos de una startup

Tu software y código fuente es la parte menos valiosa de tu startup. Puede matar tu negocio si lo pierdes, pero es probable que tenga muy poco valor para otros si adquirieron sólo la fuente. Fui arquitecto en una gran empresa durante dos adquisiciones que venían con mucha tecnología. En ambos casos, pasamos meses haciendo la debida diligencia para ver qué podía funcionar y qué podíamos utilizar. Encontramos maneras de hacer que funcionara y luego pasamos unos cuantos meses más para que funcionara bien. Nunca lo conseguimos del todo. Todo era ineficaz, al final tuvimos un equipo que contenía muchos de los desarrolladores originales que reescribieron la mayor parte del código fuente para trabajar con nuestra infraestructura y estándares y arreglar todas las cosas que se rompen con el código de mierda que escribes cuando tratas de competir como una startup.

Como desarrollador de software, puedo copiar el corazón de casi cualquier aplicación en unos pocos meses con sólo mirar la aplicación compilada y nunca ver la fuente. No será lo mismo y no tendrá todas las campanas y silbatos. Tendrá justo lo que necesita y probablemente será más eficiente ya que no perderé el tiempo implementando los errores que tú cometiste. Debería ser más que suficiente para competir, probablemente mejor. Si fuera un desarrollador que trabaja para usted, lo que acabo de decir es doblemente cierto. No sólo podrían reescribir lo que tienes en una décima parte del tiempo que les llevó hacerlo la primera vez, sino que sabrían exactamente cómo mejorarlo y qué evitar. No tener el código fuente es más una molestia que un impedimento. Lo que es un impedimento, especialmente para un desarrollador, es no tener el negocio que se construye alrededor de su fuente. Sus clientes, su plan de negocio, sus empleados, su IP, su cultura, etc. Si realmente quieres frenarles, deberías dejarles coger el código fuente existente y ver el enorme gasto de tiempo que supone hacerlo funcionar sin esas cosas para las que se escribió tu código fuente. Si aún no tienes esas cosas, tienes una idea no probada y una implementación que aún no ha funcionado, y esas son una docena de monedas. Las empresas emergentes tienen éxito no porque dupliquen lo que hace otra empresa, sino porque lo hacen siendo más pequeñas, mejores y más rápidas. No se puede hacer eso utilizando el mismo código fuente.

Cuando las empresas adquieren tecnología de otras empresas, lo hacen menos por el código fuente y más por el talento que escribió ese código fuente. El código en el mundo real es desordenado. Se queda obsoleto muy rápidamente. El activo es la propiedad intelectual que hay detrás del código, que está contenida en gran parte en la cabeza del desarrollador y no es algo que se pueda evitar. Ya está expuesta al mundo a través de los productos que fabrica. Si no quiere que sus desarrolladores se lleven sus conocimientos, su mejor defensa es mantenerlos contentos y que no se vayan. Eso generalmente no incluye no confiar en ellos y poner cerraduras físicas que hacen más por frustrarles en su trabajo que otra cosa. Necesitas un contrato estándar que haga explícito lo que ya debería saberse que todo el código fuente escrito pertenece a la empresa y una cultura que respete los protocolos básicos de seguridad y los inicios de sesión individuales, fuera de eso, no debes hacer nada.