L'utilizzo dei dati generati utilizzando il codice concesso in licenza AGPL-v3 è considerato una distribuzione?

1

Sto prendendo in considerazione l'utilizzo di parti di GNU Affero General Public License v3 (GNU AGPL v3) libreria con licenza in un contesto commerciale, ma ovviamente non possiamo permetterci di rilasciare il nostro intero codice base.

Avremmo solo bisogno della libreria per un passo simile a un crawler nel back-end. Se usiamo la libreria nel crawler per generare dati e inserirli in un database, e la nostra app web ospitata da un altro programma / processo interamente che legge dal database, siamo legalmente obbligati a rilasciare uno qualsiasi dei nostri codici sorgente? Il codice rivolto al web ("distribuito") non chiama il codice concesso in licenza AGPL-v3, utilizza solo l'output generato.

Qualsiasi intuizione è molto apprezzata!

    
posta pdowling 27.01.2015 - 12:33
fonte

3 risposte

4

In questo caso, il difficile test legale sta decidendo se l'applicazione che consuma dati può essere considerata legalmente "combinata con" l'applicazione di produzione dei dati AGPL. La FSF propone che due programmi debbano comunicare " a distanza di braccia " per essere considerati lavori separati. (Il trucco di questa regola è che nessuno è del tutto sicuro di quanto siano lunghe le braccia dei programmi.)

In primo luogo, possiamo escludere che i requisiti AGPL vengano trasferiti tramite l'output di dati, consultando le Domande frequenti sulla GPL. Esiste una domanda che affronta direttamente questo (dall'altra parte - cercando e non riuscendo a fare Le regole GPL si applicano ai dati generati):

Is there some way that I can GPL the output people get from use of my program? For example, if my program is used to develop hardware designs, can I require that these designs must be free?

In general this is legally impossible; copyright law does not give you any say in the use of the output people make from their data using your program. If the user uses your program to enter or convert his own data, the copyright on the output belongs to him, not you. More generally, when a program translates its input into some other form, the copyright status of the output inherits that of the input it was generated from.

So the only way you have a say in the use of the output is if substantial parts of the output are copied (more or less) from text in your program...

Quindi, finché il crawler AGPL non include alcun dato con licenza GPL nel suo output (e non vedo alcun motivo per cui un crawler Web lo farebbe), allora i dati generati non hanno alcun carico di responsabilità AGPL .

Tuttavia, potrebbe accadere che il codice che consuma dati possa essere considerato legalmente parte dello stesso programma del codice di produzione dei dati AGPL, nel qual caso l'AGPL si applicherebbe all'intero lavoro. Senza vedere la tua architettura (e forse senza la sentenza finale un giudice), non è possibile per me dire se i due componenti possono essere chiamati un lavoro, ma le informazioni che hai presentato suggeriscono strongmente che le due componenti sembrano essere opere separate , legalmente parlando. Ancora, dalle Domande frequenti :

Where's the line between two separate programs, and one program with two parts? This is a legal question, which ultimately judges will decide. We believe that a proper criterion depends both on the mechanism of communication (exec, pipes, rpc, function calls within a shared address space, etc.) and the semantics of the communication (what kinds of information are interchanged).

If the modules are included in the same executable file, they are definitely combined in one program. If modules are designed to run linked together in a shared address space, that almost surely means combining them into one program.

By contrast, pipes, sockets and command-line arguments are communication mechanisms normally used between two separate programs. So when they are used for communication, the modules normally are separate programs. But if the semantics of the communication are intimate enough, exchanging complex internal data structures, that too could be a basis to consider the two parts as combined into a larger program.

