Estou usando o código-fonte de um exemplo de código licenciado sob a Apache 2.0 License no meu programa. Agora eu gostaria de publicar esse programa e código-fonte no GitHub usando a Licença MIT. Eu li o seguinte na licença:
Você deve fazer com que os arquivos modificados apresentem avisos importantes, informando que você alterou os arquivos;
Mas não alterei nenhum dos arquivos, apenas copiei as partes relevantes do código nos meus arquivos de origem.
Agora, aqui estão minhas perguntas:
Sei que tenho que adicionar uma cópia da licença Apache 2.0 ao meu projeto, mas preciso colocar alguma coisa nos meus arquivos de origem para publicar corretamente meu programa / código-fonte?
Como é um programa de linha de comando, tenho que adicionar uma opção -license e exibir a licença ou preciso adicionar a saída "USAGE"?
Preciso colocar a Licença MIT em todos os meus arquivos de origem ou é suficiente ter uma cópia dela no projeto?
Desde já, obrigado!
Respostas:
Como partes das fontes são licenciadas sob uma licença (Apache 2.0) e partes sob uma licença diferente (MIT), é importante que cada arquivo leve um aviso informando qual licença se aplica ao conteúdo desse arquivo.
É altamente recomendável ter apenas uma licença para cada arquivo de origem; portanto, você deve ter o código que copiou da biblioteca de terceiros em um arquivo de origem separado (ou em vários arquivos de origem separados). Esses arquivos devem ter um aviso de direitos autorais referente à licença do Apache e indicar que você copiou o código da biblioteca de terceiros.
Para o seu próprio código que você deseja publicar sob a licença MIT, é recomendável colocar a licença MIT integralmente em um comentário na parte superior de seus arquivos.
A licença do MIT não é muito longa e evitará toda confusão sobre qual licença o código está, mesmo que o arquivo seja separado do restante do projeto.
Se não for possível separar o código sob as diferentes licenças em arquivos separados, você poderá proceder assim (assumindo que uma pequena parte de um arquivo esteja sob a licença Apache):
Para evitar confundir completamente os outros, isso deve ser feito na granularidade de uma função.
fonte