Você deve manter uma cópia de todo o código que escreve? [fechadas]

197

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.

superFoo
fonte
13
pode ser um problema legal sério se você, de alguma forma, vender / reutilizá-lo para a empresa concorrente.
EL Yusubov
19
Observe que, no artigo vinculado, é um caso bastante específico, pois ele se afastou do código que provavelmente foi coberto pelos NDAs (considerando o cliente) e, mesmo que não fosse, não tenho certeza se arriscaria de sair com o código desenvolvido para o Federal Reserve Bank ! Você não deve ter tudo lá se acha que nada pode dar errado com isso e que não haverá pelo menos algumas pessoas influentes que não gostariam dessa idéia , se alguma vez ouviram que você levou o código com você .
haylem
10
Supondo que era um trabalho contratado e que seu ex-empregador possui os direitos autorais do código que você escreveu para eles e não o liberou como código aberto, eu diria que manter cópias do código que você escreveu é exatamente tão inadequado quanto manter cópias de código que seus colegas de trabalho escreveram.
Keith Thompson
37
@ DavidPeterman - por que um empregador que o contratou não detém o que você faz por eles? Você acha que parte da sua casa pertence ao carpinteiro que fez o enquadramento?
Reactgular
10
@ MatthewFoscarini Entendo o que você está dizendo, mas estou falando sobre os algoritmos. Isso seria como dizer que o carpinteiro não possua os passos que ele toma para construir a casa
David Peterman

Respostas:

303

Mas é incomum os desenvolvedores manterem uma cópia pessoal do código que eles escreveram (para referência futura)?

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:

  1. Esse não é o seu código a seguir.

  2. 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.

  3. 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.

  4. 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.

  5. 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? "

  6. 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.

  7. 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.

  8. 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.

Caleb
fonte
7
Além disso, se a mídia em que você mantém o conteúdo for perdida ou roubada, haverá muitos problemas. Para dizer a verdade, prefiro evitar qualquer tipo de conectividade ou fontes de VPN em meus PCs pessoais, se possível. Seu PC pode fazer parte da rede de bots sem você saber, por que arriscar?
Coder
8
Excelente resposta! Na verdade, me ofereceram uma cópia do código (ou acesso continuado) ao deixar meu antigo empregador. Recusei, exatamente por razões próximas ao número 8. Afinal, havia um motivo para se demitir deles. Se eu ainda queria desembolsar para eles, eu ficaria :)
Harald
79
+1: você não precisa disso A parte mais difícil é descobrir o que escrever, e não realmente escrever. Se você escrever uma segunda vez, provavelmente será ainda melhor.
precisa
6
Quando resolvo um problema com meu código, costumo escrever a solução em um blog. Não é um código-fonte do meu trabalho, mas um código genérico que segue o mesmo padrão (uma linha simples ou algumas linhas para atingir o objetivo - não gigantes do código). Acho que esse é um ótimo método para armazenar o que aprendi em trabalhos anteriores. +1 para o marcador 7!
Gaʀʀʏ
11
Não deveria haver um limite de algum tipo para a quantidade de código que se qualifica? Se eu usar for (int i=0; i < N; ++i)no meu código, certamente não é ilegal usá-lo em outro lugar em outra empresa ...
vsz
159

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 ?? ']

