Avisos de direitos autorais / isenções de responsabilidade nos arquivos de origem


60

É uma prática comum colocar avisos de direitos autorais, várias isenções de responsabilidade legais e, às vezes, até contratos de licença completos em cada arquivo de origem de um projeto de código aberto. Isso é realmente necessário para um (1) projeto de código aberto e (2) projeto de código fechado? O que você está tentando alcançar ou impedir colocando esses avisos nos arquivos de origem?

Entendo que é uma questão legal e duvido que possamos obter uma resposta totalmente competente aqui em programadores. Então (é para programadores, não é?) O que também seria interessante de ouvir é quando você coloca coisas legais em seus arquivos de origem , é porque "todo mundo faz" ou você recebeu aconselhamento jurídico? Qual foi o raciocínio?

Respostas:


41

Isso é realmente necessário

Não. Não é legalmente exigido. (Eu não sou advogado, mas já vi isso declarado por um).


Se você tem um projeto em que arquivos individuais podem ser retirados de contexto, pode ser sensato - mas são necessárias apenas algumas linhas para dizer algo como:

Este arquivo faz parte do <project>, que é lançado em <license>.
Consulte o arquivo <filename> ou vá para <url> para obter detalhes completos da licença.


Para qualquer outra coisa, você pode simplesmente colocar um arquivo de texto LICENSE na raiz do projeto e quaisquer detalhes / créditos / etc relevantes no arquivo LEIA-ME - ele ainda é protegido por direitos autorais (automaticamente), portanto, é apenas uma questão de ter uma licença clara no diretório arquivo leia-me.


11
+1 por não colocar o clichê completo da licença. Eu só uso uma linha:Copyright YYYY First Last. Subject to the XYZ license.
mk12 18/08/12

11
Muitas empresas gostam de ter uma linha de direitos autorais porque desejam "gerenciamento de licenças". Em outras palavras: verifique se há algo GPL'ish que foi copiado da internet. Basicamente, eles digitalizam o código-fonte em busca de uma linha de direitos autorais - que é realmente apenas a primeira linha que contém "Copyright" / "(c)". Portanto, essa linha deve conter o detentor dos direitos autorais (o autor ou a empresa) e uma dica sobre se é software livre ou não. Portanto, o @ mk12 está certo sobre como deve ser o mínimo. Porque a verdade é -> qualquer segunda ou terceira linha nunca será conhecida em nenhum outro lugar além do código-fonte.
Guido U. Draheim

12
Quero pesquisar no Google "IANAL", mas tenho um pouco de medo de fazê-lo.
Pieter De Bie

11
@PieterDeBie É a abreviação de "Eu não sou advogado" #
Adam Lindberg

Seria bom se, para <license>, você incluísse o número da versão. LGPL 2.1 era um bom escudo protetor para o desenvolvedor de código aberto. GPL 3.0 é um vírus que tenta consumir tudo.
User922020 20/06

22

Você pode, simplesmente, colocar seu aviso de direitos autorais que menciona um arquivo LICENSE, no entanto, não há garantia de que, uma vez liberado, seu código permaneça atômico. De fato, é bem provável que partes dele sejam remixadas em pelo menos vários outros projetos.

É por isso que é importante ter pelo menos o seguinte em todos os arquivos de origem:

/* Copyright (C) 1883 Thomas Edison - All Rights Reserved
 * You may use, distribute and modify this code under the
 * terms of the XYZ license, which unfortunately won't be
 * written for another century.
 *
 * You should have received a copy of the XYZ license with
 * this file. If not, please write to: , or visit :
 */

Você realiza duas coisas fazendo isso:

  • Seus direitos autorais são reivindicados, independentemente de como seu código se desintegre e se espalhe no futuro.
  • Você deixa bem claro os termos de uso, distribuição e modificação, mesmo que alguém receba apenas uma pequena parte da biblioteca que você escreveu.

