Acho que a maioria de nós, programadores, usou o Stack Overflow para resolver problemas do dia a dia: procurava um algoritmo eficiente para fazer alguma coisa.
Agora imagine uma situação: você tem um problema a resolver. Pesquisei um pouco no Google, encontrei uma pergunta no StackOverflow, mas você não está realmente satisfeito com as respostas até agora. Então você tem que fazer sua própria pesquisa: você precisa fazê-lo porque deseja no aplicativo da empresa.
Depois de algumas horas, você encontrou a melhor solução. Você está feliz, adicionou-o à base de códigos da empresa e deseja enviar sua resposta com um trecho de código (apenas várias linhas) à pergunta que você encontrou antes para ajudar outras pessoas também.
Mas espere: o software da empresa é de código fechado e você trabalhou nele o tempo todo.
Então, isso significa que eu não devo postar a resposta nem no trabalho nem em casa para essa pergunta pelo resto da minha vida, porque eu a resolvi no trabalho e a empresa é dona desse código?
Respostas:
Expor informações proprietárias da empresa é algo que você nunca deve fazer. A maioria dos trechos de código no Stack Overflow é muito mais comum do que isso, no entanto. Considere este exemplo :
Este método inverte o endianness de um número de 32 bits, trocando os bytes. A diferença entre essa implementação e uma ingênua é que ela é executada duas vezes mais rápido, mas você só pode executá-la em uma pequena máquina endian. Ele está sendo usado em um programa proprietário, mas descreve uma técnica geral e não expõe nada de confidencial.
fonte
Costumo postar problemas e soluções que encontro no trabalho, no horário da empresa com a empresa *. Conversei diretamente com meu gerente sobre isso, e ele acha que o valor que a empresa obtém do meu tempo gasto aqui supera qualquer preocupação com o tempo gasto aqui em geral.
* Sou cauteloso em ofuscar qualquer coisa que eu acho que possa ser proprietária. Nosso código interno é muito proprietário, mas seria inútil para qualquer pessoa sem nosso hardware proprietário (que não vendemos).
Encaro minhas perguntas e respostas como uma ajuda para mim e para outras pessoas no caminho, quando elas enfrentam problemas semelhantes aos meus.
fonte
Quanto custaria à sua empresa seu tempo adicional ou tempo perdido se você não tivesse esse recurso?
Desde que nenhuma informação proprietária ou comprometida seja fornecida, sinto que as soluções de postagem que você encontrou são uma compensação pelas respostas que você recebeu.
fonte
A resposta está nos acordos legais escritos que você assinou com seu empregador (seu contrato) e na jurisdição sob a qual esses acordos serão julgados. É comum um acordo legal listar a jurisdição que pode ou não ser o estado em que você trabalha (embora seja provavelmente o país em que trabalha, mas não necessariamente).
Um ótimo livro é Propriedade Intelectual e Código Aberto de Van Lindberg. Da p. 185:
Leia o seu contrato. Divulgue suas intenções ao seu empregador antes de agir. Divulgue suas ações ao seu empregador. Divulgue essas coisas por escrito e obtenha sua resposta / permissão quando aplicável por escrito. Pelo menos é o que o livro diz.
Eu não sou um advogado, apenas interessado nessas coisas. Este não é um conselho legal, apenas sugestões amigáveis. Para mim, casualmente não faço nada público relacionado ao trabalho. Tornei algumas coisas públicas após longas discussões com meu chefe, divulgação completa, rotulagem clara de licenças e um acordo por escrito sobre o que estou lançando, mas isso é raro.
fonte
Publiquei trechos de código on-line, mas sempre edito o código para remover as referências à empresa, os dados de clientes e, muitas vezes, renomeio os campos / variáveis também. Basicamente, acabo reescrevendo o código para que não possa ser rastreado até um empregador. É preciso um pouco de esforço extra, mas acho que vale a pena.
Além do aspecto legal, você também deve pensar que confiava na propriedade de seus empregadores. Se você publicar livremente partes dele on-line, parece que você não tem discrição e não pode ser confiável. Mesmo que você tenha permissão, um futuro empregador que encontre seu snippet em um mecanismo de pesquisa poderá não saber disso.
É por isso que eu tenderia a errar por precaução.
fonte