Você costuma escrever seu próprio nome ou o nome da empresa no seu código?

13

Eu tenho trabalhado em vários projetos em casa e no trabalho e, ao longo dos anos, desenvolvi duas APIs principais que uso em quase todos os sites baseados em AJAX. Eu compilei esses dois em DLLs e chamei os namespaces Connell.Database e Connell.Json.

Meu chefe recentemente viu esses espaços para nome em uma documentação de software para um projeto para a empresa e disse que não deveria estar usando meu próprio nome no código. (Mas é o meu código!)

Uma coisa a ter em mente é que não somos uma empresa de software. Somos uma empresa de suporte de TI e sou o único desenvolvedor de software em tempo integral aqui, portanto não há realmente nenhum procedimento sobre como devemos escrever software na empresa.

Outra coisa a ter em mente é que pretendo um dia liberar essas DLLs como projetos de código aberto.

Como outros desenvolvedores agrupam seus namespaces na empresa? Alguém usa as mesmas bibliotecas de classes em projetos pessoais e de trabalho?

Isso também funciona ao contrário? Se eu escrevo uma biblioteca de classes totalmente no trabalho, quem é o proprietário desse código? Se eu vi a biblioteca do começo ao fim, a projetei e a programi. Posso usar isso para outro projeto em casa?

Obrigado,

Atualizar

Conversei com meu chefe sobre esse assunto e ele concorda que eles são meus objetos e que ele está bem em eu abri-los. Antes dessa conversa, comecei a alterar os objetos de qualquer maneira, o que era realmente bastante produtivo e o código agora se adapta a esse projeto específico mais do que antes.

Mas obrigado a todos os envolvidos por um debate muito interessante. Espero que todo esse texto não seja desperdiçado e que alguém aprenda com ele. Eu certamente fiz.

Felicidades,

Connell
fonte
10
Eu acho que esta questão necessita de um aviso como "campo minado Legal frente"
Matt Ellen
4
ele não precisa dizer nada sobre software em particular. Depois que eles pagam pelo seu tempo, tudo o que você faz nesse período pertence a eles.
precisa
1
É aqui que reside o problema. O que eu uso em casa, eu fiz no meu próprio tempo. No entanto, tenho uma versão editada desse código para um projeto de trabalho que editei na época.
precisa
1
@Connell - Também não é advogado e depende do país em que você está, mas geralmente pode haver uma área cinzenta sobre qualquer coisa que você faz no seu próprio tempo, qualquer coisa que você faz no tempo deles é quase certamente deles e eles possuem o IP . A versão curta - não é o seu código, é o deles, você acabou de escrever.
Jon Hopkins
2
@ Matt Acho que vou ter que conversar com meu empregador então. Veja se consigo escrever por escrito, quem é o proprietário do código que eu faço no meu tempo. Uma pergunta final. Se eu liberar o código residencial como código-fonte aberto, isso daria a alguém o direito de usar e editar meu código, incluindo meu empregador? Isso não contornaria a questão? Obrigado pela ajuda!
precisa

Respostas:

11

(Isenção de responsabilidade padrão - não sou advogado ...)

Pelo seu perfil, você parece estar no Reino Unido.

Nesse caso, depende de como você está empregado. Se você é um membro permanente da equipe, quase certamente seu empregador é o dono das obras . Você os escreveu e tem os direitos de ser identificado como o autor (ou seja, você pode dizer às pessoas que os escreveu), mas a propriedade do código e a propriedade intelectual nele residem na sua empresa.

Se você é um contratado, pode ser que você tenha alguma reclamação, mas isso depende da natureza do contrato. De um modo geral, a maioria dos prestadores de serviços de TI do Reino Unido são classificados como trabalhadores contratados, o que significa que novamente o IP é da empresa e não do indivíduo. Certamente, falar de um contrato de trabalho padrão sugere que esse será o caso, caso você seja permanente no contrato.

Nessas circunstâncias, você não tem o direito de liberá-los como código aberto (ou mesmo de levá-los ao seu próximo empregador) e deve pensar neles da mesma maneira que pensa em qualquer outro software proprietário e agir em conformidade - eles ' você não é seu, por acaso você tem acesso ao código fonte.

