Como incluir uma biblioteca apache no meu código de código-fonte aberto?


9

Eu tenho esse código-fonte aberto com licença MIT que usa uma biblioteca licenciada Apache 2.0.

Quero incluir isso no meu projeto, para que possa ser construído imediatamente.

No ponto 4 dessa licença, explica como redistribuí-la:

excerto:

4) Redistribuição . Você pode reproduzir e distribuir cópias da Obra ou Obras Derivadas em qualquer meio, com ou sem modificações, e na forma Origem ou Objeto, desde que cumpra as seguintes condições:

Você deve fornecer a qualquer outro destinatário da Obra ou Obra Derivada uma cópia desta Licença; e

Você deve fazer com que os arquivos modificados apresentem avisos importantes, informando que você alterou os arquivos; e

Você deve reter, na forma Fonte de quaisquer Obras Derivadas que distribuir, todos os avisos de direitos autorais, patentes, marcas comerciais e de atribuição da forma Fonte da Obra, excluindo os avisos que não pertencem a nenhuma parte das Obras Derivadas; e

Se a Obra incluir um arquivo de texto "AVISO" como parte de sua distribuição, quaisquer Trabalhos Derivativos distribuídos por você deverão incluir uma cópia legível dos avisos de atribuição contidos nesse arquivo AVISO, excluindo os avisos que não pertencem a nenhuma parte do Obras Derivadas, em pelo menos um dos seguintes locais: em um arquivo de texto AVISO distribuído como parte das Obras Derivadas; dentro do formulário ou documentação Fonte, se fornecido junto com os Trabalhos Derivados; ou, em uma exibição gerada pelas Obras Derivadas, se e onde esses avisos de terceiros normalmente aparecerem. O conteúdo do arquivo AVISO é apenas para fins informativos e não modifica a Licença. Você pode adicionar seus próprios avisos de atribuição nas Obras Derivadas que distribui, juntamente ou como adendo ao texto AVISO do Trabalho, desde que esses avisos de atribuição adicionais não possam ser interpretados como modificando a Licença. Você pode adicionar Sua própria declaração de direitos autorais às Suas modificações e pode fornecer termos e condições de licença adicionais ou diferentes para uso, reprodução ou distribuição de Suas modificações, ou para quaisquer Obras Derivadas como um todo, desde que Seu uso, reprodução e distribuição de caso contrário, a Obra cumpre as condições estabelecidas nesta Licença.

Não estou criando um trabalho derivado (pretendo fornecê-lo como está).

Não tenho um arquivo AVISO, apenas meu arquivo LICENSE.txt.

Pergunta: Onde devo colocar algo ao longo das linhas: "Este projeto usa a biblioteca Xyz distribuída no Apache 2.0 ..."? O que é recomendado?

Também devo fornecer o arquivo de licença do Apache? Ou seria o suficiente se eu dissesse "Encontre a licença online aqui ... "

Espero que alguém que tenha feito isso no passado possa lançar alguma luz sobre o assunto.

Respostas:


3

Pergunta: Onde devo colocar algo ao longo das linhas: "Este projeto usa a biblioteca Xyz distribuída no Apache2.0 ..."? O que é recomendado?

A licença implica que você deve incluir algum tipo de arquivo AVISO na distribuição do seu software. Eu recomendo que você faça isso.

Também devo fornecer o arquivo de licença do apache? Ou seria suficiente se eu dissesse "Encontre a licença online aqui ... http://www.apache.org/licenses/LICENSE-2.0.html "

Você precisa explicitamente que a licença forneça uma cópia da licença.


Se você achar os requisitos do Apache declarados ou implícitos questionáveis, converse com um advogado com experiência em problemas de IP de software ... antes de decidir ignorá-los.


8

Eu não fiz isso no passado, mas seu segmento citado deixa bem claro o que é necessário. Especificamente, apenas a seguinte linha é relevante para você: "Você deve fornecer a qualquer outro destinatário da Obra ou Obra Derivada uma cópia desta Licença;"

Isso significa que você deve incluir o próprio arquivo de licença, não apenas um link.

Quanto à sua outra pergunta, o trecho da licença não exige que você explique explicitamente o uso da biblioteca, mas essas informações seriam mais úteis em um arquivo README.txt ou Dependencies.txt.


5

Você também deve fornecer uma cópia da Apache License Versão 2.0 (APLv2). Ele diz o seguinte na citação: "Você deve fornecer a qualquer outro destinatário da Obra ou Obra Derivada uma cópia desta Licença".

Nenhuma outra atribuição é necessária. Portanto, colocar "este projeto usa a biblioteca Xyz distribuída no Apache 2.0" em algum lugar não é necessário. O código fonte (o Trabalho) e a licença falam por si neste assunto.

Obviamente, é uma boa etiqueta incluir uma atribuição como essa. Para onde vai, depende do tipo de software que você está criando.

Dito isso, parece que você está fazendo um trabalho derivado - está construindo um binário com o software licenciado para APLv2. Esse é um trabalho derivado. (Não está claro em sua pergunta se você está distribuindo um binário ou não, na verdade.) Se for esse o caso, você deve lidar com o arquivo AVISO adequadamente. Você diz que você não tem um arquivo de notar, mas que o software APLv2 tem um arquivo AVISO? Se sim, você deve ter algum método para exibir os avisos com o seu software (binário).


em relação ao "trabalho derivado" ... não está claro se o OP está criando um trabalho derivado ou não. MAS, "construir um binário com o software licenciado para APLv2" não implica um trabalho derivado. A licença diz especificamente que "Obras Derivadas não devem incluir obras que permaneçam separáveis, ou simplesmente vinculadas (ou vinculadas por nome) às interfaces das Obras e Obras Derivadas".
Andy Dennie
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.