Sembra che scrivere e leggere da un database rientri nella stessa ampia categoria di "pipe, socket e argomenti della riga di comando". Il tuo codice che consuma dati potrebbe essere eseguito senza che il codice di produzione dei dati venga eseguito sullo stesso computer: potresti avere un sistema che genera un database e quindi passare il database a un altro sistema che lo consuma. Da questo punto di vista, mi sembra chiaro (senza certezza legale) che i programmi siano lavori separati, e un utente che interagisce con il tuo processo Web che consuma dati non interagisce anche con il tuo codice AGPL che genera dati.

    
risposta data 27.01.2015 - 15:04
fonte
2

Per i diritti d'autore, un programma e i dati sui quali il programma opera (o i dati che escono dal programma) sono considerati lavori completamente separati e la licenza di copyright di uno non influisce sulla possibilità di concedere in licenza l'altro .
L'unica eccezione è se il programma copia (parte) i suoi interni nell'output. Quindi l'output è considerato un lavoro derivato sia dell'input che delle porzioni di programma che sono state copiate e le licenze di entrambi influenzano ciò che puoi fare.

Ad esempio, è perfettamente possibile scrivere un'applicazione completamente chiusa usando un editor distribuito con una licenza di copyleft strong (come GPL o AGPL). La licenza dell'editore non influenza in alcun modo il modo in cui posso concedere in licenza il mio codice.
Un esempio del caso eccezionale è quando usi Bison per generare un parser. L'output di Bison contiene parti significative del codice scritte dagli autori di Bison, quindi hanno una voce in capitolo su come utilizzare quell'output. (Per inciso, le parti su cui Bison copia sono espressamente esenti dai requisiti GPL a cui il resto di Bison cade).

    
risposta data 27.01.2015 - 14:55
fonte
0

L'AGPL è la licenza pubblica generale Affero e offre una certa protezione per gli utenti dal lock-in proprietario quando utilizzano un servizio web alimentato da codice gratuito.

Ci sono un paio di versioni recenti di autori diversi (rispettivamente Affero, Inc e Free Software Foundation):

  • Licenza pubblica generale Affero v2 link
  • GNU Affero General Public License v3 link

Conosci a quale sei soggetto.

Il tuo avvocato deve decidere non solo di soddisfare la definizione di "distribuzione" nella tua giurisdizione, ma anche se l'intera base di codici soddisfa la definizione di "collegamento". Perché è sufficiente pubblicare il codice sorgente che collega alla libreria. In termini generali, il codice che legge solo un database popolato dal codice AGPL è improbabile che venga considerato "collegato" a quel codice, quindi non sarà necessario pubblicare l'origine per questo, sebbene non conosca il precedente o l'opinione per questo .

Aggiornamento C'è una guida da parte della FSF (autori di GNU AGPL) che dice:

However, in many cases you can distribute the GPL-covered software alongside your proprietary system. To do this validly, you must make sure that the free and non-free programs communicate at arms length, that they are not combined in a way that would make them effectively a single program.

The difference between this and “incorporating” the GPL-covered software is partly a matter of substance and partly form. The substantive part is this: if the two programs are combined so that they become effectively two parts of one program, then you can't treat them as two separate programs. So the GPL has to cover the whole thing.

If the two programs remain well separated, like the compiler and the kernel, or like an editor and a shell, then you can treat them as two separate programs—but you have to do it properly. The issue is simply one of form: how you describe what you are doing. Why do we care about this? Because we want to make sure the users clearly understand the free status of the GPL-covered software in the collection.

*(Emphasis mine) From the GPL FAQ which would also apply to the GNU AGPL http://www.gnu.org/licenses/gpl-faq.html#GPLInProprietarySystem *

Un'alternativa è acquistare una licenza commerciale dall'autore (i) della tua biblioteca con termini che si adattino meglio alla tua attività, aggiornare o altrimenti negoziare con gli autori per assicurarti che intendano permetti il tuo uso pianificato.

Maggiori informazioni generali su AGPL - cosa puoi fai e cosa non puoi

Questo non è un consiglio legale ma un'informazione di fondo, e io non sono un avvocato.

    
risposta data 27.01.2015 - 12:56
fonte

Leggi altre domande sui tag