EDIT : Quanto ao fato de você ter desenvolvido algumas delas em seu próprio tempo. No minuto em que você começou a usá-lo no trabalho sem reivindicar seus direitos e licenciá-lo com antecedência para a empresa, ficou muito sombrio, pois agora é muito difícil mostrar o que foi feito quando. Pelo que você está dizendo, as bibliotecas de código foram testadas, depuradas e corrigidas no tempo de trabalho (e a empresa possui tudo o que foi feito no tempo), além da óbvia sobreposição com o trabalho que você estava fazendo por elas (como evidenciado pelo fato de que elas atendeu a um requisito que a empresa tinha no qual você estava trabalhando) significa que eles têm uma reivindicação e provavelmente uma exigência bastante forte.

A União Unida tem uma peça sobre isso . A seção principal parece ser:

"Existem disposições legais expressas:

· Seção 11 (2) da Lei de Direitos Autorais, Desenhos e Patentes (CDPA) de 1988 e

· Seção 39 da Lei de Patentes de 1977

lidar com a propriedade das obras dos funcionários. De acordo com essas disposições, os empregadores adquirem essencialmente os direitos de propriedade intelectual em relação a quaisquer obras criadas por um funcionário que ele / ela

· Era obrigado a produzir de acordo com os termos do contrato de trabalho ou

· Poderia razoavelmente esperar produzir sob os termos desse contrato.

Obviamente, quanto maior a descrição do trabalho de cada funcionário, mais difícil será para ele evitar os efeitos das Seções 11 (2) e 39 acima.

Mesmo que o trabalho seja criado pelo empregado em seu próprio tempo e utilizando seus próprios recursos, o empregado não poderá necessariamente reivindicar nenhum direito nesse trabalho, se o empregador mostrar que a natureza do trabalho criado foi a que poderia ser razoavelmente contemplado como parte dos deveres do funcionário. Isso é demonstrado pelo caso de Missing Link Software / Magee [1989] FSR 361. Lá, o tribunal sustentou que os direitos autorais de um programa de software escrito por um funcionário fora do horário de trabalho e de seu próprio equipamento foram feitos durante o emprego, como se enquadrava no escopo das tarefas que o Sr. Magee estava empregado para realizar ".

Basicamente, porque essas bibliotecas atendem a um requisito específico em um projeto no qual você está trabalhando para elas, elas têm uma reivindicação.

EDIÇÃO 2 : Você precisa entender que o fato de haver duas versões do código é provavelmente irrelevante. O código atende a uma necessidade da empresa em um projeto em que você estava trabalhando e você o escreveu enquanto era empregado pela empresa (mesmo que fosse no seu próprio tempo). Isso dá a eles uma forte reivindicação sobre o "IP principal" do código, não apenas sobre uma cópia específica que você implementou no projeto deles - visualizá-lo como duas ramificações não muda isso.

Vale a pena notar que mesmo a reescrita seria denominado trabalho derivado e o IP ainda permaneceria com a empresa, mesmo em uma nova versão.

Eu acho que você tem uma idéia do que quer que seja verdade e está tentando distorcer as coisas para fazer isso, mas pelo que você está dizendo, acredito que a empresa tem uma reivindicação muito forte do código de que você não vai ser capaz de contornar.

