O que “sublicença” realmente significa?

13

Primeiro, é claro que o direito de sublicenciar não lhe dá o direito de relicenciar.

Digamos que temos uma biblioteca com licença MIT (1 arquivo), alguém adiciona alguns recursos à biblioteca, mas os coloca na GPL (no mesmo 1 arquivo). Ou se alguém quiser sublicenciar, precisará separar o código?

Se alguém quiser usar a biblioteca, como as licenças são tratadas?
Digamos que o desenvolvedor use apenas os recursos sob a licença MIT, mesmo que no arquivo haja alguns recursos na GPL.
Ele precisa solicitar a GPL por causa do código licenciado pela GPL?
Ele precisa remover o código GPL para se livrar das restrições da GPL ou ele pode simplesmente usar a biblioteca sob permissões / restrições do MIT, desde que ele não use o código GPL?

Lilian A. Moraru
fonte

Respostas:

5

alguém adiciona alguns recursos à biblioteca [MIT], mas os coloca na GPL (no mesmo arquivo 1). Se alguém [mais] quiser "sublicenciar", [eles] terão que separar o código?

Se por sublicença você quer dizer usar o código sob a licença MIT menos restritiva, então sim. A pessoa que fez o GPL do novo código está basicamente dizendo: "Você não pode usar o meu código, a menos que seu código também seja distribuído sob os termos da GPL".

O [sublicenciador] precisa remover o código GPL [recém-licenciado] para se livrar das restrições da GPL?

Sim.

Robert Harvey
fonte
Eu estava olhando para licenças de código aberto ( tldrlegal.com/browse ). Gostaria de proteger outros usuários da biblioteca (que podem retirá-la de outra pessoa) contra restrições adicionais. Quase todas as licenças de código aberto permissivas populares permitem sublicenciar. Ms-PL parece bom para isso, mas ele tem outras restrições (Há também GPL, mas eu não quero forçar os usuários da biblioteca para GPL seu software) ...
Lilian A. Moraru
Não sei ao certo o que "sublicenciar" tem a ver com isso. Você está tentando escolher uma licença que permita e o que significa "sublicenciar" para você?
Robert Harvey
De programmers.stackexchange.com/questions/105912/… Entendo que alguém pode misturar outra licença com a licença atual e com as restrições da biblioteca atual, são adicionadas as restrições da biblioteca adicional. Ou pode-se aplicar a biblioteca adicional ao código que ele adicionou à fonte original. E não, eu preferiria uma licença que não permita que alguém misture uma licença mais restritiva.
Lilian A. Moraru
3
Eu acho que você precisa manter isso simples; veja isso em termos de "distribuição", não "sublicenciamento". Todas as licenças de código aberto permitem que as pessoas usem o código internamente da maneira que desejarem; é somente quando ocorre a distribuição que quaisquer restrições de copyleft se tornam evidentes. No seu caso, você tem alguém que deseja GPL seu código. A escolha resultante (que você só precisa fazer se redistribuir) é simples: você vive com as novas restrições impostas por ele ou evita o código dele e fica com o código licenciado pelo MIT original.
Robert Harvey
1
A resposta aqui está quase toda errada. Adicionando uma resposta abaixo para esclarecer.
Chris Travers
20

IANAL, mas eu discuti isso e muitas questões semelhantes com advogados o suficiente para ter uma boa idéia do que estou falando aqui. Este não é um conselho legal. A melhor leitura de fundo é o livro de Larry Rosen no contexto de software de código aberto.

Direitos, Licenças, Direitos Autorais e Sublicenciados

De acordo com a lei de direitos autorais, um detentor de direitos autorais recebe certos direitos exclusivos sobre seu trabalho. A maioria ou todos esses itens (dependendo da jurisdição) podem ser licenciados exclusiva ou não exclusivamente a terceiros. Se a sublicenciação for permitida, um licenciado pode transferir alguns ou todos os direitos da licença a terceiros contratando diretamente com eles.

Atualmente, nos Estados Unidos, os licenciados exclusivos são considerados estatutariamente com direito a sublicenciar (embora eu presuma que isso possa ser esclarecido na licença exclusiva). Isso faz sentido porque presume-se que os licenciados exclusivos tenham controle. Não se supõe que os licenciados não exclusivos tenham esse monopólio concedido pelo licenciante.

