¿Cómo gestionar un proyecto de alto riesgo de fuente cerrada?

25

Actualmente estoy planeando desarrollar un sitio web J2EE y deseo traer 1 desarrollador y 1 diseñador web para que me ayuden. El proyecto es una aplicación financiera dentro de un nicho de mercado.

Planeo mantener la fuente cerrada. Sin embargo, me temo que mis posibles empleados podrían copiar fácilmente la base de código y usarla o venderla a un tercero. El desarrollo de la aplicación tomará de 4 a 6 meses, tal vez más, y puedo traer empleados adicionales después de que la aplicación se active.

Pero, ¿cómo guardo la fuente para mí? ¿Existen técnicas que las empresas utilizan para proteger su fuente?

Preveo deshabilitar las unidades USB y las grabadoras de DVD en mis máquinas de desarrollo, pero aún sería posible cargar datos o adjuntar el código en el correo electrónico.

Mi pregunta esta incompleta. Pero los programadores que han estado en mi situación, por favor aconsejen. ¿Cómo debo hacer esto? Construir un equipo, mantener el secreto de código, etc.

Tengo muchas ganas de firmar un contrato secreto con los empleados si es necesario también. (Agregue etiquetas relevantes)

Actualizar

Gracias por todas las respuestas. Ciertamente no voy a desactivar todos los puertos USB y grabadoras de DVD ahora. Pero creo que debería estar registrando la actividad (¿Cómo exactamente debería hacer eso?) Tengo cuidado con los revendedores que se unirían y luego se irían con el código existente. No he conocido a ninguno, pero me han aconsejado que desconfíe de ellos. Incluiría una cláusula de secreto, pero dado que esta es una startup con casi ningún financiamiento y en un nicho de negocios altamente competitivo con jugadores más grandes en el campo, dudo que pueda detectar o perseguir a los revendedores.

¿Cómo contrato a personas en las que confío, cuando no las conozco personalmente? Su currículum será útil, pero de lo contrario la confianza se desarrollará solo con el tiempo.

Pero finalmente, incluso si se escapan con el código, es el servicio lo que importa después de que se realiza la venta. Así que no estoy realmente preocupado a largo plazo.

Abel
fuente
28
Sé que yo (y ningún otro desarrollador sensato y competente) consideraría trabajar en las condiciones que usted ha insinuado (pendrives deshabilitados, grabadores de DVD ...).
Jonathan Sterling el
55
Simplemente venenoso.
Jonathan Sterling el
53
Para ser honesto, cuando me encuentro con alguien que se niega a extender cualquier confianza, siempre pienso que dice más sobre su propia confiabilidad que la mía, es decir, si crees que no puedo confiar en mí, es porque sabes que puedes ' No se confíe.
James McLeod
8
@abel: resumiendo algunos de sus comentarios anteriores, no tiene experiencia en el desarrollo de software profesional. Pero está tratando de ingresar a un "nicho de negocios altamente competitivo" y tener éxito contra "jugadores más grandes" cuando "casi no tiene fondos". Tienes peces mucho más grandes que freír que preocuparte de que los programadores se escapen con tu código. Si yo fuera usted, redactaría un plan de negocios y lo revisarían los empresarios que ya han tenido éxito en su área objetivo, y luego pensaría si realmente tiene los recursos para tener éxito.
Bob Murphy
37
@abel: Después de su actualización, su pregunta es así. No tienes mucho dinero, y nunca has trabajado en un restaurante, y mucho menos en uno. Pero de todos modos está decidido a abrir un restaurante, y en San Francisco, que ya tiene muchos restaurantes excelentes que luchan por obtener ganancias. Entonces vas a una convención de chefs y preguntas cómo contratar a un chef que no envenene la comida. Y cuando te dicen que los chefs no envenenan los alimentos, admites que nadie que hayas conocido fue envenenado, pero alguien te dijo que deberías preocuparte por eso, así que te preocuparás de todos modos.
Bob Murphy

Respuestas:

77

Necesitas confiar en tus desarrolladores.

Prácticamente todos los desarrolladores profesionales no robarán su fuente. Se entiende que si trabajas para otra persona, es el empleador el dueño del código que escribes. Los desarrolladores pueden copiar el código con fines de referencia, pero es muy poco probable que lo ofrezcan a la venta a otra persona. Si lo ofrecieron a la venta a un nuevo empleador, entonces el resultado probable es que se les muestre la puerta y posiblemente incluso sean arrestados (como señala Bob Murphy en su comentario ). Que te atrapen no vale la pena el riesgo.

Más importante aún, la desconfianza genera desconfianza. Deshabilitar los puertos USB y las grabadoras de DVD generará una sensación de desconfianza que, paradójicamente, hará que sea más probable que los desarrolladores copien el código.

Por supuesto, agregue una cláusula de secreto a su contrato, pero probablemente no sea necesario destacarla como la parte más importante del contrato.

