É ético usar código pessoal no trabalho?

29

Estou trabalhando em um projeto paralelo no trabalho, onde considero benéfico usar parte do meu código que desenvolvi pessoalmente (fora do trabalho) para acelerar meu desenvolvimento. Meu projeto paralelo é o desenvolvimento de um aplicativo C ++ GUI para permitir que nossos usuários avançados executem consultas (criadas por mim) em bancos de dados em várias plataformas diferentes ( DB2 , Oracle, SQL Server e MySQL ). No passado, eu costumava apenas executá-las a pedido ou criar um aplicativo VBA do Excel para elas. Agora que criei vários aplicativos VBA para várias pessoas, acho que é necessário criar um aplicativo central que apenas leia arquivos .sql personalizados e execute em vários bancos de dados.

O aplicativo que estou construindo está em C ++ e usa um kit de ferramentas GUI de plataforma cruzada LGPL . No entanto, tenho muito código que em minhas próprias bibliotecas que construí ao longo dos anos em projetos de lazer e não relacionados ao trabalho. É bom usar esse código no trabalho, economizando tempo (e a empresa)? Em caso afirmativo, posso portar quaisquer correções e aprimoramentos de volta para minha biblioteca pessoal? Parece haver uma linha que eu não sei quando vou atravessá-la.

Eu só quero acrescentar que nenhum código pessoal tem algo a ver com qualquer lógica comercial. Eles são apenas classes básicas de utilitários / wrappers.

Peter Mortensen
fonte

Respostas:

38

Tudo bem usar esse código no trabalho, economizando tempo para mim (e para a empresa)?

Sim, é ético. No caso de você descrever que é o proprietário do código, poderá entregá-lo livremente à sua empresa. Eles contrataram você para escrever o código, para que confiassem no seu código.

Em caso afirmativo, posso portar correções de bugs e aprimoramentos de volta para minha biblioteca pessoal?

Seu contrato provavelmente proíbe isso, a menos que você obtenha permissão (verifique seu contrato).

A melhor solução é conversar com seu gerente. Não consigo ver nenhum gerente recusando sua solicitação. Também faz você parecer bem quando aponta como sua codificação pessoal está ajudando a empresa.

Tom Squires
fonte
Se você fizer as correções da memória e não copiar o código feito no trabalho (que pode ser rastreado), é bastante difícil provar de onde veio a idéia; é tão provável que você fez o bugfix em seu tempo livre e re importado-lo ao seu código de trabalho
Izkata
@ Izkata: A questão era sobre ética , não provabilidade. Se pudesse ser provado que o backporting ocorreu ou não, o solicitante ainda o faria . Se, como Tom Squires (provavelmente corretamente) diz, o contrato proíbe que, então não, não seria ético .
Ross Patterson
@RossPatterson A segunda metade, sobre backporting, não era sobre ética, e Tom parece ter interpretado da mesma forma que eu - uma questão legal mais do que ética. Além disso, se as correções forem feitas a partir da memória, é improvável que o código seja idêntico, a menos que seja uma correção absurdamente simples - em ambos os casos, nenhuma ética está envolvida, é apenas um design convergente.
Izkata
A verdadeira questão não é ser ética ou de confiança, é se você coloca o código sob uma licença adequada antes mesmo de tentar usá-lo no trabalho. Pense em direitos autorais e pense nos dois sentidos.
JensG
22

Algumas empresas reivindicam o trabalho que você fez fora de horas também. Depende da empresa, alguns deles são grandes no controle de IP.

Tudo deve estar no seu contrato. A preocupação é se eles reivindicam seu trabalho de tempo livre, o que tem sido um horror meu.

zeristor
fonte
2
definitivamente vale a pena olhar, há uma chance razoavelmente boa de que o código já esteja de acordo com o contrato, e adicioná-lo à sua base de código quase que definitivamente fez dele o código.
Ryathal
Reivindicar trabalhos que você fez fora do seu trabalho ? É possível? Eu acho que deve depender do país em que você está trabalhando, porque, até onde eu sei, isso seria ilegal na França, mesmo que escrito no seu contrato.
Clement Herreman
1
Muitas empresas tentam isso, é impossível fazer cumprir, porque quase todos os contratos também afirmam que você não pode processar seu empregador.
Woot4Moo 7/11
1
+1 @Raythal - a menos que o OP licenciado seu trabalho ao seu empregador, incluindo-o em seus projetos sem aviso prévio poderia ter feito um produto de trabalho. Ele pode ter contaminado irremediavelmente suas bibliotecas pessoais se sua empresa descobrir e ficar irritada.
Davee
2
IANAL, mas muitos acordos de IP reivindicam o IP em quatro situações: se o trabalho foi realizado no horário da empresa, se utilizou os recursos da empresa (hardware, software etc.), se resultou do trabalho realizado pelo empregador (possivelmente usando a empresa protegida) algoritmos proprietários de informações, etc.) ou se estiver relacionado a qualquer negócio atual da empresa ou pesquisa ou desenvolvimento real ou antecipado. O último é o mais vago, pois qualquer coisa pode ser "antecipada". Eu ficaria interessado em saber se alguém realmente foi processado por isso em uma situação que não seja a da concorrência direta com o empregador.
Cliff
6