cjmUK
fonte
35
+1 E nem é relevante se é legal. Muitos de nós fazem assim mesmo. Não prejudica seu empregador anterior (você não está vendendo o código para um concorrente) e não pode ser regulamentado de qualquer maneira. De certa forma, se você "se lembra" de como resolveu um problema para um empregador anterior, está "roubando" esse segredo para eles - de uma maneira que não pode ser regulamentada até que eles inventem o controle da mente;)
Andres F.
89
@AndresF. Isso não passa de uma racionalização. O código é propriedade do seu antigo empregador, suas memórias não. Se você se lembra de como resolveu um problema, não precisa do código, então qual é o sentido de resolvê-lo?
Caleb
10
+1 por fazer o argumento moral. Pessoalmente, sigo isso, principalmente porque a maioria do meu código não é específica de domínio. Lembro-me de como resolvi algo, mas não necessariamente as nuances dele.
Telastyn
46
No caso de uma acusação da empresa de roubo de IP, ter uma cópia do código funcionará como um grande fator agravante contra você. Ter a memória disso não é. Essa é a diferença.
Oleksi
13
@Caleb Independentemente disso, muitos desenvolvedores recebem pedaços de código depois que saem. Essa é uma ação totalmente separada do uso desse código para competir ou prejudicar seu antigo empregador, e geralmente é tomada apenas como referência, como em "como diabos eu resolvi esse problema / configurei esse software antes? você quer, mas ainda é uma prática generalizada e não está machucando ninguém.Você pode enterrar suas cabeças coletivas na areia ou alegar que está errado, mas isso ainda acontece.Especialmente com terceirização / offshoring - se você acha que não acontecer, você está em uma surpresa!
Andres F.
51

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.

Oleksi
fonte
9
Não é uma má idéia, a menos que haja verificações rigorosas de segurança em seu escritório (como proibir emails e pendrives). De qualquer maneira, ninguém vai procurar no seu computador doméstico e entende-se que os desenvolvedores tiram o conhecimento de seus empregos anteriores. Você não pode impedir isso, e não seria razoável fazê-lo, se o código é "lembrado" ou copiado literalmente. O que você pode fazer como empregador é impor cláusulas de concorrência ou NDAs ou qualquer mecanismo legal disponível em seu país.
Andres F.
14
@ Malfist Não, você não. IANAL, mas está bem estabelecido que, pelo menos nos EUA, os produtos de trabalho que alguém paga para você criar são propriedade deles, não sua. Veja trabalho para contratar na Wikipedia.
Caleb
5
@ Malfist Novamente, não. Veja o link no meu comentário anterior.
Caleb
4
@ Malfist: "se você é o único desenvolvedor, e eles não fizeram você desistir de seus direitos autorais, você pode levar o código com você quando sair (eu sempre o faço)". Não tenho certeza se seus contratos refletem a maior parte da realidade. A maioria dos contratos de contratação de software diz explicitamente que você precisa entregar todas as fontes e binários e passar a propriedade e os direitos autorais para eles. O que é bastante normal para freelancing. Você pode negociar isso, mas são praticamente cláusulas de fato que espero ver nos contratos (tanto para contratos internos quanto para freelancers).
haylem
5
Vamos considerar hipoteticamente um desenvolvedor que se lembre de qualquer linha que ele escreveu durante sua carreira. Seria ilegal se ele usasse essa memória enquanto trabalhava em projetos futuros? Por que você faz distinções entre lembrar o seu código e salvar uma cópia dele no seu HD privado? Se você pode dar o exemplo da sua experiência, deve estar mesmo escrito no seu caderno em vez de ser armazenado no seu cérebro. E se você não pode reler seu código antigo que você salvou no seu PC, também não deve "lembrá-lo", o que obviamente não faz sentido.
Nadir Sampaoli
36

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.

Yannis Rizos
fonte
4
@haylem eu sou não nas instalações da empresa;)
yannis
3
mas eu tenho certeza que você sabe o que eu quis dizer, e que provavelmente não importa muito onde você fisicamente são :)
haylem
3
Ouvi um desenvolvedor falar em uma conferência do WordPress e ele disse algo como "Se eu fizer um contrato para você, verifique se você possui o código que escrevo para você, mas isso não significa que não aprendi nada. novo escrevendo seu código ".
programador
3
@ Caleb Ter a documentação adequada pode ser incomum (não sei), no entanto, não acho que manter cópias do código seja. Eu só acontecerá a ter tanto;)
yannis
2
@Krelp, chaves de criptografia, como chaves de cofres, podem ser obrigadas por meio de uma intimação.
Malfist
29

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.

  • Eu mantenho o código que escrevo? Absolutamente.
  • Eu mantenho projetos completos? Absolutamente.
  • Certifico-me de passar meu código do PC do trabalho para uma máquina doméstica? Pode apostar!
  • Eu reutilizo esse código em outra empresa ou em um projeto pessoal. Não.
  • Costumo olhar código antigo e ir WtF !? O tempo todo.
