Una grammatica di bisonte GPL infetta la mia domanda?


10

Sto pensando di usare una grammatica GPL Bison per il mio compilatore.

La grammatica "infetterà" il mio parser in modo tale che debba essere open source?

La grammatica - in termini di - input di bisonte è GPL.


2
Si prega di precisare. Vuoi dire che la grammatica (ovvero l'input di Bison) è GPL o sei preoccupato di usare Bison perché è GPL?
Craig,

@Craig l'output di un programma non è in genere sotto la licenza del programma che lo ha generato. Tuttavia, bisoninclude una notevole quantità di codice che si trova sotto GPL nel suo output, il che significherebbe che tutto ciò che lo usava sarebbe anche sotto GPL ... a meno che non ci fosse un'eccezione per poter usare bison per programmi non gpl .

@MichaelT Sì, ma se intende dire che la grammatica stessa è coperta dalla GPL (ad esempio, è stata presa da un programma GPL), allora la GPL della grammatica probabilmente renderà il suo programma un lavoro derivato. È necessario un chiarimento della domanda effettiva.
Craig,

Bison genera parser per le lingue LALR (1). Se la tua lingua è intrinsecamente LALR (1), probabilmente ci sono alcuni scricchiolii abbastanza seri che ne rendono difficile l'utilizzo e difficile da analizzare. Probabilmente otterrai molto più sollievo dalla semplificazione della tua lingua abbastanza da poter scrivere un parser di discesa (RDP) semplice e ricorsivo. I PSR tendono ad essere significativamente più facili da scrivere e mantenere rispetto alle grammatiche e alle azioni di analisi LALR (1).
John R. Strohm,

per chiarimenti: intendevo l'ingresso di bisonti
Stasik il

Risposte:


7

Mentre Bison stesso è concesso in licenza in base alla GPL, un parser creato da Bison non è automaticamente coperto da GPL, almeno non con le versioni recenti di Bison:

Condizioni per l'utilizzo del bisonte

I termini di distribuzione per i parser generati da Bison consentono di utilizzare i parser in programmi non liberi. Prima della versione 2.2 di Bison, queste autorizzazioni extra si applicavano solo quando Bison stava generando parser LALR (1) in C. E prima della versione 1.24 di Bison, i parser generati da Bison potevano essere usati solo in programmi che erano software libero.

Fonte: http://www.gnu.org/software/bison/manual/bison.html#Conditions

Tuttavia, un parser creato da una grammatica con licenza GPL è molto probabilmente coperto anche dalla GPL, perché è un "lavoro basato sulla" grammatica (è una conversione automatica, come la compilazione di un programma).

Naturalmente, come in tutte le questioni legali, non esiste una risposta definitiva, e persino avvocati e giudici potrebbero non essere d'accordo, ma credo che questo sia il consenso generale.


2
Non penso che stia chiedendo della licenza di Bison, sta chiedendo della licenza della grammatica.
Jörg W Mittag,

3
L'eccezione effettiva della licenza che consente di utilizzare un parser generato da Bison in progetti non liberi è disponibile qui: git.savannah.gnu.org/cgit/bison.git/tree/src/parse-gram.h
Bart van Ingen Schenau,

3
@ JörgWMittag: Poiché Bison è un software GPL e parti di Bison entrano nella grammatica generata, la licenza di Bison è molto rilevante.
Bart van Ingen Schenau,

@BartvanIngenSchenau: Sì, ma questo è irrilevante per la domanda. L'OP non stava chiedendo se Bison essendo GPL fa del suo parser un'opera derivata da Bison, stava chiedendo se la grammatica essendo GPL rende il suo parser un'opera derivata della grammatica.
Jörg W Mittag,

@ JörgWMittag: vedo da dove viene la confusione. Ciò necessita di chiarimenti dall'OP
Bart van Ingen Schenau, del
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.