Um único repositório do GitHub pode incluir código-fonte liberado sob várias licenças?

8

Quero reunir vários subprojetos em um único repositório do GitHub para a conveniência dos usuários. Mas eu me pergunto se é realmente possível ter pastas em um único repositório, cada um dos quais coberto por uma licença diferente (todos eles são variantes de licença BSD, com pequenas diferenças) ou preciso dividir o projeto em vários repositórios?

introiboad
fonte

Respostas:

11

Se existe um arquivo de licença, é natural presumir que ele se aplica à pasta (e suas subpastas), para que você possa ter uma licença em cada pasta de subprojeto e tudo esteja bem.

Fora isso, você pode ter a licença em cada arquivo e, portanto, alterar entre licenças por arquivo.

Além disso, gostaria de salientar que você também pode ter um repositório para cada projeto e depois adicioná-los como sub-módulos ao projeto "conveniência" (pessoalmente acho isso mais conveniente, porque também tenho a possibilidade de clonar apenas a parte que me interessa).

Por fim, se se trata de conveniência, não exagere. Especialmente tente evitar variantes. Quando vejo um projeto, onde vejo claramente "esta parte é GPL, essa parte é MIT", isso é aceitável. Mas se eu tiver que lidar com uma selva de licenças e variantes personalizadas, provavelmente vou procurar outro lugar ou escrever a parte de que preciso. Os programadores adoram reinventar a roda. Não lhes dê desculpas para fazer isso;)

back2dos
fonte
Como eu adicionaria repositórios externos como submódulos para o projeto "conveniência"? Um link pode ser reposicionado no GitHub?
usar o seguinte comando
1
Os submódulos são um recurso git e não têm nada a ver com o GitHub, embora o GitHub os lide muito bem, por exemplo, a pasta libs aqui é na verdade um submódulo. Para saber mais sobre o submódulo, você deve começar: stackoverflow.com/questions/5252450/…
back2dos
1
Esta pergunta não era específica do github nem específica do git, pois eles não têm nada a ver com suas licenças, o back2dos esclareceu isso. Seu comentário também não era específico ao github, pois o github apenas fornece um local para hospedar seu repositório git. Pesquise no Google por "submodule git" e você deve encontrar um link para o livro git em git-scm.com, que ensina o que são submódulos e como trabalhar com eles.
precisa saber é