Você pode alterar uma licença depois de escolher uma?

47

Estou trabalhando em um produto que não acho que esteja completamente pronto, mas tenho um conjunto de usuários que estão muito interessados ​​em usá-lo agora como testadores "alfa". Gostaria de dar a eles o produto agora gratuitamente como testadores "alfa", mas gostaria de licenciar o software posteriormente.

Isso é possível? Alguém pode me indicar links / livros / artigos / etc?

Obrigado.

EDIT: Devido à falta de minha clareza e as respostas à pergunta, pensei que deveria acrescentar esta declaração.

Ainda não decidi se vou fechar este código-fonte ou abrir esse projeto. A base de usuários que quer colocar as mãos nela agora me surpreendeu e eu fiquei preocupado com o que minhas opções são para poder oferecer a elas agora como código aberto e depois mudar para código fechado, ou até vice-versa.

Obrigado a todos que responderam e comentaram. Eu aprecio as idéias.

Adão
fonte
Código aberto ou fechado?
quickly_now
6
Se você der a alguém um produto que você faz de graça, isso não significa que todas as cópias ou redistribuições desse produto devem ser gratuitas.
precisa saber é o seguinte

Respostas:

41

Se você possui todo o código, poderá relançá-lo com a licença que desejar.

O problema ocorre se alguém contribuiu com patches para o projeto. O que geralmente acontece é que eles possuem esse código e o contribuíram sob a licença de software atual. (Você deve ter algum tipo de contrato de contribuinte que cubra isso.) Portanto, para licenciá-lo novamente, você precisará da permissão deles. Dependendo de como você tem colaboradores, isso pode ser difícil. Para uma referência, consulte a alteração da licença do OpenStreetMap e quanto tempo está demorando.

Mas IANAL, aviso legal etc.

E o que as pessoas farão com a alteração de sua licença é outra questão, pois outra resposta é comentada.

Edição: Eu respondi isso no que se refere a produtos de código aberto. Mas relendo a pergunta que vejo, não está claro se é de código fechado ou aberto.

Se você está falando de duas licenças de código fechado, é fácil: se você possui todo o código, poderá relançá-lo com a licença que desejar. Apenas faça sua licença comercial de código fechado da versão alfa, todos os termos usuais (sem cópia etc.), apenas com o preço zero.

James
fonte
É uma estratégia bastante comum ter uma versão comercial com os recursos e atualizações mais recentes e migrar para uma versão de código aberto gratuita após algum tempo. Alfresco e Magento fazem isso, por exemplo.
Victor Nicollet
O problema, é claro, também é que ele prove (!) Seu código é usado no aplicativo de código fechado. O que será mais difícil para ele provar do que você refutar.
Rook
@ victor Yeah ... ou tenha uma versão básica aberta e uma versão comercial fechada com recursos adicionais da empresa. Como essas estratégias funcionam é outra P. Os acordos de contribuição para esses programas podem ser mais complicados e podem afastar os autores de código aberto :-) @Rook Ok, eu respondi a essa pergunta como se estivesse mudando entre licenças de código aberto. Se houvesse um problema ao mudar de uma licença aberta para uma fechada, você descobriria que o desenvolvedor de código aberto que suspeita que seu trabalho foi roubado terá muitas organizações e pessoas do seu lado e geralmente você deseja evitar a guerra de fogo resultante.
James
2
O que fazemos é ter um contrato de colaborador que contribua e atribua direitos autorais conjuntos (para que nossa empresa e o colaborador sejam os proprietários do código). Dessa forma, ainda temos a capacidade de licenciar novamente, mas eles ainda têm todos os direitos que possuíam. É da mesma maneira que o SharpDevelop funciona.
Scott Whitlock
@scott Yup, consulte sugarforge.org/content/community/participate/… para um exemplo. Eles assumem todos os direitos e concedem uma licença para usar seu código. Falando como desenvolvedor que trabalha em um projeto de código aberto vinculado a uma empresa, eu posso entender por que essas coisas são necessárias, mas eu ainda pensava muito sobre se queria contribuir para esses projetos :-)
James
15

Essa é uma pergunta complicada, que depende de quão único é o software e se você espera que pessoas de fora possam fazer muitas contribuições significativas.

Se as pessoas enviarem a você apenas alterações triviais no seu software , você (como autor original) permanecerá como a única pessoa que detém os direitos autorais do software e, como tal, poderá encerrá-lo a qualquer momento . No entanto, saiba que, se você lançou a versão anterior do software sob uma licença de código-fonte aberto padrão, qualquer pessoa seria capaz de extrair seu software dessa cópia antiga e, portanto, é provável que você sempre tenha um código-fonte aberto concorrente do seu pacote de software proprietário. Isso é exatamente o que aconteceu com Tatu Ylonen, o autor original do SSH, que desde então foi o fundador e CTO do ssh.com, não tendo muito a ver com o OpenBSD e o OpenSSH, apesar de distribuir arquivos com seus direitos autorais. (Embora o principal arrependimento publicamente conhecido de Tatu Ylonen não esteja relacionado aos direitos autorais, mas ao invés disso, ele perdeu as marcas "ssh" e "shell segura" em uso genérico, perdendo suas marcas registradas.)