TimSonOfSteve
fonte
14
+1 Hehe, uma resposta agradável e honesta. A melhor parte é que é verdade que você nunca volta ao código antigo. Você se sente mais seguro se o levar consigo, para nunca mais olhar para ele novamente em sua vida!
Andres F.
Este também não foi um problema importante no recente caso Oracle v Google?
robertc
11
Concordo totalmente com você. Estou fazendo o mesmo É uma referência muito boa.
Andrea Girardi
2
código não é propriedade, portanto não pode ser roubado. É um resumo terrível desse caso da Goldman Sachs. O russo foi absolvido, não porque ele não fez nada de errado, mas porque seu roubo não se qualificou de acordo com a lei que o promotor estava tentando usar contra ele. Isso não significava que ele não violou seu contrato com a GS ou violou as leis de propriedade intelectual. Por favor, leia o artigo com mais cuidado e talvez leve alguns dos comentários abaixo.
Nate
Artigo relacionado: O Goldman Sachs Overstep foi acusado criminalmente de seu ex-programador? . Este também é um bom exemplo de que, mesmo se você vencer no final, a batalha legal em si pode doer muito.
código é o seguinte
10

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.

Ryan Ternier
fonte
"enquanto eu trabalhava aqui" implica que a pessoa em questão não é mais seu chefe. Se é seu ex-chefe, por que você gostaria de perguntar a ele?
28412 Alexander Alexander
Por quê? Contratos? Integridade?
21812 Ryan Ternier
Você pode manter o código que escreveu, sem usá-lo para nada e ainda assim manter seus contratos e manter sua integridade.
Alexander
2
Se você assinar um contrato que declare que todo o código é propriedade do seu empregador, levá-lo para casa é uma violação desse contrato, caso ele não saiba que você o possui ou que tenha permissão para tê-lo. É efetivamente roubo. Sim, é "código", zeros e zeros digitais, mas na maioria dos casos é preto e branco.
21812 Ryan Ternier
É a discussão clássica de "pirataria é roubo".
Alexander
8

é incomum os desenvolvedores manterem uma cópia pessoal do código que escreveram

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.

FrustratedWithFormsDesigner
fonte
3
Como freelancer, vou manter todo o código por perto. Reutilizá-lo é extremamente improvável, mas, para mantê-lo, eu o manterei (por exemplo, se o empregador contratar alguém que estrague o código e me contratar novamente para corrigi-lo).
Camilo Martin
11
No meu trabalho freelancer, acho que há muito código que é reutilizado. Quantas vezes acabei escrevendo o mesmo código de login do usuário antes de reutilizá-lo. Enquanto eu mantenho o código para manutenção, as áreas comuns do código geralmente são copiadas. Se eu encontrei algum código que é essencialmente o mesmo entre dois projetos, faço uma cópia dele de forma generalizada e o copio para outros projetos, conforme necessário.
27412 Chris
8

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.

Jon Strayer
fonte
Em alguns ambientes, há uma definição clara entre o código da Biblioteca ou Componente ou Classes projetadas explicitamente para reutilização (analisadores, etc.) e aquelas que são específicas do Domínio do Problema. O código que é específico do domínio do problema (principal aplicativo interno do XWare ou entidade comercial) pode não ser útil fora desse local, mas o componente / bibliotecas de baixo nível ou reutilizáveis ​​podem realmente ser muito úteis.
Warren P
6

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. ;)

Mathew Foscarini
fonte
O empregador deve notificá-lo, após o término, que qualquer material deve ser devolvido / destruído. Isso é mesmo verdade? O empregador está sob a obrigação legal e / ou contratual de fazer isso?
Radu Murzea
O empregador não tem obrigações legais para fazer isso, mas pode solicitar a qualquer momento que qualquer material a eles pertencente seja devolvido de um funcionário, a menos que exista um acordo entre o empregador e o funcionário que permita que o empregado mantenha esse material.
Reactgular
5

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.