Muitas pessoas também incluem seu endereço de e-mail sob os direitos autorais, o que é útil para receber correções no futuro. Recebi um patch no mês passado por um código que escrevi há cinco anos e há muito que me esqueci. Obviamente, isso significa manter um endereço de e-mail e suportar um pouco de SPAM.

Se você realmente precisar fazer cumprir sua licença, é fundamental que a outra parte não possa dizer que os termos eram ambíguos ou ausentes, todos brincando à parte.

Além disso, é divertido observar como os bits e partes do seu código chegam a outros bits ao longo do tempo. A maioria das pessoas joga de maneira justa e respeita os termos de direitos autorais e licença.


2
"os termos da licença XYZ, que infelizmente não serão escritos por mais um século." Faz 130 anos e contando. : P
Joe Z.

Muitas empresas gostam de ter uma linha de direitos autorais porque desejam "gerenciamento de licenças". Em outras palavras: verifique se há algo GPL'ish que foi copiado da internet. Basicamente, eles digitalizam o código-fonte em busca de uma linha de direitos autorais - que é realmente apenas a primeira linha que contém "Copyright" / "(c)". O exemplo diz que não é um software livre porque é "Todos os direitos reservados" - o que implica que deve haver alguma folha de licença em terceiro lugar, pode ser um arquivo LICENSE.TXT ou um documento real. Por causa dessa implicação, você não precisa de um texto de licença padrão .
Guido U. Draheim

4

Só queria observar Open Source! = Sem direitos autorais.

O código-fonte aberto depende de alguém que reivindica direitos autorais e adota um documento jurídico específico (como a GPL) para conceder direitos a outros códigos.

Portanto, o que você decidiu ser adequado para código-fonte fechado também é adequado para código-fonte aberto.


11
Altho não há mais chance de um único arquivo será levado para outro lugar a partir de um projeto de código aberto do que um código fechado um, então talvez avisos de direitos autorais nas cabeças de arquivos fazem mais sentido em um projeto open source ...
James

11
Uma licença não "cede esse direito autoral". Dá permissões para usar e / ou modificar e / ou redistribuir.
Glenn Randers-Pehrson

@ GlennRanders-Pehrson Bom ponto, editado.
James

2

Para qualquer projeto de código aberto

Você está definindo as condições sob as quais o código deve ser usado e redistribuído (ou não, dependendo dessas condições).

No mínimo, uma licença pode responder a perguntas como:

  • Apropriação: alguém pode pegar o código e evoluí-lo para um projeto diferente? Um bom exemplo desse fenômeno é o Google Chrome, que se baseia no projeto de código aberto Chromium.
    • Eles precisam dar crédito, pedir permissão, etc ...
  • Uso comercial: seu código pode ser usado comercialmente, como no Photoshop como uma DLL de terceiros? Em caso afirmativo, condições diferentes se aplicam?
  • Redistribuição: Algum uso do seu código precisa estar em software com uma licença semelhante / idêntica? Licenças como a GPL, que exigem isso, são chamadas licenças virais (e não sei se é um termo negativo ou apenas uma declaração de fato).

Etc. Isso não é de forma alguma uma lista abrangente, é apenas para lhe dar uma idéia das perguntas que uma licença indicaria claramente.


11
Acho que entendo isso, mas por que os avisos legais devem ser colocados em cada arquivo de origem? Ou, se não deveriam, por que as pessoas fazem isso?
Mjuba

Parece uma maneira segura de garantir que a licença não seja perdida se for separada do código fonte.
doppelgreener

-1

Outro motivo para colocar um copyright no seu código é que ele permite que outras pessoas saibam quem o escreveu. Eu gosto de poder ver de onde veio o código e há quanto tempo ele existe. É interessante e útil ver como o código foi usado em outros projetos. Portanto, mesmo que legalmente você não precise colocar seus direitos autorais em algo, adicione-o por motivos informativos. --a thornton


11
Isso não responde à pergunta. A questão não era colocar um aviso de direitos autorais, mas colocar todo o texto da licença em todos os arquivos de origem.
Brandin
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.