Existe uma licença de código aberto para isso?


8

Escrevi código em casa, no meu tempo livre e usando meu próprio conhecimento e equipamento, sem contrato ou NDA. Desejo tornar esse código de código aberto para poder usá-lo em software que escrevo para um empregador, sem me negar o direito de usá-lo em casa ou em outro lugar posteriormente.

Não tenho certeza se dizer que é de "domínio público" se encaixaria nesse objetivo ou se preciso encontrar uma licença de código aberto. Eu quero que alguém possa usar o código em software proprietário de código fechado com zero requisitos para incluir uma licença com o código-fonte ou binário. E quero minimizar o risco de alguém ser processado por usá-lo. (Estou ciente de que nunca se pode estar 100% seguro de ser processado.)

Existe uma licença de código aberto que se encaixa nesse propósito? Até que ponto o que eu quero fazer é possível?

Eu não me importaria de colocar a licença nos comentários nos arquivos de código, mas isso obviamente não se aplica ao binário.


Você está 100% ligado à idéia de não precisar incluir um arquivo de licença? Porque se você não for, a licença MIT parece ideal opensource.org/licenses/mit-license.php
Amy Anuszewski

Essa parecia a melhor aposta, mas eu realmente gostaria de deixar meu empregador distribuir binários usando esse código sem distribuir uma licença especial para esse código.
Philip

Respostas:


7

Eu não sou um advogado. Licença do MIT. BSD. Licença ZLib .

Mas aqui está a questão: como autor, você possui os direitos autorais e isso oferece várias opções. As licenças são para outras pessoas que não são você, como proprietário, você pode licenciar esse código de várias maneiras diferentes para quem quiser. Por exemplo, enquanto você mantém os direitos autorais, pode licenciá-los perpetuamente para a empresa em que trabalha.

Cabe à empresa aceitar os termos da sua licença ou negá-los. E cabe à empresa permitir que você adicione o código gravado na sua base de código de volta ao código aberto; muitos não, você terá que pedir e obtê-lo por escrito.


Sendo preguiçoso, prefiro não tentar obter uma licença específica para meu empregador usá-la. Idealmente, eu poderia fazer com que o código fosse tal que alguém pudesse usá-lo para qualquer finalidade, sem restrições. Eu estou querendo saber até que ponto isso é possível.
Philip

3

As licenças BSD são boas para esse tipo de coisa. É basicamente o mesmo que colocá-lo em domínio público, mas com uma boa licença legal para recorrer para impedir que tudo seja "processado".


Nessa página: "As redistribuições em formato binário devem reproduzir o aviso de direitos autorais acima, esta lista de condições e o aviso de isenção de responsabilidade a seguir na documentação e / ou outros materiais fornecidos com a distribuição." É possível "colocá-lo em domínio público"? Em caso afirmativo, isso ajuda a impedir que alguém reivindique o código e processe outras pessoas que o usam?
Philip

1
@ Philip você pode licenciar o código da maneira que desejar. Você pode pegar a licença BSD e remover essa frase dela. "Domínio público" tradicional significa renunciar aos direitos autorais, e ninguém mais pode simplesmente aceitá-los - como ocorre quando os direitos autorais expiram. Se você abrir mão dos direitos autorais, nunca mais terá controle sobre eles.
Jeremy

1
@ Jeremy Suponho que é isso que usarei no BSD ou no MIT e removerei o requisito de propagação de licença. E achei isso, que deveria ter encontrado originalmente e explica bem: stackoverflow.com/questions/219742 Obrigado a todos.
Philip

@ Philips: O WTFPL mencionado nessa pergunta pode ser de fato a melhor opção para você.
precisa

1

A licença Boost parece se encaixar perfeitamente na sua conta. É aprovado pelo OSI.

Do raciocínio para esta licença:

Foi solicitado que fosse desenvolvida uma única licença do Boost que atendesse aos requisitos tradicionais que o Boost licencia, principalmente:

  • Deve ser simples de ler e entender.
  • Deve conceder permissão sem taxa para copiar, usar e modificar o software para qualquer uso (comercial e não comercial).
  • É necessário exigir que a licença apareça com todas as cópias [incluindo redistribuições] do código fonte do software.
  • Não deve exigir que a licença apareça com executáveis ​​ou outros usos binários da biblioteca.
  • Não deve exigir que o código fonte esteja disponível para execução ou outros usos binários da biblioteca.

1

Meu conselho é ... discutir isso com seu empregador.

Meu empregador usa o código que eu já havia escrito e concordamos que licenciaria o código sob a licença BSD de duas cláusulas e depois daria uma cópia ao meu empregador. Na prática, simplesmente adicionei um cabeçalho a cada arquivo de origem com base no modelo de licença BSD 2-Clause. Essa é a parte fácil.

O que acontece com as melhorias / correções feitas no seu código pelo empregador? Quando estes são feitos por você? Quando isso é feito por outro desenvolvedor? No meu caso, concordamos que eu não aceitaria diretamente o código-fonte aprimorado, mas estaria livre para reimplementar quaisquer alterações no meu tempo, no meu próprio hardware.


0

IANAL, mas você deve poder usar qualquer uma das licenças de código-fonte aberto que já existem para o seu objetivo, pois não a gravou no horário da empresa, com as ferramentas da empresa ou a pedido de seu empregador, portanto seja seu para fazer o que quiser.

Para suas necessidades de licença, verifique primeiro as licenças MIT ou BSD, pois são as menos restritivas que não sejam a Creative Commons. Se eles são muito frouxos, verifique os GPL e Apache, ou o que a Mozilla usa (acho que é GPL, mas não me lembro de imediato), pois eles são escritos mais com a suposição de que o software irá provavelmente será usado comercialmente como não comercial.

Geralmente, a parte "não me processe" do "este produto é fornecido como está, sem garantia", que geralmente fica no topo da licença ou em um lugar de destaque na documentação.


O MIT, o BSD e o GPL, que eu analisei, exigem a distribuição da licença com a fonte ou binários. Eu quero ser o menos restritivo possível. Agora é claro que uma empresa poderia ser processada se distribuísse software usando esse código e alguém morresse por causa disso. Eu só quero minimizar a chance de alguém reivindicar o código e processar outros que o usam.
Philip

Distribuir a licença é um tipo de exigência para qualquer licença, porque as pessoas precisam estar realmente cientes da referida licença e de seu conteúdo. Isso meio que anula o objetivo da licença, se ninguém tiver acesso a ela.
Shauna 13/07

@ Philip: Eu não sou advogado, mas acho que você realmente não precisa distribuir a licença do MIT com binários vinculados ao aplicativo, porque você pode sublicenciá-los sob a licença que cobre o aplicativo (que precisa estar lá de qualquer maneira) .
Jan Hudec

0

Portanto, parece que você precisa copiar o idioma da licença do MIT e simplesmente remover o requisito de incluir o arquivo de licença no código. Isso permite que as pessoas usem o código da maneira que entenderem, mas exclui quaisquer garantias.

Claro, eu não sou advogado.


0

Se você fizer correções ou aprimoramentos no seu código enquanto trabalha para contratar, sem uma isenção específica em seu contrato de trabalho, seu empregador pode acabar com alguns direitos sobre partes do código (dependendo da sua jurisdição legal em particular, yadayada, Ianal). A publicação do seu código no Mozilla MPL ou LGPL pode exigir que eles contribuam com essa parte para você / todos em determinadas circunstâncias.

Você também pode colocar o código em algum repositório público com data marcada para ajudar a provar sua existência antes do seu trabalho de contratação.

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.