Então, e se as pessoas enviarem a você alterações significativas em seu software , que seriam cobertas por direitos autorais e que você desejaria integrar à sua árvore de fontes? Você pode configurar um desses acordos legais, pelos quais os colaboradores atribuirão seus direitos autorais a você, assim, legalmente, você continuará sendo o único "autor" do software. Eu venho do campo FreeBSD / OpenBSD e, em nossa opinião, a atribuição de direitos autorais é geralmente considerada de mau gosto. A FSF é bastante famosa por sua atribuição de direitos autorais na maioria de seus softwares; O NetBSD tem essa opção como opção para seus membros (o que permitiu à The NetBSD Foundation remover duas cláusulas de sua licençaem todos os arquivos em que nenhum dos indivíduos reivindicou direitos autorais individuais); muitas empresas comerciais têm todo tipo de contrato de colaborador que realiza todo tipo de tarefa. Onde está Linus Torvalds? Linus também não gosta dos acordos de contribuição e, como você pode imaginar, o kernel Lunux não possui nenhum, além da própria GPLv2.

Então, e se você aceitar alterações de direitos autorais em sua árvore, sem atribuição de direitos autorais ? É aqui que sua escolha original de licença entra em jogo. Se você escolher a GPL, e, assim, os colaboradores licenciarão seu próprio código para você sob a GPL também, você estará praticamente preso à GPL e sempre precisará liberar o código-fonte para qualquer produto comercial subsequente (mas todos dos seus concorrentes). Se você escolher uma licença BSD / ISC / OpenBSD , poderá fechar a fonte para adicionar recursos de pagamento extras a qualquer momento que desejar, sem precisar liberar nenhuma alteração na fonte (mas você também concede o mesmo direito aos seus concorrentes )

É claro que, se anos depois você decidir que, em retrospecto, desejaria que o seu software estivesse sob uma licença diferente, você sempre poderia tentar entrar em contato com todos os seus colaboradores anteriores para licenciar novamente as alterações deles sob a nova licença. Este é um projeto muito doloroso e longo - e se alguém não puder ser contatado? Mozilla e VLC fizeram tal relicenciamento no passado; eles certamente devem ter desfrutado dos benefícios de sua nova licença, mas duvido muito que tenham desfrutado do processo de anos.

De qualquer forma, independentemente de você optar pela GPL ou BSD, ter uma versão de código aberto do seu software sempre trará muitos benefícios, comprovados por muitas empresas comerciais de sucesso que giram em torno da criação e liberação de software de código aberto.

cnst
fonte
2

Sua pergunta não é clara. A licença normalmente não controla se você distribui algo sem nenhum custo ou não. A licença tem a ver com coisas como propriedade do código, distribuição, garantia e adequação ao uso, etc.

Você pretende dar a eles o código fonte? Em caso afirmativo, você pretende que eles possam lançar seus próprios produtos com ele? Então você precisa de uma licença de código fonte.

Se você está apenas dando a eles o binário e não quer cobrar por isso, então você pode simplesmente criar uma licença básica que cubra sua bunda em termos de garantia e responsabilidade. Declare seus direitos autorais e diga que ele pode ser distribuído apenas como você especificar.

Cada versão do produto liberada é regida por sua própria licença e, se você for o único desenvolvedor, poderá escolher a licença que desejar a qualquer momento e alterá-la a qualquer momento.

Erik Funkenbusch
fonte
Agradeço sua resposta. Suponho que a falta de clareza faça parte da questão em certo sentido. Acho que estava pedindo para ver que tipo de opções eu tenho se quisesse deixá-las com a fonte agora e depois decidi fechá-la (após o período alfa) ou até vice-versa.
Adam
Apenas não inclua nenhuma licença. Eles terão o direito de modificar ou redistribuir.
David Schwartz
1

Bem, pessoalmente, acho bom que você esteja pensando em licenciar nesta fase.

Do ponto de vista do consumidor, não acho que você deva alterar as licenças depois de escolher uma. Isso não quer dizer que você não possa (o Movable Type é um exemplo notável), mas você corre o risco de afastar sua base de usuários (o Movable Type é um exemplo notável).

Michael
fonte
0

Sim, você pode fornecer a eles uma versão por tempo limitado que deixará de ser executada em um determinado momento.

Você sempre pode lançar uma nova versão com uma expiração prolongada, se necessário.

Até você estar pronto com a versão final.


fonte
Essa não é realmente uma solução para a questão da licença (ou seja, a licença legal sob a qual o software é lançado ao público em geral).
Timo Geusch 6/03/11
Eu não entendi isso na pergunta. Ele perguntou se poderia cobrar pelo software posteriormente. Foi assim que traduzi a pergunta.
2
Eu acho que você entende bem a questão. Uma maneira de resolver um problema de "licença" nos lançamentos anteriores é realizá-lo com timebomb. Nada de errado com isso, e impede que as versões antigas sejam usadas (e o suporte exigido) no futuro. Você também pode ter todo o material legal, mas uma maneira PRÁTICA de enfatizar que "isso é cedo e não vai durar para sempre" também é uma boa coisa.
quickly_now
1
+1 Mas você obviamente precisa conscientizar os usuários dessa limitação - eles não querem executar o aplicativo um dia apenas para serem notificados de que ele está morto.
precisa
@KirkBroadhurst pode não estar morto, apenas sem suporte, então você deve manter as alterações / correções de bugs. Mas sim, ser claro sobre isso é importante.
icc97