Come si applica il fair use ai frammenti di codice? [chiuso]

25

Esiste una dimensione in cui è possibile copiare in modo corretto per codice che non si dispone di una licenza per lo scopo? Ad esempio, cosa succede se copio uno snippet che è (normalmente) 3 righe di codice? È giusto usare? Se è un uso corretto, quale è la lunghezza richiesta prima di avere bisogno di una licenza?

    
posta Casebash 15.10.2010 - 05:55
fonte

4 risposte

12

Negli Stati Uniti, la dottrina legale di Fair Use non si applica per incorporare estratti di opere protette da copyright nel codice sorgente. Come tale dottrina è applicata dalle leggi della tua giurisdizione può variare.

Trarrò da un ufficio degli Stati Uniti Copyright articolo sull'uso corretto , e dei copyright in genere:

Section 107 contains a list of the various purposes for which the reproduction of a particular work may be considered fair, such as criticism, comment, news reporting, teaching, scholarship, and research [emphasis mine]. Section 107 also sets out four factors to be considered in determining whether or not a particular use is fair:

  1. The purpose and character of the use, including whether such use is of commercial nature or is for nonprofit educational purposes
  2. The nature of the copyrighted work
  3. The amount and substantiality of the portion used in relation to the copyrighted work as a whole
  4. The effect of the use upon the potential market for, or value of, the copyrighted work.

The distinction between fair use and infringement may be unclear and not easily defined. There is no specific number of words, lines, or notes [emphasis mine] that may safely be taken without permission. Acknowledging the source of the copyrighted material does not substitute for obtaining permission.

Riassume i limiti legali del copyright, che Fair Use limita ulteriormente, in questo modo:

Copyright protects the particular way an author has expressed himself. It does not extend to any ideas, systems, or factual information conveyed in the work.

The safest course is always to get permission from the copyright owner before using copyrighted material. The Copyright Office cannot give this permission.

Quali sono i limiti di ciò che ci protegge dal copyright, anche se non puoi copiare "snippet" di codice tramite Fair Use, puoi riscrivere il modo in cui le idee, i sistemi (inclusi gli algoritmi) o le informazioni fattuali sono espresso in quei frammenti.

In breve, 3 righe di codice dovrebbero essere abbastanza piccole da poter essere riscritte in modo da non violare il copyright del lavoro originale. Probabilmente ci è voluto più tempo per scrivere la tua domanda piuttosto che per riscriverla.

    
risposta data 15.10.2010 - 09:19
fonte
18

Non sono un avvocato .

Tuttavia, è assolutamente gratuito per utilizzare le seguenti 3 righe di codice in tutto ciò che scrivi:

for (i = 0; i < 5; i++) {
    printf("I am not a lawyer!\n");
}

.... Questo è il codice funzionale puramente (non funzionale nel senso in cui si potrebbe pensare, ma funzionale a ciò che fa). In realtà non realizza nulla; semplicemente esercita i costrutti della lingua. Supporta roba che funziona effettivamente, la digiti abbastanza spesso da avere una macro per produrla. Ma quello di cui stai parlando non è "fair use", è questo è addirittura protetto da copyright o licenziabile in primo luogo?

L'unica risposta corretta qui è chiedere a un avvocato. Dieci righe di codice da cosa ? Un algoritmo di ordinamento altamente specializzato? Qualche tipo di firmware? Uno dei milioni di parser di file di configurazione che sono stati in circolazione fin dagli albori di usenet? Codice generato da un altro programma che genera classi di database basate sul tuo schema DB?

Ma provami che tu hai scritto questo per il ciclo o l'istruzione switch e non hai solo copiato il mio. Nel punto in cui le asserzioni smettono di sembrare assurde, probabilmente sei al punto in cui dovresti parlare con un avvocato, o almeno il tuo direttore tecnico / PM / ecc.

Partecipo a diversi progetti gratuiti / open source, alcuni richiedono un incarico di copyright per tutto ciò che non è "banale". Tutti quelli che hanno questo requisito definiscono 'banale' essere dieci righe di codice aggiunte o modificate. Ma questo è solo un arbitrario test di prova per stabilire una sorta di standard; è molto più probabile che una riga di confronto tra i byte per piegare il cervello sia soggetta a copyright rispetto a un interruttore a 10 righe.