Sua empresa pode ter um departamento ou especialista em IP dedicado. Verifique com eles. Seu gerente deve poder colocar você em contato.

Certamente é ético; Não posso imaginar que sua empresa lamentaria ter mais acesso ao seu trabalho e capacidade cerebral. Você deseja se proteger de perder o controle sobre seu próprio código. Algumas coisas que você pode considerar fazer primeiro são criar um projeto de código aberto com seu código e atribuir uma licença compatível com as políticas de IP da sua empresa.

Além disso, procure obter permissão oficial para liberar qualquer código do qual você contribua. Algumas (muitas?) Empresas estão bem em liberar código sob licenças de código aberto, desde que haja uma separação clara entre o código aberto e a empresa. Isso pode ser verdade mesmo se o seu contrato indicar "nós possuímos tudo o que você faz, mesmo que remotamente, relacionado ao trabalho". Na minha experiência, eles estão preocupados com a diluição de sua vantagem competitiva em seus negócios principais. Esse é outro motivo para empacotar seu código em uma biblioteca licenciada adequadamente, em vez de importá-lo diretamente.

Espero que isto ajude.

Mike B
fonte
2

É totalmente ético. Costumo pesquisar novas tecnologias e diferentes maneiras de fazer as coisas em casa, e mais de uma vez desenvolvi algo em casa que acabei usando no meu trabalho. Também não teria problemas em trazer correções ou aprimoramentos de volta para casa (ou trazê-los de casa para o trabalho).

Eu só ficaria preocupado se você pretendesse lançar seu trabalho de forma independente. Se for esse o caso, não o incluiria e nem tentaria reutilizar o design. Como outros já declararam, verifique seu contrato de trabalho e discuta-o com seu gerente. Se você não possui um desses contratos do tipo "você trabalha para nós 24 horas por dia, sete dias por semana", considere liberar seu código sob alguma licença e usar apenas o código liberado no trabalho. Então, não seria realmente diferente de usar um projeto de software livre ou de código aberto, o que suponho que você já possa fazer.

TMN
fonte
1

Como sempre, depende. Nesse caso, no que diz a) a licença que você coloca no código eb) no que diz o seu contrato. Você pode fazer um acordo comercial com a empresa que cubra o código que você escreveu antes de chegar lá.

Não há problema ético geral com isso, desde que você pense sobre isso de antemão.

Andrew McGregor
fonte
a licença que você colocou no seu código pode ou não ser relevante, dependendo do que diz o seu contrato, se o seu empregador reivindicar a propriedade de tudo, qualquer licença sob a qual você colocou o seu código seria nula porque você não tinha o direito de licenciar esse código.
Ryathal 7/12
1

Eu concordo absolutamente com o pôster anterior, a ética não é realmente um problema aqui na minha opinião, a menos que você contrate o proíba de usar scripts / software não desenvolvidos internamente, então você pode ter um problema ético.

Seu problema é na verdade direitos de propriedade.

E aqui há várias questões em que você precisa pensar.

O que o seu contrato diz sobre propriedade intelectual?

Sua empresa mantém direitos sobre as coisas que você cria?

Que licença sua empresa usa ao desenvolver código?

É compatível com suas próprias licenças?

Estas são perguntas que você precisa responder antes de desenvolver qualquer código, permitir que o código já desenvolvido entre nos repositórios da sua empresa ou retome o desenvolvimento ...

Einar Petersen
fonte
4
edite sua resposta para incluir o nome da pessoa que escreveu a resposta com a qual você concorda, as postagens não ficam em ordem cronológica.
Ryathal
0

Não é ético roubar sua empresa - e, se você concordou que todo o seu trabalho, enquanto no trabalho, pertence a eles, é antiético mover clandestinamente o código de volta para sua base de código.

Pedir a permissão do seu gerente pode não ser suficiente - ele pode não estar em posição de negociar isso com você. Portanto, dependendo das circunstâncias, pedir pode não aliviá-lo de seu compromisso - e, em vez disso, ganhar um cúmplice.

A maneira correta de fazer esse tipo de coisa é deixar claro que você está trazendo um projeto externo para a empresa e depois assinar (ou concordar verbalmente) com um contrato ou acordo separado, especificamente para o projeto externo. Faça isso com antecedência.


Observe que os aspectos legais e éticos são diferentes e não concordam completamente. Mesmo sendo ético, às vezes não é legal colocar seu código em trabalho sem contrato (enquanto, em outras circunstâncias, não é legal manter o código em casa - você é legalmente obrigado a trazê-lo e usá-lo, se você, da melhor maneira possível, acha que isso beneficiaria a empresa).

blueberryfields
fonte