Jon Hopkins
fonte
Todo mundo parece estar dizendo coisas semelhantes. A única coisa em que estou realmente confuso é que a maioria das pessoas está me dizendo para não divulgá-las como código aberto. Se for o meu código, que desenvolvi em meu próprio tempo, com meu próprio IDE no meu próprio computador. Certamente eu tenho o direito de liberar esse código? Isso me permitiria usar e editar esse código para a empresa, como se fosse outro código de código aberto?
precisa
@ Connell - veja a edição acima, a versão TL; DR: os direitos provavelmente ainda pertencem à empresa e não a você.
Jon Hopkins
Resposta muito boa! Obrigado. Decidi que vou reescrever as bibliotecas no trabalho. Embora ainda faça algo muito semelhante, esse código será da empresa. Nada pode ser dito sobre a semelhança entre os projetos, pois nenhum contrato ou lei tira o meu direito de aprender com as experiências domésticas para escrever software no trabalho ou vice-versa.
Connell
1
@ Connell - Eu acho que você perdeu o ponto. O código que já existe é da empresa - você precisa reescrevê-lo em casa inteiramente no seu tempo para ter uma versão sua. Mesmo assim, será questionável. Vejo no seu site que você deseja sair. A melhor coisa a fazer é conseguir um novo emprego com um contrato que deixe claro quem é o dono do quê e comece a reescrever.
Jon Hopkins
5
@ Connell - Você diz que o código em casa não foi tocado no tempo da empresa. Você pode provar isso? Absolutamente e conclusivamente? O fato de haver uma versão em seu trabalho que é uma versão modificada do código confunde demais as águas para prova. Você deu ao seu empregador a propriedade do código, pois uma versão dele reside em seu sistema. Seus VCS (eles têm um que eu suponho) terão registros das versões do código que (aos olhos deles) foram desenvolvidas em seu tempo, portanto, apenas removê-lo não fará nenhuma diferença, exceto que agora eles podem reivindicar ter pago para desenvolver duas vezes.
uɐɪ
12

Se sua empresa está pagando para você codificar, é o código deles. Eu não o lançaria como um projeto de código aberto, a menos que você tenha a permissão deles.

RoboShop
fonte
Eu escrevi provavelmente 90% deste projeto em casa. Fiz algumas alterações no trabalho e, de fato, não utilizo nenhuma dessas alterações em casa, por isso, se a liberei sem essas alterações? Eu precisaria pedir permissão então?
precisa
1
@ Connell: Em primeiro lugar, não sou advogado. Se fosse esse o caso, eu me certificaria de fazer separações claras entre sua API e o código deles. Eu nem teria o código fonte no trabalho e apenas referenciaria a DLL.
RoboShop
@ Connell: E também para reiterar mais uma vez, não sou advogado. Isso é apenas o que eu faria ...
RoboShop
Sim, eu pensei em colocá-lo em uma DLL. Estou ficando um pouco preocupado com tudo, por isso preciso executar algum tipo de ação. Acho que minhas opções são usar uma DLL (mas dessa forma, se eu não trabalhar mais aqui e precisar de alterações nessa camada de código, eles precisarão reescrevê-lo, o que talvez não lhe agrade), ou renomeá-lo e reescrevê-lo com um design um pouco diferente.
precisa
3

Houve casos em que o código escrito em casa enquanto trabalhava para uma empresa era considerado propriedade da empresa. Não tenho certeza se isso já foi testado em tribunal, mas acho óbvio que qualquer código que você escreve usando equipamentos da empresa, durante o tempo da empresa (ou seja, o tempo em que você está sentado em sua mesa sendo pago pela empresa para escrever o código) e por O software da empresa pertence à empresa. Você firmou um contrato com eles (verifique seu contrato de trabalho) que diz que eles lhe darão dinheiro em troca de você escrever um código para eles. Você não ficaria impressionado se eles dissessem que reteriam seu salário porque pretendiam dar-lhe caridade.

Então, em suma, não é o seu código. Você não é o dono. Os namespaces devem ser o nome da empresa porque pertencem a eles. Eles pagaram alguém para escrever! (você é).


  • ressalva: você precisa verificar seu contrato ou termos de emprego para determinar se o que realmente é verdade é verdade no seu caso, eu diria que é assim mesmo, pois eles poderiam facilmente demiti-lo por fazer suas próprias coisas no horário da empresa, no mínimo, e depois reivindicar que pertence a eles de qualquer maneira. o melhor conselho para o futuro é manter o que você faz por si mesmo e o que você faz pelo seu empregador totalmente separados.
gbjbaanb
fonte
Obrigado pelo aviso, acho que vou reescrever o código da empresa e mantê-lo separado. Imaginei que se fosse meu código e o estivesse usando para a empresa, é quase como se eu tivesse a licença e estivesse dando permissão à empresa para usá-la.
precisa
2

