O licenciamento de código aberto do meu código me limita mais tarde?

29

Suponha que eu desenvolva uma biblioteca útil e decida publicá-la como código aberto. Algum tempo depois, tenho uma necessidade comercial de fazer algo que não esteja em conformidade com a licença de código aberto. Posso fazer isso?

Como publicar o software de uma maneira que mantenha a propriedade e não me impeça de usar a biblioteca no futuro?

Lembre-se de que, pelo menos em teoria, outros desenvolvedores podem decidir contribuir para o meu projeto de código aberto. Posso especificar em uma licença que eu, como desenvolvedor original, também recebo a propriedade de suas contribuições? Não me interpretem mal aqui, eu não estou tentando ser mau e me apropriar do trabalho de outros - eu só quero manter a minha propriedade e, se alguém postar uma correção importante, eu poderia ficar incapaz de usar o código original, a menos que Eu também uso o trabalho dele.

configurador
fonte
6
Liberar sob uma licença não o impede de liberar sob outras também - afinal, você ainda é o proprietário do código. O código-fonte tem licença dupla (ou tri - ou mais) o tempo todo.
Nota para se pensar em um nome

Respostas:

44

Você sempre mantém a propriedade sob licenças de código aberto. O trabalho que você criou é de sua propriedade e você pode fazer o que quiser com ele (dentro dos limites legais, é claro), incluindo permitir que outras pessoas o usem sob os termos de uma licença de código-fonte aberto. Se você quiser usá-lo para um projeto proprietário, poderá fazê-lo, a menos que tenha revogado completamente os direitos de outra pessoa por contrato. Mas não é isso que as licenças de código aberto fazem. Eles são sobre compartilhar utilidade, não sobre renunciar à propriedade.

As coisas ficam um pouco erradas quando outras pessoas começam a contribuir. É o trabalho deles, então, não o seu, e você precisa obter a permissão deles. Uma coisa que você pode fazer é publicar sua biblioteca sob uma licença dupla. É isso que Sam Lantinga, principal criador e mantenedor do SDL , faz. Como a Apple não gosta de bibliotecas de vínculo dinâmico para iOS e o cumprimento da LGPL em um aplicativo vinculado estaticamente é mais problemático do que vale a pena, ele publica SDL sob a LGPL e uma licença comercial para aplicativos estáticos do iPhone. Quando alguém envia um patch, ele solicita explicitamente permissão para implantar o patch na biblioteca sob as duas licenças e, se eles não gostam disso, ele não o adiciona à base de código.

EDIT: Meu exemplo não é mais preciso. Um tempo atrás, Sam mudou o modelo (não sei por que; talvez ele tenha se cansado das dificuldades administrativas) e agora licencia o SDL sob uma licença altamente permissiva no estilo zlib. Mas ele costumava fazer assim.

Mason Wheeler
fonte
11
+1 especialmente para mostrar como lidar com contribuições de outros autores.
precisa saber é o seguinte
5

Não sou advogado e isso não é aconselhamento jurídico. Se você precisar de garantia legal, contrate um advogado.

Você absolutamente pode licenciar seu software de maneira dupla - a Trolltech fez isso por muitos anos com a Qt, e a Linden Lab fez com o cliente SecondLife.

Você pode usar qualquer licença que desejar. Algumas licenças são compatíveis com ambientes comerciais fechados, como as licenças Mozilla MPL, MIT e BSD e (acredito) as licenças CDDL e Apache da Sun.

No entanto, se você precisar da flexibilidade de lançar seu software como um projeto de código aberto e como um produto de código fechado, você poderá fazer isso como autor original. O único problema é a questão das contribuições do usuário. Você não pode incorporar as contribuições de outras pessoas em sua versão comercial do software, a menos que elas liberem legalmente os direitos autorais para você. O GNU faz isso pela única razão de que eles atualizarão suas licenças no futuro.

Observe que os usuários e principalmente os colaboradores provavelmente não irão gostar disso, portanto isso afetará a comunidade em torno do seu projeto, provavelmente adversamente.

Mais uma vez, consulte um advogado para obter detalhes.

greyfade
fonte
MIT, também conhecido como 'faça o que diabos você quiser'.
Evan Plaice
2

Eu também não sou advogado, mas ...

Além de licenças restritivas (que o forçarão a Open Source a cada projeto que as usar) como GPL, também existem licenças não restritivas (o que significa que você pode usar esse software em um projeto comercial) como Lesser GPL ou Apache License (2.0 ?). Então, talvez você possa simplesmente lançar seu software sob termos não restritivos.

Paweł Dyda
fonte
2
A GPL não altera a propriedade do código. Se eu publicar código na GPL, ele se aplica a outras pessoas que usam o código - eu tenho qualquer permissão que eu gosto e posso fazer com ele o que eu quiser (no entanto, como a lei não funciona ao contrário, não posso limitar o uso de pessoas que usaram o software na GPL).
Maciej Piechotka
2
O que eu quis dizer com restritivo é que a GPL força os usuários da sua biblioteca a liberar seus softwares sob licença compatível com GPL, enquanto licenças como L-GPL, Apache, ... (BSD?) Não. Agora, não tenho certeza de que se você editou seu código com GPL e alguém comete alterações, pode simplesmente liberá-lo comercialmente como se nada tivesse acontecido. Acho que você precisa se livrar das adições primeiro ... Mas se a biblioteca / estrutura for licenciada em L-GPL, você poderá usá-la em aplicativos comerciais como qualquer outra pessoa, isso é certo. Espero que faça sentido.
Paweł Dyda 20/09/10
É exatamente isso que faço quando escrevo uma biblioteca. Não faz muito sentido lançar uma biblioteca comercial, geralmente é o aplicativo do usuário final que é lançado dessa maneira e, se for uma licença não-restritiva, posso usar a biblioteca no meu projeto. E nem importa se eu escrevi ou alguém.
amigos estão dizendo sobre goran
@ Koran, você pode usar a biblioteca em seu próprio projeto, independentemente da licença em que esteja . É sua biblioteca e seu projeto: a licença se aplica a outras pessoas, não a você.
TRiG 21/03