Generazione automatica del codice: "lavoro derivato"?


18

Ad esempio, ho un software GPL. Sono l'autore di questo software GPL. Questo software GPL ha, tra i suoi codici, commenti Doxygen. Questi commenti Doxygen sono scritti per generare una pagina html CC-BY-SA, al fine di caricare questa documentazione generata nel sito Web del mio progetto con licenza CC-BY-SA.

Ma la documentazione di Doxygen ha prodotto un "lavoro derivato"? Dopotutto, questa documentazione si basa sul mio codice sorgente GPL. In questo caso, la documentazione deve essere GPL. Ma voglio che la documentazione sia CC-BY-SA, perché è documentazione. GFDL non aiuta. Il codice GPL non può diventare GFDL (l'opposto sì).

Se questo output è davvero un lavoro derivato, penso, crea una situazione strana, perché, se distribuisco il mio lavoro, gli utenti destinatari non possono distribuire legalmente la documentazione generata: mentre con il mio lavoro posso fare, gli utenti non " Pertanto, devono distribuire qualsiasi lavoro derivato con la stessa licenza che offro loro.

Qual'è la soluzione?


3
Domanda interessante!
maple_shaft

Risposte:


13

Questa è davvero una domanda difficile (del tipo "chiedi al tuo avvocato").

Dato che sei l'autore del software, puoi chiarire le tue intenzioni ed evitare qualsiasi ambiguità aggiungendo un'eccezione "I commenti Doxygen sono CC-BY-SA" alla tua licenza, sulla falsariga di:

Additional permission under GNU GPL version 3 section 7

In addition, as a special exception, the copyright holders of [name of your program]
give you permission to distribute the Doxygen comments in this source and any work
derived from those comments ("the documentation") under the CC-BY-SA license.


Grazie mille. Ma, in relazione a questa sezione 7, non capisco esattamente con i tipi di autorizzazioni aggiuntive che possono essere rimosse dai destinatari.
Peregring-lk,

1
Con il testo GPL, i destinatari possono rimuovere eventuali autorizzazioni aggiuntive (come quella sopra) dalla loro copia o da qualsiasi parte di essa. Ma questo è IMO probabilmente non è un grosso problema, dal momento che non possono rimuovere il diritto di concedere tale autorizzazione a terzi, in merito al codice. In effetti, non è necessaria l'eccezione per distribuire la documentazione generata: in quanto proprietario del copyright, puoi fare ciò che vuoi con il tuo lavoro. L'eccezione CC-BY-SA è qui solo per consentire ai destinatari di generare e distribuire la documentazione dal codice sorgente.
user281377

Ma se un destinatario diretto rimuove questa clausola e la distribuisce un'altra volta, un destinatario di "terzo livello" presenta lo stesso problema legale.
Peregring-lk,

2
Vero, e non c'è quasi nulla che tu possa fare al riguardo. Porre ulteriori restrizioni come "non è possibile rimuovere l'eccezione cc-by-sa" non è assolutamente necessario con la GPL. La creazione della tua licenza molto probabilmente rende il tuo lavoro incompatibile con la GPL, il che riduce drasticamente il suo valore per gli altri che potrebbero voler creare un'opera derivata contenente parti del tuo lavoro e parti di altre fonti GPL.
user281377

2
L'intero problema è che non esiste una licenza (gratuita) applicabile alle opere composte da elementi di diversa natura. GPL sembra essere progettato per software in puro codice, dimenticando altri elementi non in codice sorgente integrati nel software.
Peregring-lk,

2

Per essere un "lavoro derivato", qualcosa deve prima essere un lavoro. Secondo la legge degli Stati Uniti, solo un processo creativo può creare un'opera. Un processo automatizzato non può creare un'opera derivata perché non può creare un'opera che prima non esisteva. (A parte alcune eccezioni specifiche create dallo statuto.)

Se ci pensate, non può essere un'opera derivata. Supponi di eseguire il programma A sul testo B e di produrre un'opera C. Se si tratta di una nuova opera derivata, chi ne detiene il copyright? Nessun essere umano lo ha creato e un programma non può detenere il copyright.

Le combinazioni non creative non possono creare alcun nuovo lavoro, derivato o meno. Ciò che i processi meccanici possono creare è un lavoro aggregato. È legalmente lo stesso di se avessi incollato insieme due DVD (o combinato due file sullo stesso supporto di memorizzazione). Non c'è lavoro derivato, ma i due DVD uniti insieme sono un aggregato di entrambi i lavori.

Vedi 17 USC 103 (b): "Il copyright in un'opera di compilazione o derivata si estende solo al materiale fornito dall'autore di tale opera, come distinto dal materiale preesistente impiegato nell'opera, e non implica alcun diritto esclusivo nel materiale preesistente ".

Vedi anche circolare 14 .

Chi sarebbe l'autore dell'opera derivata?


Quindi, per quale motivo Flex / Bison copia nei suoi output automatici (da file con descrizioni grammaticali) una dichiarazione di licenza? Se questi output non sono "lavori" (e quindi, né lavori derivati), non ha senso queste clausole legali. Lo stesso si può dire per i file .sty generati automaticamente dai pacchetti .dtx e .ins?
Peregring-lk,

Perché gli output contengono elementi creativi presi da Flex, Bison e così via. Se si strappa un libro a metà, non è stato creato un lavoro derivato (non è necessario il permesso del detentore del copyright per strappare un libro a metà e non è possibile registrare un copyright nel libro a metà), ma non puoi fare copie di quelle metà e darle a tutti i tuoi amici. Giusto? Legalmente, le metà del libro si comportano praticamente come l'opera originale. Lo stesso qui: tutti gli elementi protetti dall'opera originale presente nell'output combinato sono ancora coperti da copyright. Non è solo un lavoro derivato.
David Schwartz,

Capisco la prima parte (l'input è un elemento creativo originale), ma non vedo la relazione tra il tuo libro diviso e il problema reale.
Peregring-lk,

Non sono sicuro di come possa spiegarlo in modo più chiaro di quello che già ho. Un processo automatizzato non crea un'opera derivata secondo la legge degli Stati Uniti (a parte le poche eccezioni create dallo statuto che non si applicano qui). Le disposizioni sulla licenza relative alle opere derivate non si applicano all'output di un processo automatizzato. (Per essere precisi, gli output sono lavori, non sono nuovi lavori, quindi non possono essere nuovi lavori derivati. Un "lavoro derivato" è un tipo di nuovo lavoro che contiene una combinazione creativa di elementi di lavori precedenti. )
David Schwartz,

1
@DavidSchwartz Ciò significa che se generi automaticamente un PDF ("l'output") dal mio codice sorgente LaTeX ("il lavoro"), questo output è mio e hai gli stessi diritti su questo output che ti ho dato quando ricevi il mio lavoro . Giusto? Pertanto, se si desidera ridistribuire l'output, è necessario ridistribuirlo alle stesse condizioni indicate dalla licenza di lavoro. Ma l'output ha una licenza CC-BY-SA (perché il lavoro produce l'output così). E questa è una contraddizione, o no?
Peregring-lk,

1

Non c'è nulla che ti impedisca di applicare licenze diverse allo stesso codice. Se ti capisco correttamente, hai un codice scritto e controllato da te che ha commenti che vuoi rilasciare sotto una licenza CC e un codice che vuoi rilasciare sotto GPL. Quindi fallo. I commenti saranno rilasciati sotto licenza GPL e sotto licenza CC, quindi se le persone usano i commenti secondo la licenza CC, vanno bene.

Le FAQ GNU GPL parlano specificamente di codice generato automaticamente, quindi potrebbe rispondere alla tua domanda se avessi frainteso. (Copre anche molti altri casi angolari.)


la mia lettura delle FAQ a cui ti riferisci indica piuttosto che il codice generato è bloccato : "quando un programma traduce il suo input in un'altra forma, lo stato del copyright dell'output eredita quello dell'input da cui è stato generato ..."
gnat

@gnat: cosa intendi con 'bloccato'? In che modo la parte che hai citato contraddice ciò che ho detto?
Michael Shaw,

Questo è vicino al link che hai condiviso. Chiunque usi un file grammaticale GPL, diffidare. Il suo contenuto viene copiato nel codice generato, quindi anche il codice generato è GPL. gnu.org/licenses/gpl-faq.html#WhatCaseIsOutputGPL
RubberDuck

0

La domanda è discutibile.

Se sei l'autore del programma, hai tutti i diritti per distribuirlo secondo i termini che preferisci. Quindi, se generi la documentazione con una licenza diversa, la avrai con una licenza diversa. Perché l'hai detto tu.

Il programma non è stato scritto da te? Quindi, la documentazione prodotta dovrebbe essere GPL, ma ciò presenta un problema diverso. La GPL non parla di documentazione. Parla di software.

Quindi, se vuoi ristampare commercialmente l'output di una corsa doxygen di un programma GPL che non hai scritto, ecco cosa fai: scrivi all'autore e chiedi il permesso esplicito.Stessa cosa se vuoi distribuire quei documenti sotto CC-BY-SA. Non attacchi l'etichetta, chiedi all'autore di incollarla.

La legge non è un gioco mentale strano. Si tratta di persone che convincono giurie o giudici. I giudici odiano i giochi mentali e le giurie a volte non ottengono nemmeno la legge correttamente. (§ Apple vs. Samsung)

Quindi, scenario peggiore.

L'autore è deceduto, gli eredi sono stupidi e amano fare causa alle persone. Hai ristampato commercialmente l'output di una corsa doxygen di un programma GPL. La mia ipotesi è (ma IANAL) che potresti ancora vincere, ma potrebbe essere più difficile del previsto e potresti dover affrontare un giudice molto noioso nel distinguere il software dalla parola scritta destinata al consumo umano. Scommetto ancora su un tasso di successo del 70%.

Perché ho detto ristampare commercialmente? Perché è difficile fare causa alle persone per danni se non si può dire il valore dell '"opera d'arte" (la documentazione) che è stata distribuita illegalmente. Se l'oggetto della causa è invendibile o di valore non quantificabile, non è possibile richiedere danni sufficienti per pagare un avvocato.

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.