Eu acho que há um lugar onde você cometeu um erro. O problema é que você escreveu o código em casa em seu próprio tempo e descobriu que o código seria útil no trabalho, então você começou a usá-lo também. O que provavelmente seria a coisa certa a fazer nesse caso, não é incorporar o código que foi feito fora do trabalho no código da sua empresa. Você precisaria usar o tempo da empresa para reescrever a funcionalidade que você já escreveu, para que eles pudessem usá-la. "Mas isso é uma grande perda de tempo", você diz. Portanto, a outra opção é que eles licenciem / comprem o código de você por um preço ou gratuitamente, para que saibam que têm permissão legal para usar o código. Eu acho que o que pode estar acontecendo na sua mente dos empregadores é que eles estão se perguntando o que acontece com esse código quando você sai? Eles ainda têm o direito de usar esse código?

Muitos programadores trabalham em coisas em seu tempo livre que provavelmente seriam úteis para seus empregadores, mas você não deve começar a misturar o código sem a aprovação da empresa.

Kibbee
fonte
2

Os futuros programadores precisam saber quem escreveu o código, caso o nível de documentação seja inadequado (o que, infelizmente, é frequente).

Eu sempre assino meu nome por esse motivo. E também me lembra que preciso garantir um ótimo trabalho, porque sei que, se não o fizer, algum colega irado me ligará no meio da noite! :)

Alex
fonte
3
É para isso que servem os logs de controle de origem.
Adam Lear
Sim, isso é verdade, mas como desenvolvedor freelancer, muitas vezes fui designado a projetos nos quais o controle de origem foi mal usado ou não foi usado. Não demora mais que alguns segundos para adicionar seu 'carimbo' aos seus arquivos de origem. Alterações aos códigos existentes Eu sempre documentar nos sistemas de controle de origem, onde disponíveis ... :)
Alex
Exceto quando o código é movido para um repositório novo por qualquer motivo e os logs desaparecerem. Teve uma situação como essa recentemente, em que um problema não pôde ser rastreado por causa disso.
scrwtp
0

Como quase todo mundo disse, provavelmente é o caso da empresa ter alguma afirmação sobre o código (com frases como "eu escrevi provavelmente 90% desse projeto em casa". É obscuro).

Uma das coisas a considerar no futuro é revisar cuidadosamente os contratos de trabalho e obter um 'tempo próprio, kit próprio -> propriedade própria' ou obter uma isenção por projeto da empresa. Infelizmente, isso não ajuda em nada.

Vatine
fonte
0

O que há de errado em usar outro nome? O nome do seu filho / filha / gato / cachorro / hamster? Então você não precisa ter essas dificuldades - você acabou de escolher um nome 'amigável'.

Mathew
fonte
Estranhamente, eu estava apenas investigando isso. Estou tentando pensar em um nome único projeto agradável para ele :)
Connell
... Atualmente, uso 'Theodore' - o nome do gato do meu vizinho. Isso nunca parece algo inofensivo. Outros nomes que usei pareciam uma boa idéia na época e não funcionaram a longo prazo. Aqui estão alguns para você pensar: applemuseum.bott.org/sections/codenames.html
Mathew
0

Todas as respostas parecem concentrar-se na propriedade.
Mas propriedade e autoria (autores e proprietários, resp) são noções diferentes.
O autor está vinculado a direitos morais ou inalienáveis que são :

  • perpétuo
  • inalienável
  • Direito imprescritível
  • Não apreciável
    Se uma obra já criada e o produto de sua exploração puder ser apreendida pelos credores, conforme o caso, este último não poderá exigir que a referida obra seja divulgada com a finalidade de recuperar o dinheiro devido por seu autor.

Direitos morais, ou inalienáveis, de autor não podem ser renunciados na maioria das jurisdições .

Embora a propriedade esteja relacionada aos direitos Econômicos, também conhecidos como propriedade.

Por que não seguir apenas a prática de como os artigos científicos estão sendo assinados, quando os trabalhadores frequentemente trabalham como pesquisador / professor visitante, empregados / financiados e várias entidades. ou sob financiamento independente de terceiros: nome do autor + onde o trabalho foi realizado + créditos que financiaram o trabalho.

Observe que esses são muitos para muitos relacionamentos (um autor e seu trabalho podem ter várias afiliações e financiamento).

Gennady Vanin Геннадий Ванин
fonte