É legal recriar / código-fonte aberto um programa que você codificou anteriormente para outra empresa


49

No meu trabalho anterior, criei um painel genérico para automatizar tarefas, que acabou sendo bastante útil - e, é claro, meu empregador anterior possui todo o código que escrevi enquanto trabalhava lá. Agora que não estou mais lá, é legal recriar esse painel da memória e abrir o código de código-fonte aberto? Se eu recriá-lo, o código (talvez 2k-3k linhas) pode ser quase idêntico ao original, pois tenho uma memória muito boa e tendem a seguir meu estilo de codificação e convenções de nomenclatura habituais.

Editar: um pouco mais de experiência - este é um software bastante genérico que é usado apenas internamente por uma equipe pequena (<10) dentro de uma corporação global. "A empresa" nem sequer está ciente desse sistema, pois eu o crio por minha própria iniciativa. É construído em python / django. E por quase idêntico, quero dizer que, por exemplo, os modelos django terão o mesmo nome / campos e visualizações usarão consultas semelhantes para retornar os mesmos conjuntos de objetos.


15
Você os abordou sobre o código-fonte aberto? Se isso não fizer parte do negócio principal de ganhar dinheiro, eles podem ser felizes em fazer isso, e também teria o benefício adicional de fornecer novos recursos gratuitamente, assumindo que você ou outras pessoas o estenderiam.
Dodgy_coder 29/09

3
em praticamente todos os contratos, o que você faz pelo seu empregador, por escrito ou não, é propriedade intelectual dele . Portanto, cuspi-lo novamente e disponibilizá-lo a alguém que não esteja nesse contrato é uma violação do contrato.
Stijn

