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.