Eu era advogado de propriedade intelectual, por isso tenho experiência com licença-ese. Eu sinto que os termos em si são razoavelmente legíveis e compreensíveis, mas, novamente, sou prejudicado por três anos de faculdade de direito e algum tempo de advocacia antes de recuperar meu juízo e voltar a invadir. Especialmente porque atualmente não sou advogado ativo, isso certamente não se destina a aconselhamento jurídico nem um pouco.
Vamos começar com o próprio idioma da licença do MIT. A seguir, apresentarei alguns pontos-chave para entender as licenças de código-fonte aberto, abordarei suas perguntas e apresentarei observações de alto nível.
A permissão é concedida, gratuitamente, a qualquer pessoa que obtenha uma cópia deste software e dos arquivos de documentação associados (o "Software"), para negociar no Software sem restrições, incluindo, sem limitação, os direitos de uso, cópia, modificação, fusão , publique, distribua, sublicencie e / ou venda cópias do Software e permita que as pessoas a quem o Software é fornecido o façam, sob as seguintes condições: (que eles deixem este aviso nele. O final.)
Algumas coisas importantes com a maioria das licenças de código aberto (incluindo BSD, MIT, GPL) para proprietários de direitos autorais são:
- A licença não altera sua propriedade dos direitos autorais. É uma licença não exclusiva, não uma cessão ou perda de propriedade. O uso de uma licença do sistema operacional não é "colocar algo em domínio público", embora essa seja certamente uma abordagem do código aberto.
- Nada "força" você, o proprietário dos direitos autorais, a tornar o código público de qualquer maneira apenas porque você anexa uma licença a ele.
- Mas se você usar uma licença do sistema operacional, não poderá impedir que qualquer pessoa que "obtenha" o seu código licenciado no sistema o torne público de qualquer forma, o que está explicitamente sob seus direitos sob todas essas licenças.
- As licenças da Copyleft (por exemplo, GPL) exigem que os adquirentes (mas não os proprietários) tornem suas obras derivadas públicas e de código aberto. Permissivo (MIT, BSD) não. (isso pode ser um pouco de simplificação, mas é a diferença essencial)
- Não existe uma cláusula de "devolução" para a maioria das licenças de código-fonte aberto (por exemplo, o MIT). Assim, quando alguém "obtém" seu código, ele tem o direito de usá-lo permanentemente, de acordo com os termos da licença em que o recebeu.
- Você sempre pode distribuir versões futuras do seu código sob uma licença diferente ou mantê-las completamente proprietárias. Isso não impede que alguém comece com a sua versão anterior de código aberto (supondo que a "tenha obtido") e adicione suas próprias peças novas e a distribua.
- Você pode remover um canal de "obtenção" para versões anteriores do seu código, por exemplo, retirá-lo do github. No entanto, como mencionado, isso não impede que outras pessoas usem ou distribuam nenhuma versão anterior que você tenha aberto, de qualquer forma.
Com essa base, passarei às suas perguntas.
Não estou distribuindo meu código para ninguém. Não preciso distribuir meu código licenciado do MIT a ninguém, se eu possuir os direitos autorais, correto? Quero dizer, alguém pode solicitar que eu libere meu código que agora afirmo que está sob licença do MIT? Não seria o fim do mundo e eu certamente concordaria em fazer isso sob uma ameaça legal. ... Ao mesmo tempo, não quero distribuir esse código como um projeto de código aberto para ninguém.
Como detentor dos direitos autorais, você não precisa distribuir nenhum código para ninguém; você não precisaria atender a essas solicitações (mesmo que fosse a GPL). Você mantém todos os direitos. No entanto, na situação descrita, você estaria distribuindo para sua nova empresa e licenciando-a perpetuamente sob uma licença de sistema operacional. Seu empregador (provavelmente ex-empregador) poderia colar seu código na Internet e você não seria capaz de fazer nada além de resmungar.
Suponho que você queira dizer "alguém além do meu empregador". Se você não deseja entregá-lo ao seu empregador "como código aberto" e conceder a ele todos os direitos incluídos nessa licença, incluindo redistribuição e uso perpétuo da maneira que desejar, então você não deve usar um licença de código aberto. Você deve apenas licenciá-lo diretamente para eles, nos termos que desejar. Bullet indica o que você quer e solicite a um advogado uma hora ou duas para colocá-los em um formulário de parágrafo. Ou escreva você mesmo. Licenças são apenas contratos que são apenas acordos postos em palavras.
Meu objetivo final é poder usar uma versão derivada da minha estrutura codificada anterior sem perder os direitos autorais.
Você não pode perder os direitos autorais a menos que o atribua a alguém, licencie-o exclusivamente (incluindo a exclusão de si mesmo) ou perca-o. Licença de código aberto não é nenhuma delas. Você sempre poderá usar as versões derivadas criadas e poderá licenciar as derivações de maneira diferente ou manter todos os direitos.
Porém, uma das suas principais e legítimas preocupações parece ser a de que você poderá reter os direitos autorais e usar seu código no futuro sem que o empregador reivindique o código como deles ou que você esteja fora dos seus direitos. A chave para isso é criar uma evidência irrefutável de que A) você mantém os direitos autorais de seu trabalho anterior e os fornece sob os termos da licença X (o MIT funciona, se você estiver de acordo com o aspecto de código aberto descrito acima. ) B) eles concordam com estes termos, e C) o que exatamente era o trabalho anterior.
Para (A) e (B), você pode assinar ou concordar por escrito com algo que faça referência ou inclua a licença e que eles entendam que você está trazendo o código para a tabela sob esses termos. Quanto a (C), não tenho certeza de qual seria a maneira padrão de fazer isso, mas seja lógico. Se não for muito grande, basta imprimir o código e incluí-lo no adendo nas cópias do contrato que você e seu empregador assinam. Mantenha sua cópia, com a assinatura deles. Se for grande demais para imprimir praticamente, parece que um hash md5 seria útil aqui. Talvez você possa se referir a ele como algo como "o arquivo zip chamado X no repositório privado do github /, (ou site ftp etc.), que possui um hash md5 de XXXXXX ... e foi enviado por e-mail ao representante da empresa Y em Z encontro". Em seguida, você pode enviá-lo por e-mail ao seu gerente ou advogado ou a qualquer pessoa da sua conta de e-mail pessoal e, mesmo que eles excluam a cópia, você ainda mantém a sua e eles não podem argumentar que você previu o futuro hash de código md5 que ainda não foi gravado. . Teoricamente, isso os impediria de reivindicar qualquer outra coisa no caminho.
(Eu não sou um advogado.)
Vejo alguns problemas em potencial com isso:
Se o pior acontecer, você terá que provar que escreveu esse código antes de começar a trabalhar lá e que, quando o usou no seu projeto no trabalho, seu empregador estava ciente de que estava sob seus direitos autorais e sob a licença MIT . Como o objetivo principal é manter seus direitos autorais, não definir termos de redistribuição, um contrato por escrito com seu empregador sobre o uso de seu código escrito anteriormente parece uma idéia melhor.
Você diz que deseja proteger seus direitos autorais e a capacidade de criar "até outra versão derivada dele". Agora é provável que, enquanto estiver no seu trabalho atual, você tenha algumas ótimas idéias e as implemente. Parece-me que isso se tornaria complicado quando você sair do emprego e depois 'reimplementar' essas idéias para criar outra versão da sua biblioteca - já que você não pode fazer o que quiser com o código que escreveu no trabalho (e até certo ponto, as idéias por trás disso).
fonte
Não sou advogado, mas esta seria a minha solução:
Libere o código sob a licença GNU GPL v3 em um repositório público, onde todos podem ver.
A licença GPL não permite que outras pessoas tomem seu código e o coloquem em seu software comercial proprietário e fechem o código.
Se o código foi 100% criado por você e não contém trabalho de terceiros ou trabalho derivado, a GPL também permite que você licencie seu código sob outra licença. Nesse caso, você pode usá-lo em seus trabalhos para fins comerciais proprietários código. No entanto, você deve tornar seu empregador um licenciado dessa licença proprietária alternativa.
Esta solução provaria que você escreveu seu código ANTES de aceitar o trabalho.
Você pode anunciar que seu código está disponível sob uma licença proprietária para venda (por dinheiro) e as partes interessadas podem entrar em contato com você para adquiri-lo.
fonte
Existe uma razão específica para que você não possa perguntar ao seu empregador se é possível manter os direitos autorais do código geral que você escreve para sua estrutura (o que, por sua vez, oferece a eles algum código gratuito agora) e fornecer a você tudo o que puder -você-quer-com-ele (concordado, é como o MIT).
No entanto, se você licenciar seu código atual MIT, não há razão para que seu empregador deva abrir a versão modificada (modificada por você), então eu diria que isso não resolve muito. Até a LGPL não resolveria isso, contanto que o código não fosse 'distribuído'.
No geral, seu negócio não parece irracional: você tem algum código de estrutura e está disposto a doá-lo à empresa, desde que possa se apegar ao código e reutilizá-lo para outros projetos posteriormente, por que Não pergunte?
fonte
IANAL, pergunte a um advogado de verdade, etc.
Antes de tudo, acho que você acredita que, quando possui direitos autorais, só pode licenciar o produto para si mesmo nos mesmos termos em que está licenciado para todos os outros. Isso está errado: você pode licenciá-lo para si mesmo em qualquer licença adequada e licenciá-lo para outra pessoa sob uma licença diferente.
O que significa que você pode criar uma licença especial para a empresa que está prestes a contratá-lo e disponibilizar o software para eles como um contrato separado. Obviamente, isso deve ser feito por um advogado de verdade.
Faça com que sua empresa assine a licença separada, que declara explicitamente que você possui direitos autorais e está concedendo certos direitos a eles, não os direitos autorais.
Quanto à questão secundária, existem outras maneiras de comprovar a data anterior, além do código aberto do projeto. Por exemplo, você pode hospedar em um servidor disponível publicamente um arquivo, informando que você realmente escreveu este software, na data especificada, contendo, por exemplo, alguns hashes diferentes da versão atual ou mesmo a versão criptografada do projeto.
Isso significa que, se você estiver sob ameaça legal, poderá provar a data anterior de uso ao juiz, mas não revelará praticamente nada sobre o projeto, além de ser o autor e a data em que o revelou. Você deve consultar um advogado sobre a possível validade de tal argumento, mas acredito que seria aceito na maioria dos tribunais.
fonte