Por exemplo, suponha que eu escreva um romance. Suponha que eu ofereça uma licença exclusiva para a obra em sua forma atual como livro e ofereça a outra pessoa uma licença não exclusiva para fazer uma sequência que é um trabalho derivado. O licenciado exclusivo pode emitir licenças não exclusivas para outros autores para usar trechos do livro sublicenciando. O licenciado não exclusivo não pode autorizar mais uma sequência não autorizada do meu romance, nem o licenciado exclusivo pode sublicenciar um direito que não foi concedido (direitos de filme, por exemplo).

Licenças BSD vs MIT e Sublicenciamento: uma grande diferença

Esta seção é baseada principalmente no livro de Rosen (acima). Se precisar de aconselhamento jurídico, contrate um advogado e não desative o Stack Exchange.

A licença MIT permite explicitamente a sublicenciamento, enquanto a licença BSD não. Após a discussão acima, isso significa que a licença do MIT permite algo que a licença do BSD provavelmente não permite na maioria das jurisdições, a saber, sublicenciar. Ambas as licenças abordam, no entanto, apenas o código e o software fornecidos, e nenhum limita o que um trabalho como um todo pode ser licenciado. Isso leva a uma questão significativa de como interpretar a GPL v3 para ser compatível com as licenças BSD.

Sob a licença do MIT, você pode fazer basicamente duas coisas aparentemente semelhantes:

1) Você pode incorporar o trabalho em seus próprios trabalhos e distribuí-los sob uma licença mais restritiva.

2) Você pode pegar o trabalho original licenciado pelo MIT, adicionar restrições adicionais e distribuir o trabalho sob uma licença mais restritiva, mas onde você não modificou o código. A GPL v3 afirma exigir que isso seja compatível, se alguém vê a GPL como governando todos os termos da licença. [1]

Sob a família de licenças BSD, no entanto, você só pode adicionar restrições ao seu próprio código e aos trabalhos derivados criados. Você não pode adicioná-los ao código original transmitindo apenas alguns dos direitos concedidos a você. Portanto, não posso pegar o PostgreSQL licenciado pela BSD, renomeá-lo para PostSQL e licenciá-lo sob a GPL, mas posso usar o Kerberos licenciado pelo MIT e renomeá-lo como HadesHound e licenciá-lo sob a GPL (em ambos os casos, assumindo que não código foi alterado). Isso significa que o veículo por direitos é diferente (sempre direto no caso da licença BSD, direta ou indireta no caso da licença MIT).

Conclusões

Sublicente é um termo legal. Se você quiser ler sobre o que realmente significa, minha recomendação é começar a conversar com advogados, o Software Freedom Law Center e outros e consultar dicionários jurídicos. A idéia básica é que, se isso for concedido, um licenciado pode se tornar um licenciante de alguns dos direitos da concessão que recebeu, independentemente de qualquer outra reivindicação que possa ter ao controle de direitos autorais sobre o que distribui.

Você está perguntando sobre um documento jurídico específico e um termo usado nele. Espero que isso ajude a explicar exatamente o que esse termo significa e qual o impacto que ele proporciona.

É provável que muitas de suas perguntas sejam longas e complicadas [2] e dependam da jurisdição, mas uma regra básica relativa à Licença MIT é que, se o seu canal reivindicar que está licenciado agora sob a GPL, é licenciado sob a GPL. No entanto, isso pode ou não ser uma suposição segura sob a licença BSD. Além disso, isso é verdade independentemente de a versão original ter sido modificada ou não, se a licença do MIT foi usada. Sob a licença BSD, o escopo das modificações é realmente determinante em relação a qual licença governa.

[1] Uma solução é ver a GPL de uma maneira diferente e permitir que "avisos legais razoáveis" ( restrições adicionais sob a seção 7) incluam avisos de direitos adicionais de licença. Nesse caso, teríamos permissões adicionais removíveis, regidas pela seção 7 como permissões adicionais, mas também permitiriam, como uma restrição adicional (sob a seção 7 (b)), um aviso informando que certos direitos não são removíveis. Essa é uma das coisas que eu não gosto na GPL v3, a saber, que faz pensar como um advogado em relação a como lidar com a compatibilidade de licenças.

