Pergunta

Esta questão já tem uma resposta aqui:

Além-sourcing aberto seu projeto e legislação, existem maneiras de prevenir, ou pelo menos minimizar os danos do código vazando fora de sua empresa / grupo?

Nós, obviamente, não pode bloquear o acesso à Internet (para evitar que e-mail o código) por causa do programador precisa suas referências. Nós também não pode bloquear dispositivos periféricos (USB, FireWire, etc.)

O código mais importa quando se tem alguns algoritmos proprietários e in-house desenvolvido conhecimento (em oposição ao código de rotina regular para desenhar interfaces gráficas, conectar-se a bancos de dados, etc.), mas alguns aplicativos (como o software de contabilidade e CRMs) são apenas que: coleções complexas de código de rotina que são simples de desenvolver, em princípio, mas vai levar anos para escrever a partir do zero. Este é onde o código vazou virá a calhar para os concorrentes.

Tanto quanto eu vê-lo, impedindo o vazamento depende quase inteiramente em processo humano. O que você acha? Que precauções e medidas está tomando? E tem vazamento de código afetadas antes?

Foi útil?

Solução

Você não pode pará-lo sair. Assim, duas soluções - parada pessoas que querem prejudicá-lo, e ter precauções legais. Para impedir que as pessoas odiando você tratá-los bem (dizendo mais é provavelmente fora de tópico para estouro de pilha).

Eu não sou um advogado, mas para se dar proteção legal, se você acredita nele, patentes as idéias, coloque um aviso de copyright no código, e certifique-se os contratos de seus programadores especificar direitos de propriedade cuidadosamente intelectuais.

Mas no final do dia, a resposta é correr mais rápido do que a concorrência.

Outras dicas

A menos que você está trabalhando com algo altamente classificada e dado que você não pode bloquear e-mail e dispositivos USB Eu acho que você não está lá não é realmente a muito dano a ser tido, mesmo que os vazamentos de código fonte. A coisa é, o que é o código, ou partes do mesmo valor sem o conhecimento de como funciona e a organização em torno dele.

Em geral, o valor de "fonte" é muito menos do que é comumente apontado, basicamente a fonte sem as pessoas ou a organização não vale a pena o armazenamento que ocupa para um concorrente.

Além disso, você está perdendo o vetor de ataque mais provável, e é também o que você não pode parar, não importa o quê. Se alguém realmente quer de saber como você fez a sua magia, então eles vão tentar contratar os desenvolvedores de distância, e uma vez que você não pode impedi-los de ter informações dentro de seu crânio e mesmo se eles se transformam em todas as suas posses ther conhecimento e domínio perícia está saindo com eles. retenção de funcionários Basicly e confiança é a única maneira. Desculpe.

Eu não sei o quanto ajuda real é que isto vai ser, mas:

  1. Não faz P * ss seus programadores off. Não levá-los em uma posição onde eles deseja para dar origem a um concorrente. A maioria dos lugares subestimar seus desenvolvedores. Dado onde você está (SO), eu acho que você é menos provável que. Nada tenho para mim mais do que ver o pessoal de vendas para fora para jogos de golfe - pago, e pago, pela empresa -., Enquanto nós tivemos que lutar para obter pizza uma vez por mês

  2. Realmente, se seus concorrentes diretos tem seu código hoje , o que ele faz? É o seu produto ou mercado vertical que estagnada que você não iria liberar mais recentes, versões melhores antes que pudesse reagir? Será que não há espaço para a inovação? A maioria das empresas supervalorizar seus "algoritmos proprietários e in-house desenvolvido conhecimento". Claro, ele pode cortar algum tempo fora, mas é apenas cerca de 10% do problema.

  3. Se você tem toda a fonte de todos os produtos de seus concorrentes, o quanto o uso real seria? Eu acho que seria fixado de volta meses. Não para a frente. Voltar.

Se você tivesse um sistema limpo, e pouco conhecimento interno / externo, quanto tempo você levaria para obter o seu próprio produto em um estado edificável? Quanto tempo levaria para detalhar o código e treino que está acontecendo? Quanto tempo e dinheiro que você desperdiça a tentar trabalhar em algo, em vez de gastar tempo e dinheiro em como fazer seu trabalho produto melhor?

Eu realmente estive em posição de ter todo o código-fonte - 1 milhão de linhas de + de código - para um produto concorrente. Nós não fizemos nada com ele - além de um pouco de puxão-volta e, em seguida, excluí-lo, o que era mais do que eu estava confortável com - mas eu esperaria que teria mastigado meses de tempo apenas para chegar onde eles estavam então.

Então, nós nuked, bateu o id10t que tenho (sim, um desenvolvedor / PM que veio da outra empresa), e do pensamento sobre como fazer o nosso pontapé produto tanto bunda que não importava o que eles fizeram. melhor aproveitamento muito do tempo. Funcionou bem, também. Tivemos diferenciadores, não apenas re-hash as mesmas características da mesma maneira que eles fizeram-los.

