Durante anos, tenho sido um grande fã de colocar licenças em coisas compartilhadas on-line para facilitar a outras pessoas determinar se e como elas podem reutilizar essas coisas. Antes de o GitHub começar a empurrar gentilmente seus usuários para incluir arquivos LICENSE em seus repositórios, eu realmente não sabia como fazer isso melhor com código - particularmente código compartilhado publicamente no GitHub! - mas tentei fazer bom uso dos arquivos LICENSE desde então.
Agora estou na situação em que trabalhei em um projeto pequeno com outras pessoas, o que exige menção de várias licenças (devido a bibliotecas e códigos de terceiros, além de arquivos que não são de código). Enquanto meus parceiros discutem o assunto de maneira desleixada - foi sugerido que eu “coloque o código on-line como está, ninguém se importará” -, prefiro fazer isso corretamente. O problema é: não sei como se deve mencionar várias licenças (diferentes) no GitHub.
Eu já vi várias soluções diferentes no GitHub, e é por isso que é difícil para mim julgar se essa resposta a uma pergunta um pouco diferente é autoritativa. O que eu gostaria de saber é qual das alternativas a seguir - se houver - é a mais comum ou se existem outras maneiras adicionais de fazer isso.
- Crie um único arquivo LICENSE e coloque as descrições de todas as diferentes licenças. ( Perguntas : elas devem ser colocadas em uma ordem específica? Iniciarei o arquivo mencionando os nomes de todas as licenças contidas nela, para uma melhor visão geral)?
- Criar um arquivo de licença por licença usado e nomeá-los
LICENSE.md
,LICENSE.LibNameA.md
,LICENSE.AssetsB.md
etc., tal como sugerido na resposta ligada. ( Pergunta : A nomeação basear-se-ia em nomes de projeto? Não em nomes de licença? Se eu usasse mais de uma licença para material de contribuição automática, eu mencionaria todas elas no 'principal'LICENSE.md
? Se não, o que eu faria?) - Crie dois arquivos de LICENÇA : um listando a (s) licença (s) para o conteúdo 'principal', ou seja, todos os códigos / ativos que você mesmo criou; um para todos os materiais de terceiros. ( Perguntas como acima : existe um esquema de nomeação específico que alguém usaria e ordem em que listaria os materiais de terceiros?)
Por fim, se eu entendi as várias explicações e projetos do GitHub a respeito de suas APIs de licenças corretamente, apenas o arquivo 'main' LICENSE será levado em consideração ao determinar uma licença de repo (embora eu não tenha conseguido descobrir qual licença seria escolhida se vários foram mencionados).