[2] Por exemplo, há uma questão em aberto se a distribuição de software vinculado a uma biblioteca de terceiros requer permissão de direitos autorais. Se for esse o caso, o PostgreSQL compilado no MinGW requer a permissão da Microsoft e eles podem revogá-lo a qualquer momento , mas se não o fizer, eu posso escrever programas proprietários vinculados ao GNU Readline e à FSF não podem reivindicar isso é violação de direitos autorais. Essa pergunta em aberto torna a maioria das perguntas sobre se um desenvolvedor pode vincular a uma biblioteca sob uma licença diferente da GPL impossível responder com certeza.

Chris Travers
fonte
1
tl; dr: Fale com um advogado.
9788 Robert Harvey
1
Até certo ponto, sim. Mas também sou da opinião de que, como profissionais, precisamos estar relativamente informados sobre essas questões. Se a única pergunta for "posso usar código licenciado pelo MIT no meu aplicativo GPL", isso pode ser respondido com segurança como "sim". Se a pergunta for "posso vincular meu aplicativo proprietário a uma versão GPL de uma biblioteca licenciada pelo MIT?" é um bom momento para conversar com um advogado.
Chris Travers
1
(Eu também não sou realmente certo de que o sublicenciamento é sempre tudo o que necessário em relação ao software open source, FWIW.)
Chris Travers
0

Não sou advogado, nem jogo na TV:

Embora a resposta padrão para uma pergunta como essa seja apenas conversar com um advogado, acho que uma resposta melhor é conversar com o autor original. Diga a eles o que você fará com ele e qual é o seu público-alvo. Lembre-se, o autor não renuncia a seus direitos autorais por seu trabalho liberando sob uma licença; o autor é livre para escolher o que deseja permitir. O autor pode dizer "você pode bifurcar esta biblioteca sob esta outra licença, que possui os requisitos que você procura" ou apenas dizer "você pode liberar seu software usando a licença que desejar, eu dispenso o requisito para o X contanto que você faça Y" . Eu, pessoalmente, obtive permissão especial para liberar o software de código aberto de um autor no Apache, em vez da GPL. Concedido para um projeto grande, atualmente suportado, como Qt,

Considerando que vejo toneladas de aplicativos de código aberto lançados sob a GPL, os quais eu diria que os autores realmente não entendem o que isso realmente significa. Lembre-se, se você usar o código GPL, mesmo que seja uma única linha, seu aplicativo inteiro deverá ser liberado sob os termos da GPL (isso é um pouco extremo, é claro, nenhum autor de código aberto iria atrás de você por uma única linha - mas é o requisito da licença).

Também não concordo com a resposta de Chris Travers.

De acordo com este gráfico, o BSD e o MIT permitem que alguém seja liberado sob uma licença diferente. Aqui está outra fonte sugerindo que ela permite sublicenciar. Eu li a nova licença BSD e ela não sugere nada sobre não permitir que você a libere sob uma licença diferente - no entanto, existem estipulações em que nenhuma delas o proíbe de alterar a licença em um produto derivado.

Natalie Adams
fonte
Eu sou o "autor". Quero ter certeza de que tudo é bom para os usuários.
Lilian A. Moraru
A licença BSD exige que você a coloque em cópias do código fonte. A licença fornece concessões de licença direta do autor. Na ausência de sublicenciamento, não há mecanismo para alterar a licença do código licenciado por BSD existente sem afirmar diretamente seus próprios direitos autorais sobre o seu próprio código. É isso que a sublicenciamento permite que você faça, incluindo adicionar restrições que não estão presentes na licença original. Espero que esteja entendido. Mais uma vez, achei o livro de Rosen muito útil aqui.
Chris Travers
Obviamente, uma vez que você tenha seus próprios direitos autorais a afirmar, a distinção desaparecerá. Portanto, depois de adicionar seu próprio código ao arquivo, você pode adicionar as restrições que desejar, mas elas se aplicam apenas ao seu próprio código e você não pode reivindicá-las contra o código obtido sob a licença BSD, sem o direito explícito de sublicenciar. Portanto, a diferença está entre afirmar restrições em seu próprio código e afirmar no código que você recebeu sob uma licença diferente.
Chris Travers