Desculpe, mas não há não maneira você pode parar as pessoas recebendo o material para fora, e ainda ser capaz de realmente funcionar. Você pode detê-los querendo para fazê-lo, ou fazê-lo assim não há nenhum valor para eles tê-lo.

Nós estávamos preocupados com as pessoas Decompiling nosso código também. Paramos preocupante quando percebemos que tínhamos problemas suficientes trabalhar fora o que estava acontecendo dentro 500K linhas de + de C #, C ++ e código HTML falando com MAPI / Exchange. Se alguém pode decompor-lo e trabalhar com isso, então nós queremos contratá-los ......

BTW, para maior clareza, e dado que agora eu trabalho para, gostaria de salientar este é não meu empregador atual. Este foi um bom tempo atrás.

O código não vazar sobre si mesmo. Leva as pessoas a levá-la. Existem, obviamente, algumas medidas de segurança que você pode usar como análise de tráfego e lock-down sobre os repositórios para que os desenvolvedores só autorizadas podem se conectar a ele.

Mas, no final do dia a sua melhor opção é ter certeza de que ninguém quer roubar de você. Sua equipe tem que ser feliz, eles têm que ter orgulho de trabalhar para a sua eles têm de ser leais à empresa e uns aos outros. Se você tem essa equipa é uma questão simples de explicar a todos que o código tem de ser protegido de estranhos. Ela não vai parar uma toupeira dedicado, mas vai evitar acidentes.

P.S. E sim, cláusulas adequadas nos contratos não prejudicaria, bem como, pelo menos, eles vão ter certeza de que os desenvolvedores estão cientes de que tomar fora código é moralmente errado.

Siga estas diretrizes e deve não importa se o conteúdo de todo o seu repositório de código fonte é publicado todo stackoverflow:

http://geocities.com/mdetting/unmaintainable.html

Oh, e mostrar seus desenvolvedores que você não confiar neles, bloqueando o acesso a partes do código-fonte, a digitalização de e-mail de saída / entrada, etc. Essa é uma maneira infalível para fazê-los querer ficar em torno de ... .. .nada melhora a moral como um pouco de desconfiança no local de trabalho.

Outra maneira legal é contar metade que eles são "equipa A" e citar a outra metade como não confiável "time b". Em seguida, invertê-lo e dizer a mesma coisa para os membros da "equipa B". Incentivá-los a manter um olho sobre os "maus" em outra equipe e relatar quaisquer sinais de illoyalty para você. Polvilhe alguns "indutores de conflito" (por exemplo, dizer "Joe": ' você sabe o que Ed diz sobre você pelas costas ') etc. Funciona maravilhas se você configurar os desenvolvedores uns contra os outros e criar alguns [inventou-by-you] conflitos aqui e ali ...

(Eh, e não, eu não realmente recomendar qualquer um dos. Brincadeirinha acima. Mas eu vi as pessoas usam todas as táticas acima. E isso não funcionou.)

Ok, eu vou ser um pouco prático aqui.

  • Sendo bom para todos e esperando que não vai te machucar não funciona.

Cada programador sabe desde o dia em que ele se junta a uma empresa que ele não vai ficar lá para sempre. Ele vai mudar quando ele aprendeu o suficiente para conseguir uma oportunidade melhor.

Os programadores que escrevem o código acreditam que eles têm a propriedade para ele mesmo que escreveu sobre o tempo que eles alugados para outra pessoa. Assim, muitos deles tentarão geralmente ter em suas mãos o código-fonte, mesmo que eles não pretendem ninguém ferido.

Uma vez que eles deixam a empresa e eles levaram o código-fonte com eles e perdeu contato com os seus colegas, a consciência se acalma e sai de férias e depois de um tempo pedaços do código começar a aparecer em todos os lugares.

Isso é o que eu sei acontece porque eu tenho testemunhado isso acontecer com a minha empresa.

Então, o que fazer?

  • assinar um NDA que menciona especificamente que o programador não vai tirar cópias.
  • Distribuir o seu produto entre os programadores, e, se possível módulos get codificado individualmente e integrado por um chefe cuja responsabilidade é que todos os programadores que nt obter todo o código.
  • No momento da rescisão obter um compromisso escrito dos codificadores que eles não possuem qualquer IP da empresa e eles entendem as penalidades de violação.
  • Se alguém viola a sua IP, processar o homem! Sem exceções. Ele vai trabalhar como um exemplo para o presente da equipe.
extrema som

Do I?

Lembro-me de que isso aconteça com válvula quando eles estavam desenvolvendo HL-2. ligação interessante aqui: http://www.shacknews.com/onearticle.x/28619

Eu tenho trabalhado em algum lugar onde havia uma verdadeira cultura de sigilo sobre esse tipo de coisa (historicamente tinha havido um número de vezes em que a empresa era pequena, onde "clientes" teve, digamos, abusaram de seu acesso ao nosso produto).

Enquanto no topo da gestão, foram muito protetor, eu vejo isso de forma ligeiramente diferente. Eu acho que o nosso código, embora não totalmente irrelevante, não é tão fundamental como seria de esperar que seja em uma empresa de software.

