Sei que a empresa para a qual você trabalha é dona do código e, obviamente, você será preso se tentar vendê-lo. Mas é incomum os desenvolvedores manterem uma cópia pessoal do código que eles escreveram (para referência futura)?
Aparentemente, esse cara foi enviado para a prisão por copiar o código fonte.
Respostas:
Não sei como é comum, mas comum ou não, ainda é uma má ideia.
Os programadores geralmente operam com a mentalidade de que resolver o mesmo problema duas vezes é uma perda de tempo. Tentamos projetar nosso código para ser reutilizável (às vezes). Construímos bibliotecas de classes e funções para reutilização em algum momento no futuro. Às vezes, até entregamos nosso código para que ninguém mais precise escrever um código para resolver o mesmo problema que acabamos de resolver. Portanto, pode ser compreensível querer levar o "seu" código quando você muda de um trabalho para outro. Mas você ainda não deve fazê-lo, pelos seguintes motivos:
Esse não é o seu código a seguir.
O código que você escreveu para seu ex-empregador faz parte dos negócios que eles criaram. Seu código faz parte de sua vantagem competitiva. Certamente, os concorrentes poderiam escrever seu próprio código para resolver o mesmo problema, mas não deveriam obter a vantagem de desenvolver o trabalho que seu empregador pagou, possui e não o autorizou.
Se eles tiverem algum sentido, seu novo empregador não deseja nenhuma parte do código que você tirou do seu antigo empregador. Quanto mais você "se refere" ao trabalho que fez para algum empregador anterior, mais coloca seu novo empregador em risco legal.
Se você acidentalmente deixar escapar para o New Employer que você ainda tem uma cópia do que fez para o Old Employer, seu chefe na New provavelmente perceberá que você fará uma cópia do código deles quando sair para outra empresa. trabalho. Isso pode não se encaixar bem com ele ou ela.
Mesmo que você não esteja cogitando linhas reais ou apenas idéias vagas de suas coisas antigas, apenas tê- las em posse pode levantar suspeitas de que você possa usá-las para alguma coisa. Imagine que o antigo empregador processe o novo empregador e, como um dos poucos funcionários que se mudaram do antigo para o novo, você de repente se vê dando um depoimento. Nenhum de vocês copiou o código de Old para o produto de New, mas o advogado à sua frente pergunta: "Sr. SuperFoo, você o tem agora ou já o possui a qualquer momento desde que deixou o Old Employer em seu poder uma cópia de qualquer código que você ou mais alguém escreveu enquanto trabalhava no Old Employer? "
Você não precisa do código que escreveu no mês passado, no ano passado ou mais. Você resolveu o problema uma vez e agora sabe como resolvê-lo novamente. Ou você pode saber como não resolver o problema - sua nova implementação será melhor porque você tem experiência.
Existem maneiras melhores. É difícil voltar e aprender algo útil lendo o código antigo fora de contexto. Um diário ou diário que descreva o que você aprende, ideias que você tem etc. é muito mais útil posteriormente.
Mesmo que o antigo empregador saiba que você tem o código deles e está bem com isso, você ainda não o quer! A única coisa que pode resultar disso é uma ligação às três da manhã: "Olá, SuperFoo? Como você está? Ouça, você tem uma cópia das nossas coisas, certo? Olha, temos um problema com o e reduzimos para alguns arquivos que você escreveu que nosso novo cara simplesmente não entende. Sei que é tarde, mas você poderia orientá-lo através do SuperDuper.pl? "
Deixe ir. Você não precisa disso.
fonte
for (int i=0; i < N; ++i)
no meu código, certamente não é ilegal usá-lo em outro lugar em outra empresa ...Eu sempre mantenho uma cópia do código que escrevo e o levo entre os trabalhos. Os empregadores subseqüentes nunca conseguem ver / executar o código, mas eu o uso como referência em casa: 'Ah, sim, eu não fiz algo semelhante ao do Projeto X?'.
Isso é legal? Depende da jurisdição e das circunstâncias, mas é bastante comum. Moralmente, não tenho nenhum problema com isso, desde que você não esteja simplesmente dando código aos novos empregadores ... É um lembrete e uma demonstração do que você fez, em vez de um recurso gratuito para o seu empregador.
[O outro lado disso é a inevitável vergonha que surge quando você olha para o código mais antigo: 'O que eu estava pensando? Por que diabos eu fiz dessa maneira ?? ']
fonte
Esta é uma muito má ideia. Esse código não pertence a você (juridicamente falando) e a posse dele pode causar muitos problemas. Isso se torna ainda mais verdadeiro quando você muda para um novo trabalho e ainda mantém esse código-fonte por perto. Pior ainda, se for um concorrente. Sua empresa não ficaria feliz se você tivesse acesso ao código-fonte deles quando não trabalhar mais para eles.
É tudo sobre como gerenciar seu risco. Obviamente, espera-se que você guarde coisas de um empregador anterior que possa usar em outro lugar. É por isso que eles criam cláusulas de não concorrência de sinal que duram X meses / anos após a sua saída. No entanto, a posse do código o torna mais vulnerável a alguém que o acusa de copiar descaradamente o código da empresa (mesmo que você não tenha, e apenas usou as mesmas idéias). Vale a pena ter o código para gerenciar esse risco?
Certamente o material útil que você obteve ao escrever o código não é a sintaxe exata; é o conhecimento que você ganhou. Provavelmente não vale a pena lidar com todo esse material legal.
fonte
Não é incomum.
Tenho uma cópia de quase 1 todo código que escrevi profissionalmente e, certamente, todo o código dos meus projetos atuais, independentemente de quem o escreveu 2 . Junto com o código , tenho uma enorme pilha de documentos legais que definem claramente o que posso e o que não posso fazer com ele. Apenas ter o código não é o mesmo que tentar lucrar com o código.
Dito isto, é uma questão legal, e as questões legais tendem a ser extremamente complicadas e localizadas. Em caso de dúvida, você realmente precisa conversar com um advogado. Posso manter meu código por perto, mas tenho 99% de certeza de que não vou ter problemas por fazer isso.
1 O que falta é principalmente o que eu não queria arquivar. Falta apenas um código de um projeto pequeno por motivos legais.
2 Natureza dos projetos e meu papel neles, sou um dos caras que precisa ter pelo menos uma idéia do que vai aonde, mesmo se não estivesse envolvido na construção de um módulo específico.
fonte
Eu vejo seu chinês preso e o levo com um "código não é propriedade, portanto não pode ser roubado".
Ref .: Código 'não é propriedade física', o tribunal decide no caso de espionagem do Goldman Sachs
Com isso dito.
fonte
Aqui está uma pergunta simples para você. Vá ao seu chefe e diga a eles: "Eu tenho uma cópia de todo o código que escrevi enquanto trabalhava aqui. Somente o código que escrevi, e não outras pessoas. Isso é para minha própria educação e nunca vou divulgá-la".
Suas próximas ações ditarão (sim, essa palavra existe na América do Norte / Mundo) se você estiver errado ou certo aos olhos deles.
Independentemente de sua própria "ética", você trabalha para um empregador. Se eles consideram que o que você está fazendo está errado, então está errado com base na ética deles. Como eles pagam você e você é empregado por eles, cabe a seu tribunal concordar com eles ou discordar, o que pode fazer com que você seja demitido.
Agora é uma questão de integridade. Eu deixei um funcionário anterior pegar um pouco do nosso código, mas analisei tudo primeiro.
Só porque você acredita que está certo, não o faz certo. Geralmente, os desenvolvedores de software assinam contratos quando são empregados. Se você assinou um, precisa seguir sua palavra.
fonte
Respondendo a pergunta diretamente, direi em minhas experiências que isso é incomum. A exceção a isso que eu vi são pessoas que trabalham muito como freelancers e mantêm o código em mãos para os futuros projetos de manutenção e aprimoramento de seus clientes, e eu imagino que isso esteja claramente indicado no contrato (embora eu não esteja no o hábito de revisar os contratos de freelancer dos meus amigos, para quem sabe). As pessoas que conheço que trabalham em grandes empresas nunca admitiram manter o código de ex-empregadores.
Sei que não, porque não consigo pensar em uma única situação em que isso seria útil (sem mencionar que tenho certeza de que meu atual empregador proíbe essas coisas - eu apenas precisaria procurar os documentos para ter certeza ) O código que escrevi / corrigi geralmente é tão específico a um requisito comercial específico que não consigo imaginá-lo novamente no futuro de tal maneira que seria mais fácil reutilizar o código antigo do que escrever novo código.
fonte
Naquela época, era comum os desenvolvedores terem sua biblioteca pessoal de rotinas que eles usariam para resolver problemas no trabalho atual. A fonte ficaria para trás quando o desenvolvedor fosse embora, mas qualquer aprimoramento também foi com ele.
Isso resultou em uma situação ganha-ganha. Também era apenas um subconjunto de todo o código escrito.
É claro que a maior parte do que havia nas bibliotecas pessoais estaria atualmente nas bibliotecas padrão.
fonte
De acordo com o relacionamento entre empregador e empregado na maioria das partes da América do Norte, é ilegal transferir ou transmitir material digital (ou seja, código-fonte) do equipamento de seu empregador sem a autorização legal prévia do empregador.
Parte das leis legais relacionadas à definição de funcionário no local de trabalho é a descrição de que o funcionário não fornece seu próprio equipamento de trabalho, a menos que indicado de outra forma no contrato do funcionário, com exceção de operações que exijam a compra do funcionário equipamento próprio (ou seja, trabalhador da construção civil).
A maioria das leis trabalhistas na América do Norte define o empregador como o principal tomador de risco em um relacionamento entre funcionários. O empregado é pago pelo seu tempo, enquanto o empregador fornece materiais, equipamentos e controla as atividades relacionadas ao trabalho do empregado.
Em que momento desse relacionamento é correto roubar material valioso do empregador, que pagou e se arriscou ao criar o material?
O principal problema com isso foi a pergunta "código fonte que você escreveu?". Não senhor, não foi você quem escreveu. Sob a orientação de seu empregador, foram eles que o escreveram. Você é apenas a mão contratada que digitou. Não existe um tribunal na América do Norte que o apoie, caso seu empregador tome medidas legais para garantir sua propriedade. Apenas copiar o código-fonte para um pen drive USB pode levar você a água quente.
Dito isto, se um empregador permitir que você use seu próprio equipamento (por exemplo, laptop) ou transmita o material, então é uma questão diferente. O empregador deve notificá-lo, após o término, que qualquer material deve ser devolvido / destruído.
Só pensei em postar esta resposta, porque parece que algumas pessoas pensaram que essa era uma área cinzenta. Eu realmente não acho que se você é um desenvolvedor, deve estar divulgando na Internet postando cópias de materiais dos empregadores. Quero dizer, você claramente já sabia a resposta para esta pergunta porque criou uma nova conta de membro apenas para fazer essa pergunta. ;)
fonte
Eu fiz isso no passado alguns trabalhos atrás.
No entanto, eu nunca mais voltei e olhei para ele. Ocasionalmente, reutilizei idéias e coisas que aprendi, mas não encontrei uma razão para voltar e examinar o código.
Então eu não me incomodaria mais. É legalmente duvidoso, e nunca o achei útil na prática.
fonte
Certo. Eu gosto de manter uma cópia de todo o trabalho que faço - seja escrevendo código ou não. Chame de recados, se quiser. Quebrando as regras? Possivelmente.
Os comentários sobre vantagem competitiva são irrelevantes, a menos que seu próximo empregador seja um concorrente direto. Se você mudar de uma companhia telefônica para uma empresa de software ou de um desenvolvedor de jogos para um desenvolvedor de banco de dados, isso não importa. Se você está planejando reutilizar o código - bem, essa é uma história diferente.
Curiosamente, você costuma ouvir sobre desenvolvedores da Web trazendo uma "caixa de ferramentas", com um conjunto padrão de bibliotecas JavaScript e folhas de estilo CSS . Mas eu não vi isso mencionado aqui.
fonte
Acabei de excluir recentemente todo o código antigo que mantinha do meu empregador anterior. Eu mantive apenas trechos de código que achei bons para referência futura. Na verdade, descobri que segui em frente consideravelmente desde que saí e nunca me referi ao código antigo. Eu descobri / descobri / aprendi maneiras muito melhores de resolver os mesmos problemas.
Foi uma boa viagem pela memória :)
fonte
Eu acho que precisa haver uma distinção entre um padrão de design e um código real (copiando linha por linha)
Escrever algum código de psued de algo como - essa é uma ótima maneira de carregar preguiçosamente o X em Y é uma coisa. Escrever todo o código é outra coisa.
fonte
Com a permissão do seu empregador, publique o código reutilizável puro como projetos de código aberto para outras pessoas usarem. Então, seu empregador também pode se beneficiar de contribuições de outras pessoas para este código.
Dessa forma, você pode manter o código legalmente, criar um portfólio público de códigos que você escreveu e o código pode beneficiar outras pessoas.
fonte
Por um número diferente de razões, como trabalhar em casa, é possível que você já tenha uma cópia, e eu não excluiria essas depois de um trabalho, por que fazer isso? Não vai contra minhas crenças ou algo assim.
Mas, quanto a usá-lo, não é tão útil quanto uma postagem no blog!
Resumindo: escreva seu código, escreva um blog sobre os problemas que você enfrentou e como os resolveu (especialmente quando são genéricos e gerais), e não se importe em guardar uma lembrança (possivelmente criptografada) do último trabalho.
fonte
Em finanças, o CFA trata dessa questão. Você não tem permissão para obter informações relacionadas aos clientes ou ao seu trabalho na empresa (neste código de caso). Mas nada o impede de memorizar o que pode e depois anotá-lo mais tarde.
Não tenho certeza do quanto isso é legítimo, mas acho que sua melhor aposta é deixar seu código-fonte, mas anote suas idéias e como você fez isso assim que chegar em casa. Roubar é roubar e no tribunal tudo o que eles estão tentando descobrir é se você copiou o código ou não.
fonte
Se você estiver salvando seu código com o objetivo de reutilizá-lo mais tarde, tenho dois problemas com isso:
Se o código for específico do domínio, provavelmente também é proprietário. De qualquer forma, não há dois negócios ou problemas exatamente iguais e tentar corrigir um problema com a solução para outro não é um bom padrão.
Se o código que você está salvando resolver um problema comum, você deve questionar sua abordagem. Por que você está gastando muito esforço para resolver um problema comum quando eles provavelmente existem (e melhores) soluções de código aberto?
Se você acredita que tem a melhor solução para um problema comum, tente compartilhar seu código publicamente em um repositório público e / ou blog de código ao escrevê-lo, não guarde para si. Seu chefe não deve se opor a compartilhar uma biblioteca genérica ou forçá-lo a reinventar a roda (se houver, encontre um novo emprego).
Se você estiver salvando seu código porque deseja mostrá-lo a um potencial empregador ou melhorar suas habilidades, sugiro que você contribua para um projeto de código aberto.
fonte
Ainda não guardei nenhum código que fiz para os empregadores. Material freelancer que eu guardo (pode ser difícil dar suporte a um cliente se eu perder meu código).
No entanto, estou pensando em manter o código que criei para esse empregador. O motivo é que sou desenvolvedor da Web e desenvolvi muitas coisas do lado do cliente que parecem bastante bonitas. Não os projetei, mas os implementei e frequentemente tive a ideia. Eu gostaria de manter uma cópia desse material para criar um portfólio online. Como todos sabemos, os sites não duram para sempre, então não posso contar realisticamente com o meu trabalho online. Ter uma cópia de backup me permitiria ter um portfólio online.
Sei que os designers geralmente mantêm cópias de seus trabalhos (mesmo que fossem contratados) para fins de portfólio.
Não tenho certeza de qual é a legalidade disso (não é explicitamente mencionado em meu contrato).
fonte
but what are your thoughts on this?
Não convide abertamente uma conversa sobre sua resposta, introduzindo outra pergunta. Você nos diz se devemos manter uma cópia de todo o código que escrevemos. Você pode melhorar a resposta editando-a.Bem, para desenvolver a lógica de negócios da minha empresa, não consigo manter o código, porque é uma propriedade ilegal e pessoal da empresa. Como desenvolvedor, eu sei como desenvolver essa lógica, para que eu possa manter essa lógica em minha mente. Basicamente, por padrão, ele é armazenado em sua mente e, se você precisar da próxima vez, deverá implementar automaticamente a lógica / lógica melhor que a anterior. É a natureza e a inteligência humanas. :)
Mas o problema é criado quando você desenvolve alguma lógica de utilidade, que é reutilizável e sempre importante; talvez seja necessário com frequência em diferentes projetos. Então você deve querer mantê-lo com você.
Eu tenho uma solução alternativa para isso. Basta criar um JAR sem origem / documentação para esses utilitários e adicioná-lo como um JAR externo de terceiros em seu projeto. Provavelmente, fazendo isso, você pode confirmar sua responsabilidade e sua satisfação pessoal por ter o código ;)
fonte
Não guardo o código por um motivo simples: a empresa me pagou para escrever o código para eles. Dou a eles meu código e eles me dão meu salário. O cara que fez o meu almoço não consegue ficar com parte dele, por que o código seria diferente?
Além disso, como já disse antes, deixo o emprego, todas essas dores de cabeça ficam lá, novo emprego, novo começo, mas com um pouco mais de experiência e compreensão dos tipos de problemas no domínio do antigo emprego.
fonte