ChrisF
fuente
2
Una breve cláusula de secreto es perfectamente normal en los contratos de desarrollo y los acuerdos de empleo, pero como dijo ChrisF, no se exceda. Para cualquiera que haya hecho más que un puñado de proyectos de desarrollo de contratos, un largo acuerdo secreto con amenazas graves simplemente dice que eres un aficionado desorientado. Hay cláusulas estándar que puede encontrar en línea que se ejecutan en cualquier lugar de 6-20 líneas de texto. Eso es suficiente si está dispuesto a abogado en caso de incumplimiento, y si no lo está, cualquier acuerdo de secreto no tiene sentido.
Bob Murphy
46
Además, en el mundo real, los terceros no quieren el código robado. El riesgo es demasiado grande. Cuando Informix y Oracle lo estaban promocionando para el mercado de bases de datos relacionales empresariales a mediados de los 90, uno de los desarrolladores de Informix dejó de unirse a Oracle (que era bastante común), y se llevó un disco duro lleno de fuentes de Informix con él (que no era 't). Le dijo a su nuevo jefe en Oracle, esperando una cálida bienvenida, pero en cambio obtuvo un equipo de seguridad y un arresto. Luego, la seguridad de Oracle llamó a la seguridad de Informix, y el disco duro volvió a Informix sin que nadie de Oracle lo hubiera mirado.
Bob Murphy
1
@Bob Murphy Espero que todos sean tan sinceros, incluso en la parte inferior de la cadena alimentaria.
abel
1
Estaba a punto de escribir esta respuesta exacta. La confianza es realmente crítica para el éxito del proyecto. Como dijo ChrisF, deshabilitar los componentes de las computadoras de los desarrolladores solo dañará la relación e informará a esos desarrolladores que no son de confianza. La única forma de proteger realmente su código sería controlar dónde duermen los desarrolladores, dónde comen, con quién hablan, etc. Solo asegúrese de tener un contrato bien escrito para darle la munición legal que necesita para castigar a los infractores.
TheBuzzSaw
2
Dos palabras: Edward Snowden ( en.wikipedia.org/wiki/Edward_Snowden ). Incluso las divisiones más secretas dentro del gobierno federal de los Estados Unidos no tienen una buena solución a este problema. ¿Qué te hace (al OP) pensar que puedes mejorar? ¡Construya su solución sobre la confianza y la contención razonable, no sobre restricciones tecnológicas superficiales!
rinogo
74

Si estos programadores pueden escribir el software en primer lugar, entonces ...

NO NECESITAN ROBARLO.

Simplemente pueden reescribirlo en una fracción del tiempo que tardó en desarrollarlo originalmente. Sí, es cierto, los desarrolladores no son idiotas completos ... una vez que descubren cómo hacer algo, a menudo pueden recordar cómo lo hicieron.

Entonces, supongo que tendrá que confiar en ellos o escribir el software usted mismo .

Gran maestro B
fuente
3
¿Es eso un argumento para una cláusula de no competencia? ;)
Tim
8
De hecho: sus programadores ya han copiado su código, en virtud de tener ese conocimiento en sus cabezas.
Frank Shearar
Entiendo que. No quiero código de reventa de desarrolladores recién unidos.
abel
3
@abel, el código robado no es tan útil como parece pensar que es. Una aplicación puede ser 'clonada', incluso sin el código fuente. algoritmos patentados , ahora eso es lo que desea mantener a salvo. Los desarrolladores no necesitan 'robar' el código para aprenderlos, solo leerlo y luego recrearlo. Demonios, solo usar el programa podría ser suficiente para deducir un algoritmo. Entonces, como otros han dicho, una simple cláusula de no competencia hará el truco y es todo lo que puedes hacer. Asegurar físicamente el código es solo una pérdida de tiempo porque cualquier desarrollador que valga la pena puede evitarlo fácilmente.
GrandmasterB
11
+1 por la verdad ... y por hacerme caer de la silla riendo. Las vacas no necesitan robar leche. 8D
TheBuzzSaw
22

He oído decir que ninguna idea por sí sola vale más de $ 20 (¡y eso es dólares canadienses!) La idea solo tiene valor si se ejecuta bien. Incluso si se trata de robar el código y tratar de hacerlo ellos mismos, lo más probable es que tenga una mejor idea de cuáles son los próximos pasos y más contactos con posibles compradores del software.

Definitivamente, solo debes contratar a personas de confianza, pero incluso si roban tu código y tratan de venderlo, es poco probable que lleguen muy lejos.

James McLeod
fuente
99
Esto es absolutamente cierto. Olvídese de mantener su Idea única súper secreta y concéntrese en ejecutarla mejor que nadie. La mayoría de las ideas son producto de su tiempo y se les ocurren a varias personas de forma independiente. (Henri Poincaré también estaba trabajando en la relatividad a principios de la década de 1900, pero Einstein lo derrotó hasta la publicación). Lo más probable es que haya otros ocho equipos que trotan su idea a los VC en Sand Hill Road este mes; son los que tienen planes de negocios creíbles y equipos profesionales los que obtendrán fondos.
Bob Murphy
1
Relacionado: sivers.org/multiply . Las malas ideas ni siquiera valdrían 2 peniques, pero las buenas ideas bien pueden valer más de $ 20.
Pacerier
6

