Licença CPOL. Posso usá-lo no meu aplicativo comercial sem distribuir o código fonte?

9

Estou pensando em usar um projeto em http://www.codeproject.com que usa a licença CPOL . A Seção 5e diz:

"Você pode distribuir os Arquivos Executáveis ​​e o Código-Fonte somente sob os termos desta Licença e deve incluir uma cópia ou o Identificador Uniforme de Recursos para esta Licença com todas as cópias dos Arquivos Executáveis ​​ou do Código-Fonte distribuídos e garantir que qualquer pessoa que receba esses Arquivos Executáveis ​​e Código Fonte concorda que os termos desta Licença se aplicam a esses Arquivos Executáveis ​​e / ou Código Fonte. Você não pode oferecer ou impor quaisquer termos no Trabalho que alterem ou restrinjam os termos desta Licença ou dos destinatários. exercício dos direitos concedidos neste documento. Você não pode sublicenciar a Obra. Você deve manter intactos todos os avisos que se referem a esta Licença e ao aviso de isenção de garantias.Você não pode distribuir os Arquivos Executáveis ​​ou o Código Fonte com quaisquer medidas tecnológicas que controlam o acesso ou o uso da Obra de maneira inconsistente com os termos desta Licença. "

Não está claro para mim se devo incluir o código-fonte no meu executável ou não. Ou pior, se eu disponibilizar meu próprio código-fonte, como na licença GPL.

A razão pela qual não está claro para mim é porque não tenho certeza se, ao compilar o código-fonte junto com o meu, estou "distribuindo" o "Código-Fonte" ou "Arquivos Executáveis"?

Juan
fonte
Não sou advogado, mas a licença não diz que você é obrigado a distribuir qualquer código fonte. Essa distinção é encontrada principalmente na GPL, uma licença copyleft. Se o autor quisesse características copyleft, certamente usaria a GPL, não a CPOL.
Robert Harvey

Respostas:

5

Legalmente, compilar é como grampear. Se você grampeia uma cópia de um DVD do seu casamento em uma cópia do DVD da Ameaça Fantasma, é legalmente o seu casamento e a Ameaça Fantasma. Se você entregar os dois DVDs grampeados, estará distribuindo The Phantom Menace.

A compilação não pode produzir um trabalho derivado porque um compilador não é criativo. Legalmente, apenas um processo criativo pode produzir um trabalho (com algumas exceções criadas especificamente por estatuto, nenhuma relevante aqui).

No entanto, se o seu código-fonte contiver expressão protegida de outro trabalho, ele será um trabalho derivado. Quando você o compila, ainda é um trabalho derivado. Li a licença duas vezes e não vejo nenhum lugar em que ela exija que você distribua o código-fonte de trabalhos derivados, como a GPL.

Estranhamente, e por absolutamente nenhuma razão (não é legalmente necessário), a licença exige que você faça com que seus usuários concordem com os termos da licença. Isso é estranho.

David Schwartz
fonte
Curiosamente, o co-fundador do codeproject parece pensar o contrário: codeproject.com/suggestions.aspx?msg=4614773#xx4614773xx
Tim Pohlmann
11
@TimPohlmann As pessoas que não estão familiarizadas com a lei de PI frequentemente entendem errado, principalmente porque a lei não faz mais sentido. Isso não é porque as pessoas que o criaram eram tolos, é porque ele se originou há muito tempo e evoluiu apenas ligeiramente ao longo do tempo. Por exemplo, quando as leis sobre obras derivadas foram escritas, a tradução era considerada fundamentalmente um processo criativo porque, na época, era. Agora, as máquinas podem fazer a tradução sem nenhuma contribuição criativa, mas a lei não alcançou. Esse é apenas um exemplo. Você não pode raciocinar quais são ou deveriam ser as leis, elas são estranhas.
David Schwartz
Então, o que você está dizendo é que a COPL não está realmente fazendo o que o co-fundador do projeto de código pretendia, porque ele entendeu mal a lei? Isso faria sentido ... ainda é uma situação estranha.
Tim Pohlmann
@ TimPohlmann Se você ler o que ele diz literalmente, ele está certo. Talvez você esteja pensando que ele disse algo que não disse. " Se você estiver redistribuindo o código, precisará incluir informações de licença e um link para o código original ", eu concordo, e isso se aplica a qualquer forma em que você distribuir o código, inclusive compilado. " mas se você estiver construindo um executável a partir do código-fonte, então não. " Certo, pois isso não está distribuindo nada. Somente se você o ler falando sobre a distribuição de executáveis, ele contradiz o que estou dizendo e fica IMO errado.
David Schwartz
Você está certo, presumi que ele esteja falando sobre a distribuição de executáveis. Mas não é exatamente isso que ele está dizendo. A julgar pelo contexto, eu ainda assumiria que era isso que ele queria dizer e, portanto, contradiz sua afirmação. Essa é apenas a minha interpretação, no entanto.
precisa
1

Você não precisa incluir o código-fonte, mas precisa fornecer um link para o CPOL e permitir que os usuários concordem com ele em seus termos e condições . Ver também CPOL seção 5.e:

... Você deve incluir uma cópia ou o Identificador uniforme de recursos para esta licença com todas as cópias dos arquivos executáveis ​​ou do código-fonte. Você distribui e garante que qualquer pessoa que receba esses arquivos executáveis ​​e código-fonte concorda que os termos desta licença se aplicam arquivos executáveis ​​e / ou código-fonte. ...

O projeto Code resumiu os fatos mais importantes sobre suas licenças aqui: Informações sobre licenças do CodeProject .

Menciona, entre outros, os seguintes pontos:

  • Pode ser usado em aplicações comerciais: True
  • Pode ser usado em aplicativos proprietários (código fechado): True
  • As correções / extensões de erros devem ser liberadas para o domínio público: Falso
  • É uma licença viral: False
Andi R
fonte
Mas quando ele usa o projeto, ele precisa incluir o código fonte? Você não respondeu a essa pergunta específica em sua resposta.
Jay Elston