La mia galleria di frammenti contiene centinaia di funzioni, tutte con le informazioni dell'autore originale nei commenti stile doxygen, così come le informazioni sulla licenza (se ce ne sono, la maggior parte sono solo di dominio pubblico).

A meno che non sia chiaramente banale (come nel mio esempio umoristico), non vorrei riutilizzare il codice a meno che non sappia che ho il permesso di farlo. Inoltre, seguo sempre le regole di qualunque licenza si applichi. E per aiutare il mio io futuro (o futuri manutentori), mi piace lasciare un link a dove ho trovato delle cose in un commento, anche se è il nome di una pallina di catrame che accendo su una penna USB se esco dall'azienda.

    
risposta data 15.10.2010 - 06:27
fonte
1

Il copyright si applica a lavori creativi , comprese espressioni di idee (che è il modo in cui il codice sorgente viene trattato legalmente parlando), a condizione che l'espressione di tali idee raggiunga un livello di originalità e inventiva che supera un livello considerato come soglia minima di creatività per garantire protezione e la quantità di copia non è considerata banale.

Se l'espressione non è sufficientemente distintiva, si fa riferimento al fatto che non si raggiunge la soglia di copyrightability ; se la quantità di copia è considerata banale, si chiama copia de minimis e non è coperto da copyright. Questo è stato trovato dai tribunali per estendere ai programmi per computer nella situazione in cui sono ovvi programmi minimi che eseguono una particolare operazione (e dove l'operazione stessa non è innovativa). Per esempio. diversi casi di questo sono discussi qui e here .

Nel contesto della domanda, quelle 3 linee di riferimento sono quasi certamente in quella categoria: interamente funzionali piuttosto che di natura creativa, e quasi certamente eseguono un'operazione comune che si trova in molti software. In questo caso, probabilmente non sono protetti.

Tecnicamente questo non è in realtà "fair use", che è una specifica esenzione legale dalle restrizioni che un detentore del copyright è autorizzato a far valere, ma è invece basato su precedenti di casi di common law che si sono accumulati nel tempo, ma il termine " fair use "è spesso usato in modo approssimativo in un modo che include entrambi i significati, e in realtà c'è una sostanziale sovrapposizione tra loro.

    
risposta data 22.07.2018 - 14:31
fonte
1

La "dottrina del fair use" degli Stati Uniti è una possibile difesa affermativa contro una richiesta di violazione del copyright. "Difesa affermativa" significa che ammetti di copiare senza licenza e quindi di violare il copyright di qualcuno, ma poi affermi che per qualche motivo hai il diritto di farlo senza conseguenze negative. Ad essere onesti, quella sembra essere una strategia pericolosa. Proponi di scrivere un codice che infrange il copyright di qualcuno o di più di una persona e si basa su una difesa del fair use. Potrei facilmente immaginare che 3 righe di codice possano essere "fair use" ma 3 righe qui, 3 linee lì e 3 linee altrove non lo è.

C'è una difesa molto migliore contro la violazione del copyright: non violare in primo luogo. Invece di copiare uno snippet di codice, lo leggi, lo esamini attentamente, impari come funziona, lo capisci e, una volta compreso completamente, non lo copi ma scrivi le tue tre righe di codice. Questo ha molti vantaggi:

  1. Non stai commettendo una violazione del copyright.
  2. Hai imparato qualcosa e sei diventato uno sviluppatore migliore.
  3. Scriverlo tu stesso significa che è scritto nello stesso stile del tuo altro codice, semplificando la manutenzione.
  4. Mentre spendi il tempo per capire lo snippet di codice, impari le sue inadeguatezze, i suoi limiti, i suoi bug ed evitali nel tuo codice, che significa che il tuo codice è migliore rispetto a quando hai copiato lo snippet.
risposta data 22.07.2018 - 23:28
fonte

Leggi altre domande sui tag