11
Teoricamente legal, mas boa sorte provando isso em tribunal. :(
SF.

6
Uma distinção interessante aqui é a diferença entre "legal" e "ético". Na maioria dos casos, se você precisar fazer a pergunta, é porque você já sabe a resposta e simplesmente não quer admitir.
Joel Etherton

11
Se essa era uma função genérica, parece perfeitamente bom reutilizá-la em qualquer lugar que você vá e até publicá-la online. Então, por que um conjunto de funções seria tão diferente?
Kefeizhou

Respostas:


35

Boa pergunta, mas provavelmente é o lugar errado para perguntar, porque você não receberá bons conselhos legais dos programadores. IANAL, procure aconselhamento jurídico adequado.

Não parece legal. Há uma chance muito boa de que, se você lançar um programa quase idêntico ao da sua antiga empresa, possa ser processado. Dito isto, tenho certeza que isso acontece muito.

Uma coisa que você pode fazer é recriar o programa em um idioma diferente. Dessa forma, fica claro que você não saiu da empresa com o código-fonte e depois o código-fonte aberto. Também é educativo resolver um problema com o qual você esteja familiarizado em um idioma diferente.

Eu também sugeriria pensar em maneiras de melhorar o programa, torná-lo mais extensível etc. way "decisões de design que você pode ter tomado pela primeira vez.

Mesmo que você nunca a solte, seria um bom exercício. Se, em última análise, você receber aconselhamento jurídico e optar por liberá-lo, estará mais protegido.


5
se você quiser manter o mesmo idioma, pense em escrever "quase" o mesmo código, mas alterar a interface do usuário . Como mcottle disse, você pode aprimorá-lo e, se uma página da Web parecer totalmente diferente, mesmo que tenha "quase" exatamente o mesmo código que o que você usava antes, você estará se afastando ainda mais dos problemas de processos legais.
Olivier Pons

11
Partes do código, incluindo a interface do usuário, serão diferentes, mas algumas podem acabar sendo as mesmas por vários motivos (estilo de codificação pessoal, etc.). Até onde eu preciso chegar a 100% em claro?
Kefeizhou

11
-1 para "não parece legal". As sugestões são boas, por mais que os problemas sejam práticos, não legais.
Sean McMillan

2
Por que diabos todo mundo pensa que quando você reescreve algo do zero, você faz algo melhor? Você pode realmente fazer algo pior.
Clement Herreman

2
@ClementHerreman: Concordo. Em algum momento, é melhor usar algo que já foi comprovado em ação. Se você reescrever do zero, poderá fazer muitas melhorias, mas também introduzir novos bugs.
Kefeizhou

21

Legal ou não, se o seu empregador descobrir e decidir pressionar a questão, você estará em um mundo de mágoa. Mesmo se você acabar sendo julgado corretamente, o litígio em potencial pode acabar sendo completamente arruinado para você. Você também corre o risco de provocar a ira da comunidade OSS por poluí-la com código protegido por direitos autorais, além de perder a reputação de ser vista como desonesta pelo seu empregador.

Você também arrisca a ação de qualquer pessoa que adote seu produto. Na pior das hipóteses, qualquer pessoa que use o seu produto terá que licenciá-lo do empregador anterior ou removê-lo da solução, custando tempo e dinheiro - de qualquer forma, eles podem acabar processando você por danos.

Parece que seria mais fácil fazer a coisa certa - converse com seu empregador anterior, obtenha seu consentimento para reutilizar o produto que você desenvolveu para eles com a intenção de distribuição de código aberto. Eles podem apenas dizer "vá em frente". Fazer isso pelas costas é geralmente uma má idéia, deixando de lado questões legais.


Quase invariavelmente, qualquer empregador que se preocupa em possuir o produto final não permitirá que o funcionário que o criou o distribua de outra maneira com o seu consentimento. Caso contrário, qual é o propósito de possuí-lo?
Joe Z.

14

Que tipo de programador, com a chance de recriar algo que eles fizeram anteriormente (as lições aprendidas etc.), produziria algo "quase idêntico". A menos que você acredite que codificou algo perfeito ??? Nesse momento, você tem perguntas maiores para se perguntar.


10
o tipo preguiçoso sem muito tempo. Prefiro usar o que funciona do que tentar resolver o mesmo problema duas vezes neste caso em particular.
Kefeizhou

8

Os painéis são dez centavos. Seu empregador nunca foi o proprietário dessa propriedade intelectual. Seu empregador possuía os direitos autorais da implementação específica.

Você pode escrever o novo código do zero. Isso significa que o trabalho não é um trabalho derivado. É inteligente manter anotações para que você possa provar isso.


Atualização recente: theregister.co.uk/2011/09/30/software_copyright . Espera-se que o TJE declare explicitamente que a interface do usuário não possui direitos autorais, pois se enquadra nas "idéias e princípios" de um programa de software.
MSalters 30/09

5

Tecnicamente, você está criando um trabalho derivado - você está familiarizado com a solução existente e está recriando-o da memória. A IANAL usual se aplica, mas se o seu ex-empregador o processar por violação de direitos autorais, meu palpite é que eles têm um argumento bastante forte, e cabe a você apresentar uma explicação plausível sobre por que o seu programa recriado não deve ser considerado um trabalho derivado.

Aspectos técnicos à parte, entrar em uma ação judicial com um ex-empregador não é onde você quer estar, nunca - mesmo se você vencer, você será 'aquele cara', o que duvido que seja uma jogada inteligente na carreira.


3
Não acredito que é assim que os trabalhos derivados são definidos - acho que você precisa incluir parte dele.
Sean McMillan

Depende da jurisdição e da interpretação, mas 'derivar' não precisa necessariamente significar 'incluir partes de'.
tdammers

11
@ Tdammers: Sim, mas isso torna inútil perguntar aqui. Nós não somos advogados gerais, e os que provavelmente não são advogados do OP. Não podemos responder perguntas legais específicas (e observe que o que constitui um "trabalho derivado" é um tópico de discussão quente no mundo do F / OSS).
David Thornley

Bem, o que quero dizer é que, mesmo se você recriar a coisa da memória, será difícil provar que ela não deriva quando o juiz / júri sabe que você também escreveu a original, que se parece exatamente com a nova que você está reivindicando. não é um trabalho derivado. "Inocente até que se prove o contrário" não se aplica ao direito privado.
tdammers

4

Nos EUA, se o seu ex-empregador decidir processá-lo, você terá problemas, independentemente do que os juízes pensem.

Teoricamente, sua empresa é dona do seu trabalho, não do seu cérebro. Portanto, se você fizer o trabalho novamente em seu próprio tempo, eles não deverão ter nenhuma propriedade disso. Afinal, eles te contrataram por causa do que você sabia antes de te contratar. Parece lógico supor que eles possam tirar proveito de seu conhecimento anterior, mas ao mesmo tempo negar que você faça o mesmo depois que você for embora. Mas IANAL também.

A menos que eles tenham feito você assinar algumas coisas loucas. Ou a menos que tenham apresentado uma patente. Se eles fizeram isso, eles não possuem essa parte do seu cérebro. Nesse caso, esses padrões de células nervosas que compõem esse conhecimento dentro do seu cérebro não são mais seus e você deve evitar usá-los novamente. Fale sobre vender sua alma.


3

Vou desviar-me do tópico principal para dizer que sinto que tudo isso é realmente triste.

Agora sobre a questão:

Se você era um carpinteiro fazendo móveis, e a antiga empresa lhe fornecia projetos e plantas, então você é contratado por outra empresa, claramente você está com problemas se começar a fazer exatamente as mesmas coisas.

Se sua empresa anterior comprou apenas o produto de seu trabalho e você os projetou e os "inventou" (e você pode provar isso), a lei deve estar com você.

A moral da história: da próxima vez, faça código aberto desde o início.


Eu considerei isso na época, mas há muita burocracia envolvida na tentativa de abrir o código, mesmo um pequeno pedaço de código de uma empresa financeira.
Kefeizhou

3

(a) Não tome aconselhamento jurídico da Internet (incluindo este aconselhamento!)

(b) Ser processado é uma verdadeira dor nas costas, mesmo se você ganhar

(c) Parece que você acha que não há risco real de ser processado. Nesse caso, provavelmente não importa se você tem o direito privado de fazer isso.

Seja legal ou não, isso vai se resumir a quanto você deseja recriar esse projeto x quanto você deseja correr o risco de ser processado. Se você tiver o dinheiro, sugiro falar primeiro com um advogado sobre se você tem o direito de fazer isso, e o custo de fazer o litígio desaparecer se você o fizer.


0

Provavelmente existe uma diferença legal entre recriar a solução da memória e criar uma solução original para a mesma especificação (mas IANAL, pergunte uma). Para provar o último, você pode publicar uma especificação original e completa da ferramenta que planeja desenvolver em seu blog. Então, é possível para outro desenvolvedor que nunca viu seu trabalho anterior codificá-lo.


0

Aqui está uma maneira simples: -Abra o painel a partir do URL disponível publicamente. -Pense nas melhores maneiras de tornar mais fácil / melhor / assim por diante. - Reescreva-o em um idioma diferente, como sugerido anteriormente. Uma boa razão para aprender ruby, haskell, lisp e assim por diante. -Em seguida, crie um projeto de código aberto. fique à vontade para adicionar 'inspirado em ...' e vincular ao site original.


0

Não custaria muito tempo para pedir permissão. Você precisa de assinatura legal por escrito. Para se cobrir.

Mas se você pedir a eles para permitir que você recrie alguma coisa que você criou para eles já. Venda para eles. Venda-lhes a ideia. Você vai abrir código fonte de um software que eles já usam e torná-lo aberto a análises e acréscimos potencialmente significativos da comunidade de programação. Eles não precisarão gastar recursos internamente para gerenciar e melhorar o software. A menos que eles queiram obter maiores benefícios. Quero dizer, realmente vender a ideia para eles.

Se não for uma tecnologia comercial essencial que eles estão vendendo para os clientes, você provavelmente obterá aprovação com bastante facilidade. Se é algo que eles vendem para os clientes, eles se abrem para concorrentes competindo com o mesmo produto. Somente você realmente saberia o quão importante seu empregador anterior visualiza esse código. Se não for essa importação para a geração de renda e for apenas um aprimorador da produtividade, é muito provável que você obtenha aprovação.

É o caminho mais barato e mais curto para obter o que deseja. Se eles dizem que sim, não há problema. Custou apenas algum tempo. Se eles recusarem, e você ainda quiser continuar, pergunte a um advogado sobre a opinião dele. Espero que a única coisa que eles possuam seja a implementação. Se você recriá-lo com alterações suficientes para que não pareça e funcione exatamente da mesma maneira, estará muito melhor.

É um estado disfuncional, do sistema atual em que não possuímos a produção de nosso trabalho. Algumas das sociedades mais bem-sucedidas onde aquelas onde as pessoas poderiam lucrar livremente com seus próprios esforços. Você pode fazer comparações com essa situação com a propriedade feudal da terra e com os problemas que ela criou. Em algum momento, as pessoas vão fazer negócios de maneira diferente. Como googles 1/5 do seu tempo para seus próprios projetos.


0

Certamente, tudo isso se resume ao contrato entre você e o cliente. Se você planejou fazer isso, deveria ter uma cláusula que declara 'esse tipo de fonte continua sendo propriedade intelectual de kefeizhou ...' ou algo assim (eu sei que retrospectiva é 20/20). Concordo com os outros comentários de que a Programmers SE não é a melhor fonte de aconselhamento sobre legakl e que, legal ou não, isso está criando problemas para você. Aliás, eu costumava trabalhar como designer gráfico e, nesse setor, quase todo o trabalho continuava sendo o IP do cliente e não do designer.


Portanto, se você desenhar uma imagem de um carro para um cliente, não poderá mais desenhar uma imagem de um carro para outro cliente?
Nate

Não, não é possível desenhar a imagem de um carro para um cliente e enviar o mesmo desenho de um carro para o segundo cliente. Mas também não é possível enviar ao segundo cliente qualquer coisa que possa ser legalmente discutida seja igual ou muito semelhante ao carro do primeiro cliente.
Paul T Davies

-1

Na França, é ilegal.

O proprietário do código é seu ex-chefe. Não importa como você o recupera, de um pen drive USB ou de sua memória.

Se você deseja usar esse painel, é necessário definir um contrato com o proprietário.


Certamente toda empresa tem sua própria política sobre isso, e não uma lei nacional? Eu pensei que isso seria algo que está no contrato de funcionário de uma empresa, se houver.
Dodgy_coder 29/09/11

O padrão é que você receba um salário em troca da escrita do código. Embora a possibilidade possa existir, não conheço políticas alternativas. Isso é diferente se você é freelancer e vende aplicativos ou bibliotecas; nesse caso, você é o chefe e o seu código.
Mouviciel 29/09/11

Ainda bem que não estou na França.
Kefeizhou

11
Posso dar à França um -1? A recuperação "da memória" não é a mesma coisa que a partir de um disco.
Sean McMillan

2
Isso significa que, na França, se você implementar um algoritmo ou escrever algum tipo de programa, nunca poderá implementar esse algoritmo ou escrever esse tipo de programa para outro empregador?
David Thornley
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.