Acho que é desnecessariamente duplicado ter em cada arquivo de código, mas vejo isso na maioria dos projetos de código aberto. Devo fazer o mesmo ou apenas incluir uma única licença fora do código?
Acho que é desnecessariamente duplicado ter em cada arquivo de código, mas vejo isso na maioria dos projetos de código aberto. Devo fazer o mesmo ou apenas incluir uma única licença fora do código?
Respostas:
Um único fora do código, por favor! Não sei sobre os outros, mas odeio ver a mesma coisa no topo de cada arquivo.
Acho que li algumas vezes, apenas folheando-o.
evidence for the legal situation
. Perhaps a lawyer can add a link to a court decision
.
EULA é o termo errado aqui, já que as pessoas que procuram o código-fonte geralmente não são usuários finais.
Legalmente, também não faz diferença; os direitos autorais não precisam ser declarados explicitamente.
Basicamente, tudo o que você consegue é um risco menor de as pessoas violarem acidentalmente seus termos de licença. Você terá que decidir o quão importante isso é para você.
Eu diria que o melhor compromisso é colocar um cabeçalho muito curto contendo um link (URL absoluto, bem como relativo dentro do projeto) para o texto da licença completa em cada arquivo de código-fonte. Dessa forma, qualquer pessoa que se preocupa com a licença sabe onde encontrá-la (de preferência, pessoas que estão dispostas a pagar altas taxas de licença; você certamente deseja que essas pessoas possam entrar em contato com você!)
Não, você não precisa colocar a licença em cada arquivo de código-fonte.
Se você olhar mais de perto, a maioria dos aplicativos FOSS também não faz isso. Eles colocam uma declaração de copyright no topo de cada arquivo e uma frase curta dizendo a que licença o arquivo está e onde você pode encontrar o texto completo da licença. Eles geralmente apontam para o arquivo COPYING ou LICENSE contendo o texto completo da licença e / ou para um site que contém o texto completo (caso o arquivo COPYING não esteja mais lá).
Como Michael Borgwardt disse em suas respostas, legalmente você não precisa fazer isso. Mas é aconselhável para o código-fonte que você pretende distribuir, já que as pessoas podem ver imediatamente quem tem os direitos autorais e qual é a licença.
Pode depender da licença. A GPL distingue entre preamble
elicense
. Ele afirma claramente que o preâmbulo (irritante) deve fazer parte do código :
Posso omitir o preâmbulo da GPL, ou as instruções de como usá-lo em seus próprios programas, para economizar espaço?
O preâmbulo e as instruções são partes integrantes da GNU GPL e não podem ser omitidos. Na verdade, a GPL está protegida por direitos autorais e sua licença permite apenas a cópia literal de toda a GPL. (Você pode usar os termos legais para fazer outra licença, mas não será a GNU GPL.) (1)
Fonte: 1) http://www.gnu.org/licenses/gpl-faq.html#GPLOmitPreamble
Consulte também http://softwarefreedom.org/resources/2012/ManagingCopyrightInformation.html
Um e -book gratuito do ifrOSS explica e comenta a GPL 2 em alemão. Existe outro para GPL 3
Para uma resposta bem fundamentada, você deve pedir um conselho jurídico que não está disponível no sx. Se você não conseguir encontrar um advogado para seu projeto (código aberto), dê uma olhada na rede jurídica da FSFE .
[...] attach the following notices to the program.
- os avisos a seguir são apenas uma pequena seção da licença completa. safest to attach them to the start of each source file
- mais seguro, mas não obrigatório. each file should have at least the "copyright" line and a pointer to where the full notice is found.
- o único requisito é a linha de copyright com uma indicação para o resto. Não há problema em colocar a licença completa em um arquivo separado.
Acho que o raciocínio por trás de colocá-lo em cada arquivo é legal. Se o acordo estiver em cada arquivo, não há chance de alguém tropeçar em um pedaço de código sem ser exposto à licença.
Pode não ser bom, mas todos os meninos grandes o usam, então se for apenas uma dor visual, eu procuraria uma razão melhor para não fazer o mesmo.
Se você estiver usando GPL, este é mais um problema, mas se você estiver usando licenças de domínio público como BSD ou MIT, eu não acho que você realmente se importe com o que as pessoas fazem com o código. Suponho que depende de quão estrita é sua licença.
IANAL,
Supondo que você esteja falando sobre licenciamento, não um EULA, você pode colocar a licença fora. Isso quase sempre é feito com licenças muito longas, como a GPL. Seria tolice colocar a licença GPL inteira em cada arquivo. Normalmente, você teria apenas algum tipo de aviso informando onde pode encontrar a licença real. Isso é perfeitamente legal. No entanto, com licenças realmente curtas, como BSD / Apache / MIT / qualquer que seja, é mais simples incluir a licença em todos os arquivos, já que o aviso dizendo onde encontrar a licença seria quase tão longo quanto a própria licença.
Depende do que a licença determina. A GPL, por exemplo, instrui você a colocar um breve aviso em cada arquivo de origem, incluir a licença inteira em algum lugar de sua distribuição de origem e tornar sua distribuição de origem disponível para qualquer um que obtenha uma cópia da distribuição binária.
Se você discordar disso e for SEU código, você está livre para escolher uma licença mais aceitável ou criar a sua própria.
Se o seu código vai ser compilado, então você está apenas distribuindo um binário, então realmente não importa. Porque quando você cria um binário, os comentários são removidos antes que o processo de compilação ocorra. Só importa se você vai distribuir o código-fonte real, seja de código aberto ou fechado. Isso faz diferença se você for distribuir um aplicativo em uma linguagem de script que não compila.
Você não precisa disso para a licença, um único arquivo externo servirá, desde que esteja claro quais arquivos ele cobre.
No entanto, para direitos autorais, você deve ter o aviso de direitos autorais em cada parte do texto.
O que faço é colocar um comentário de duas linhas na parte superior do arquivo, informando o nome da minha empresa, a data da última revisão e o nome da licença que o arquivo de origem possui e, no final do arquivo, uma versão resumida do licença.
Claro, a licença completa (todas elas no caso de licenças múltiplas) está sempre incluída no arquivo de origem e nos diretórios de lançamento.