Note sul copyright / dichiarazioni di non responsabilità nei file di origine


60

È una pratica comune inserire avvisi di copyright, varie dichiarazioni di non responsabilità e talvolta persino accordi di licenza completi in ciascun file sorgente di un progetto open source. È davvero necessario per un (1) progetto open source e (2) un progetto chiuso? Cosa stai cercando di ottenere o prevenire inserendo questi avvisi nei file sorgente?

Capisco che è una domanda legale e dubito che possiamo ottenere una risposta pienamente competente qui ai programmatori. SO (è per i programmatori, non è vero?) Ciò che potrebbe anche essere interessante ascoltare quando si inseriscono contenuti legali nei file sorgente , è perché "lo fanno tutti" o hai ricevuto una consulenza legale? Qual è stato il ragionamento?

Risposte:


41

È davvero necessario

No. Non è legalmente richiesto. (Non sono un avvocato, ma ho visto questo dichiarato da uno.)


Se hai un progetto in cui i singoli file potrebbero essere esclusi dal contesto, potrebbe essere sensato, ma richiede solo un paio di righe, per dire qualcosa del tipo:

Questo file fa parte di <progetto> che viene rilasciato in <licenza>.
Vedi il file <nomefile> o vai a <url> per i dettagli completi sulla licenza.


Per qualsiasi altra cosa, puoi semplicemente inserire un file di testo LICENSE nella radice del progetto e tutti i dettagli / crediti / ecc. Pertinenti nel file README - è ancora protetto da copyright (automaticamente), quindi è solo una questione di essere chiari in termini di licenza nel file Leggimi.


1
+1 per non mettere l'intera targa di licenza. Uso solo una riga:Copyright YYYY First Last. Subject to the XYZ license.
mk12

1
Molte aziende amano avere una linea di copyright perché vogliono fare "gestione delle licenze". In altre parole: cerca qualcosa di GPL'ish che è stato copiato da Internet. Fondamentalmente scansionano il codice sorgente per una riga di copyright - che in realtà è solo la prima riga che contiene "Copyright" / "(c)". Quindi quella riga dovrebbe contenere il detentore del copyright (l'autore o la società) e un suggerimento se si tratta di software libero o meno. Pertanto @ mk12 si basa proprio su come dovrebbe apparire un minimo. Perché la verità è -> qualsiasi seconda o terza riga non sarà mai conosciuta altrove che nel codice sorgente.
Guido U. Draheim,

12
Voglio google "IANAL" ma ho un po 'paura di farlo.
Pieter De Bie,

1
@PieterDeBie È l'abbreviazione di "I am not a lawyer"
Adam Lindberg

Sarebbe bello se per <license> includessi il numero di versione. LGPL 2.1 è stato un ottimo scudo protettivo per lo sviluppatore open source. GPL 3.0 è un virus che tenta di consumare tutto.
user922020

22

Potresti, semplicemente, mettere semplicemente la tua nota sul copyright che menziona un file di LICENZA, tuttavia non vi è alcuna garanzia che una volta rilasciato, il tuo codice rimarrà atomico. In effetti, è molto probabile che frammenti di esso vengano remixati in almeno altri progetti.

Questo è il motivo per cui è importante disporre almeno di quanto segue in ogni file sorgente:

/* 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 :
 */

Compiendo due cose facendo questo:

  • Il tuo copyright viene rivendicato indipendentemente dal modo in cui il tuo codice si disintegra e si disperde in futuro.
  • Rendi chiari i termini di utilizzo, distribuzione e modifica, anche se a qualcuno è capitato di ricevere solo una piccola parte di una biblioteca che hai scritto.

Molte persone includono anche il loro indirizzo e-mail protetto da copyright, che è utile per ricevere patch in futuro. Il mese scorso ho ricevuto una patch per il codice che avevo scritto cinque anni fa e che avevo dimenticato da tempo. Ovviamente, ciò significa mantenere un indirizzo e-mail e tollerare un po 'di SPAM.

