Texto da licença do MIT como seção ELF?

Oct 21 2020

A licença do MIT diz "O aviso de direitos autorais acima e este aviso de permissão devem ser incluídos em todas as cópias ou partes substanciais do Software." onde Software se refere ao "software e arquivos de documentação associados".

Se eu usar uma biblioteca MIT em meu aplicativo vinculado estaticamente, posso colocar o texto da licença como uma seção ELF chamada "licença" ou semelhante? Ou eu preciso mesmo incluir o texto da licença se apenas partes da biblioteca forem usadas em meu aplicativo?

Estou um pouco confuso, pois a biblioteca musl, por exemplo, que usa a licença MIT, faz uma grande diferença para que os aplicativos possam ser facilmente vinculados estaticamente e distribuídos como um único arquivo . Emhttps://www.musl-libc.org/intro.html temos:

O uso de musl maximiza a capacidade de implantação do aplicativo. Sua licença MIT permissiva é compatível com todas as licenças FOSS, compatível com links estáticos e torna o uso comercial indolor. Binários estaticamente vinculados ao musl não têm dependências externas, mesmo para recursos como pesquisas de DNS ou conversões de conjunto de caracteres que são implementadas com carregamento dinâmico no glibc. Um aplicativo pode realmente ser implementado como um único arquivo binário e executado em qualquer máquina com a arquitetura de conjunto de instruções apropriada e kernel do Linux ou camada de emulação ABI do Linux syscall.

Um arquivo de licença separado não o tornaria uma implantação de arquivo único.

Os slides em https://elinux.org/images/e/eb/Transitioning_From_uclibc_to_musl_for_Embedded_Development.pdf escrito pelo autor musl diz

Licença permissiva significa que você pode criar binários com link estático sem preocupações de conformidade com a licença.

Se eu realmente precisar incluir o texto da licença em algum lugar, isso não poderia ser chamado de preocupação?

Respostas

5 amon Oct 21 2020 at 17:11

A licença do MIT não introduz preocupações com a licença no sentido de que a licença do MIT introduziria incompatibilidades de licença ou que não permitiria certos usos. Mas a licença do MIT ainda inclui uma condição para a licença: exatamente esse requisito para manter o copyright e o aviso de licença intactos.

Uma seção ELF ou metadados incorporados semelhantes satisfaria a letra da licença e poderia, teoricamente, ser um mecanismo apropriado em cenários de nicho muito específicos. No entanto, a intenção desse requisito parece ser que os usuários finais conheçam o software licenciado pelo MIT. Uma seção ELF é efetivamente invisível para os usuários. Para outros formatos de arquivo binário (por exemplo, imagens, fontes), metadados incorporados podem ser mais apropriados.

Como regra geral, os componentes de código aberto devem ser atribuídos no mesmo lugar onde o autor do aplicativo afirma seus direitos autorais. Isso pode ser em uma mensagem de ajuda, em elementos interativos ou em documentação associada. Por exemplo, embora seu executável possa ser um único arquivo (em vez de usar links dinâmicos), você ainda pode distribuir esse executável junto com um README que forneceria um amplo espaço para fornecer atribuições.

Não interprete as opiniões de terceiros sobre “implantações de arquivo único” muito literalmente. Se você quiser ser pedante, então tudo pode ser uma implantação de arquivo único, implantando-o via arquivo ZIP, mas essa não é uma abordagem útil para interpretar uma licença. Você já entende que o Software no sentido da licença do MIT não é apenas o software (que pode ser um único arquivo), mas também a documentação associada. Portanto, não vejo nenhuma contradição entre os requisitos de licença do MIT e as observações de terceiros sobre links estáticos.