A razão que nós somos bem sucedidos é:

1) O código é essencialmente a solução para um monte de problemas. Se você receber nosso código que você obter essas soluções, mas ainda temos as pessoas inteligentes que resolveram esses problemas. Eles entendem esses problemas melhor do que você e são mais capazes de resolver o próximo conjunto de problemas melhor do que você é.

2) Porque eles realmente entendem os problemas (e soluções) que podemos fazer as coisas mais rápido do que nossos concorrentes que se traduz em mais barato (ou mais rentável).

3) Também por causa dessas pessoas ea atitude dentro da empresa que já entregou bem aos nossos clientes e forneceu um bom suporte.

4) E por causa disso temos uma boa reputação e referência-capazes clientes.

Um pequeno número de empresas que têm código que é realmente vale a pena manter em segredo - algoritmos proprietários e esse tipo de coisa -. Mas para a grande maioria de nós os nossos produtos são muito facilmente replicável por pessoas inteligentes

O que eu estou dizendo é fazer o básico - write-lo em contratos das pessoas que não podem tomá-lo, mantê-lo seguro e assim por diante -, mas não obcecar sobre ele. A menos que você está em um mercado muito específico, é pouco provável que seja o que realmente vai fazer seu negócio ter sucesso ou falhar.

O melhor passo começa a partir reruting caras com o comportamento ético forte. Várias outras medidas podem ser tomadas como toda a comunicação que está sendo digitalizado. Há lugares onde e-mail e todas as informações de sair é digitalizados. O desktop / laptop não tem disco rígido ou o acesso é restrito e todo o trabalho é em pastas de rede, mesmo quando o trabalho de casa, a pessoa tem que se conectar à internet. A trabalhar offline são sincronizados. O USB e unidades estão desconectados.

As outras políticas são para fornecer acesso somente em base de necessidade. Estes só irá retardar e impedir até certo ponto, mas é um é muito determinado, em seguida, ele iria encontrar maneiras de contornar isso. A outra maneira é se o código é realmente muito importante, em seguida, ter a idéia copywrite protegido legaly.

Para ser honesto é quase impossível. Se eu quisesse sugerir o que uma empresa que em breve aparecer no WTF diário faria:

  1. Desligue o "computador de trabalho" a partir da internet, bt porque eles precisam de acesso à Internet para referência buy todos uma wbbook.

  2. Material dos slots desenvolvedores USB com epóxi e exigem que eles carregar / descarregar tudo, desde um servidor centralizado, que verifica todos os dados que passa por ele para um código como sintaxe.

Ou você poderia apenas confiar em seus funcionários e fazê-los assinar um NDA ...

Eu, pessoalmente, nunca testado em qualquer caso real, mas eu gostaria de sugerir o uso de fragmentação código:

basicamente você dividir seu projeto em um número de bibliotecas, definir interfaces e testes de unidade para cada um deles, então você separar repositórios SVN para que cada grupo tem acesso a uma parte limitada do seu código-fonte preciosa.

Esta é também uma boa prática não importa o que e deve ajudar se você está terceirizando no exterior.

As respostas anteriores todos parecem centro na construção de confiança e contratação de pessoas éticas.

Outra possibilidade poderia ser a de criar sua própria linguagem e ferramentas específicas de domínio. Isso fará com que qualquer código vazou mais difícil de usar. Pode ainda ser possível para roubar idéias úteis a partir dele, mas não seria possível simplesmente compilar um produto concorrente a menos que todo o conjunto de ferramentas é vazada.

confiar em seus desenvolvedores. As pessoas tendem a viver cima ou para baixo as expectativas. Trate-os bem, e lembre-se que a lealdade vai nos dois sentidos. Afinal, se você não pode cortar pen drives, você pode qualquer um não parar de vazar código, não importa o quanto você não confiar neles.

Dito isto, se encontrar um advogado com o comércio experiência secreta, provavelmente experiência em outras partes da lei IP, e perguntar como legalmente coisas salvaguarda. Você quer ter certeza de que, se um competidor recebe seu material, não é legal para o concorrente para benefício da mesma.

A maioria das respostas são baseadas em valores morais e éticos. Pergunto-me se o Google, Facebook etc. apenas confiar em seus funcionários boa vontade. Dá um tempo, isso é totalmente utópico. Não seja um tolo. Seja realista.

SIM, é possível evitar vazamento código:

Usando um servidor virtual que hospeda máquinas virtuais, os programadores podem acessar apenas localmente para essas máquinas virtuais (intranet) via Remote Desktop. Repositório é gerido localmente. chaves privadas são necessárias para acessar o repositório. Copiar / colar de máquina virtual para o cliente está desativado. única copy / paste do cliente para o virtual é permitido.

Empresas como facebook fazer isso.

A única maneira de código ainda está tirando fotos para o código real, que totalmente não é prático e viável a todos, e uma vez que existem câmeras de vigilância em todos os lugares, você terá que ir ao banheiro para tomar essas fotos.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top