Se mai davvero hai bisogno di far valere la tua licenza, è fondamentale che l'altra parte non possa dire che i termini fossero ambigui o mancanti, tutti scherzando a parte.

Inoltre, è divertente vedere come parti del codice si fanno strada nel tempo in altre parti del codice. Molte persone giocano in modo equo e rispettano i termini di copyright e licenza.


2
"i termini della licenza XYZ, che purtroppo non sarà scritta per un altro secolo." Sono passati 130 anni e oltre. : P
Joe Z.

Molte aziende amano avere una linea di copyright perché vogliono fare "gestione delle licenze". In altre parole: cerca qualcosa di GPL'ish che è stato copiato da Internet. Fondamentalmente scansionano il codice sorgente per una riga di copyright - che in realtà è solo la prima riga che contiene "Copyright" / "(c)". L'esempio dice che non è un software libero perché è "Tutti i diritti riservati" - il che implica che ci deve essere un foglio di licenza in un terzo posto, può essere un file LICENSE.TXT o carta reale. A causa di tale implicazione, non è necessario un testo della licenza di targa .
Guido U. Draheim,

4

Volevo solo notare Open Source! = Nessun copyright.

Open Source si affida a qualcuno che rivendica il copyright e adotta un documento legale specifico (come la GPL) per dare ad altri diritti quel codice.

Quindi qualunque cosa tu abbia deciso sia adatta al codice sorgente chiuso è adatta anche al codice open source.


1
Inoltre, ci sono più possibilità che un singolo file venga portato altrove da un progetto open source rispetto a un progetto open source, quindi forse le note sul copyright nella testa dei file hanno più senso in un progetto open source ...
James

1
Una licenza non "regala quel copyright". Dà i permessi per usare e / o modificare e / o ridistribuire.
Glenn Randers-Pehrson,

@ GlennRanders-Pehrson Buon punto, modificato.
James,

2

Per qualsiasi progetto open source

Stai definendo le condizioni in base alle quali il codice deve essere utilizzato e ridistribuito (o meno, a seconda di tali condizioni).

Per lo meno, una licenza può rispondere a domande come:

  • Appropriazione: qualcuno può prendere il codice e trasformarlo in un altro progetto? Un buon esempio di tale fenomeno è Google Chrome, che si basa sul progetto open source Chromium.
    • Hanno bisogno di darti credito, chiedere il permesso, ecc ...
  • Uso commerciale: il codice può essere utilizzato commercialmente, ad esempio all'interno di Photoshop come DLL di terze parti? In tal caso si applicano condizioni diverse?
  • Ridistribuzione: gli usi del codice devono essere nel software con una licenza simile / identica? Licenze come la GPL che lo richiedono sono chiamate licenze virali (e non so se sia un termine negativo o solo una dichiarazione di fatto).

Ecc. Questo non è affatto un elenco completo, è solo per darti un'idea delle domande che una licenza direbbe chiaramente.


1
Penso di capirlo, ma perché inserire le note legali in ogni file sorgente? O se non dovessero, perché la gente lo fa?
Mojuba,

Sembra un modo sicuro per garantire che la licenza non vada persa se separata dal codice sorgente.
doppelgreener,

-1

Un altro motivo per mettere un copyright sul tuo codice è che fa sapere agli altri chi lo ha scritto. Mi piace essere in grado di vedere da dove proviene il codice e da quanto tempo è in circolazione. È interessante e utile vedere come il codice è stato utilizzato in altri progetti. Quindi, anche se legalmente potresti non aver bisogno di mettere il tuo copyright su qualcosa, ti preghiamo di aggiungerlo per motivi informativi. - un thornton


1
Questo non risponde alla domanda. La domanda non era se inserire un avviso sul copyright, ma se inserire l'intero testo della licenza in ogni file sorgente.
Brandin,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.