JohnB
fonte
4

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.

Steve Bennett
fonte
3

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 :)

Antony Scott
fonte
2

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.

PSU_Kardi
fonte
1

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.

Sarel Botha
fonte
1

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.

Camilo Martin
fonte
1

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.

Peter Mortensen
fonte
Lembre-se de que alguns empregadores farão o possível para impedir que você "anote suas idéias" quando chegar em casa. O cenário de perda para eles não é um código copiado, mas a competição contra eles - e, para isso, as idéias são muito melhores. Não tenho certeza se é aplicável, mas alguns tentam convencê-lo a pensar que eles possuem alguma idéia que você possa ter durante o horário de trabalho.
Andres F.
11
@AndresF. Certa vez, trabalhei em um fundo de hedge que tentou evitar isso. Eles honestamente não puderam impedi-lo, então fizeram as pessoas assinarem contratos de não concorrência e pagaram para que não trabalhassem por um ou dois anos após a demissão. Embora extremamente caro (você está pagando 2 anos de salário a alguém que não trabalha para você), torna seu conhecimento obsoleto quando você sai e é inútil como ameaça competitiva.
Lostsoul
+1 apenas para ideias e não para o código. Esteve envolvido com uma empresa que processou um ex-programador por roubar código e vender um produto similar. O juiz decidiu que, como os bugs eram idênticos, ele deve ter roubado o código.
JQA
Vi muitos empregadores exigirem que um novo funcionário concordasse por escrito que não se envolveria em outras atividades de negócios enquanto empregado pelo empregador, e quaisquer outros projetos que o funcionário faça ao lado também são propriedade do empregador. Eu acho que esse assunto em si é uma questão totalmente diferente, mas esses acordos existem na maioria dos contratos de trabalho.
Reactgular
@MathewFoscarini Concordo. Na minha empresa, exigimos que os funcionários tenham uma aprovação por escrito antes de se envolverem em qualquer coisa da qual recebam um benefício (inclui projetos paralelos, trabalhos de caridade, etc.). Se você consertar o carro do seu vizinho e ele comprar uma cerveja, a qualidade seria boa, embora os funcionários percebam que provavelmente não o buscaríamos.
precisa saber é o seguinte
1

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.

David Veksler
fonte
11
O segundo item supõe que haveria uma solução de código aberto, que está longe de ser certa. Mas o mais importante é que parte do código que retive é um código que demonstra como usei componentes / serviços de terceiros. Por exemplo, se eu desenvolver uma solução de pagamento decente que se integre ao Paypal, usarei o código para consultar mais tarde - para que não precise reinventar a roda da próxima vez.
cjmUK
0

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).

Xandor Schiefer
fonte
4
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.
Maple_shaft
11
Eu acho que há uma diferença em manter os arquivos de origem originais (no seu caso, arquivos gráficos como .ai ou .psd) vs ter uma captura de tela do produto final para o seu portfólio. Você ainda deve pedir permissão ao seu empregador, mas eles devem ser mais agradáveis ​​com o último.
Sarel Botha
Como o trabalho geralmente é interativo por natureza, uma captura de tela não serve para um portfólio. Isso mostraria apenas o design (que na maioria das vezes não é meu). Eu poderia ter um screencast de mim usando o trabalho em questão, mas isso ainda não transmite coisas como latência, desempenho, compatibilidade entre navegadores.
Xandor Schiefer
0

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 ;)

Soumyadip Das
fonte
11
A outra abordagem para isso é que, quando encontro um código útil / reutilizável que gostaria de "levar comigo" ... simplesmente vou para casa e escrevo um post sobre a API ou técnica específica que interessou mim. Obviamente, esta postagem no blog não faz referência ao meu empregador, nem usa, linha por linha, o código escrito na moeda do meu empregador.
Joel Martinez
Se houver regras, elas deverão ser uma anti-regra. Que você pode usar a seu favor. São técnicas diferentes para conseguir isso. O mais importante é manter o trabalho claro.
Soumyadip Das
0

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.

Scott S
fonte