La dura verdad es que nadie quiere tu código. Puede pensar que desarrolla una solución que todos quieren saber cómo funciona. Pero la mayoría de las veces no lo haces.

¿Qué harías si te hicieras cargo del código fuente de tus competidores? No puedes distribuirlo. No puede copiar ninguna parte del mismo en su proyecto (incluso si no fuera tan difícil integrar código de terceros en su base de código). ¿Lo que puedes hacer? Puedes estudiarlo. Pero a menudo es más difícil leer el código que escribirlo en primer lugar.

Mira el software de código abierto. Es una analogía más cercana a un código fuente robado. Hay una gran cantidad de código no mantenido. Una gran parte tiene una licencia que no se adapta a sus necesidades. Otros tiene un lenguaje de programación incompatible o necesita portarse a su plataforma. El código que se adapte a sus necesidades tomará mucho tiempo para leer.

Hay muchos proyectos de código abierto con una mentalidad de código cerrado. Es decir, no aceptan parches. Muy pronto su versión del código se desviará tanto que sería imposible fusionar nuevas versiones.

Debe comprender que lo más valioso es su equipo que mantiene su código y lo mueve hacia adelante. No es el código en sí.

Vanuan
fuente
5

Si se trata de algún tipo de inicio, entonces lo más importante que debe hacer es construir un producto. Necesita buenos desarrolladores que trabajen duro y se dediquen al proyecto.

Una forma realmente fácil de deshacerse de ellos, o al menos minar su moral y dedicación, es mostrarles desde el principio que no confías en ellos. De hecho, es probable que comiencen a pensar en formas en que pueden obtener el código (aunque es casi seguro que no lo harán), y si pueden encontrar una forma, pensarán que no solo es paranoico sino estúpido. (Hay organizaciones en las que se justifica este nivel de precaución, y el inicio de un sitio web financiero no se considerará una de ellas).

Algunas cláusulas en el contrato sobre cómo el software es de su propiedad estarán bien. Si alguien viola eso, violará cualquier lenguaje más severo que tenga, y probablemente se sienta más justificado. Las cláusulas de no competencia que no son limitadas y de tiempo limitado simplemente ahuyentarán a las personas que desea y, de hecho, pueden no ser legales en su jurisdicción (consulte a un abogado local para averiguarlo).

Si contrata a buenas personas, pueden reescribir el software más tarde. Si contrata a principiantes, no sabrán cómo desarrollar aún más con lo que se van, y cualquiera que lo desarrolle correrá serios riesgos legales para llegar tarde con una versión inferior de lo que tiene.

En resumen, esto debería ser muy bajo en las cosas que te preocupan. Si contratas a gente mala, estás hundido sin importar qué. Concéntrese en contratar gente buena y deje que esto pase.

David Thornley
fuente
4

¿Por qué tus clientes potenciales deberían confiar en ti con sus finanzas?

Después de todo, puede huir con el dinero.

Empresas como Microsoft, Google e IBM emplean a miles de personas para escribir resmas de software de código cerrado y no están demasiado preocupadas por el hecho de que su personal se vaya con el código. La protección de los derechos de autor y una clara cláusula de "cualquier código pertenece a su empleador" en el contrato de trabajo parece cubrirlo, y los casos judiciales contra ex empleados por robar el código son extremadamente raros.

Además, una vez que publique su software en todo el mundo, a menos que el núcleo implique algunas matemáticas realmente avanzadas, cualquier equipo competente de programadores podría reproducir su aplicación sin ver el código fuente.

James Anderson
fuente
3

Como otros han mencionado, esto parece ser principalmente una preocupación de las personas.

Sin embargo, hay varios proveedores importantes de seguridad que comercializan soluciones de software para filtraciones de datos:

No puedo comentar su efectividad o adecuación ya que tengo una experiencia limitada con estas soluciones, pero pensé que podría ser útil señalar esto.

Acantilado
fuente
3
Al igual que la idea, la única preocupación es que estos productos están llenos de lenguaje corporativo y no explican lo que realmente están haciendo :)
Mars Robertson
2

Honestamente, como todos los demás dijeron, solo necesitas confiar en tus programadores.

Sin embargo, añadiré a eso diciendo que realmente debería considerar que el código abierto de su proyecto en el entorno actual tiene más probabilidades de ayudarlo que perjudicarlo, con la excepción de algunos mercados específicos. El solo hecho de estar más abierto a la idea lo hará menos preocupado por el crecimiento y la pérdida de su código fuente, incluso si no lo hace usted mismo. Obtenga toda la buena voluntad que pueda, y es más probable que gane dinero, en mi opinión. Incluso si el Imperio ofreciera la mejor aplicación del mundo, no creo que Luke Skywalker la hubiera descargado, porque los ideales del Imperio estaban en el lugar equivocado.

codificador543
fuente