Uma gramática da GPL Bison infecta meu aplicativo?


10

Estou pensando em usar uma gramática GPL Bison para meu próprio compilador.

A gramática "infectará" meu analisador de forma que ele precise ser de código aberto?

A gramática - em termos de - a entrada do bisonte é a GPL.


2
Por favor, esclareça. Você quer dizer que a gramática (ou seja, a entrada para o Bison) é GPL ou você está preocupado em usar o Bison porque é GPL?
Craig

@Craig A saída de um programa normalmente não está sob a licença do programa que o gerou. No entanto, bisoninclui uma quantidade considerável de código que está sob a GPL em sua saída, o que significaria que qualquer coisa que a usasse também estaria sob a GPL ... a menos que houvesse uma exceção para poder usar o bison para programas não-gpl .

@ MichaelT Sim, mas se ele quer dizer que a gramática em si é coberta pela GPL (por exemplo, foi extraída de um programa GPL), a GPL da gramática provavelmente tornará seu programa um trabalho derivado. É necessário esclarecer a questão real.
Craig

O Bison gera analisadores para os idiomas LALR (1). Se o seu idioma é inerentemente LALR (1), provavelmente existem alguns obstáculos sérios que dificultam o USO e a análise. Você provavelmente terá muito mais facilidade em simplificar seu idioma o suficiente para poder escrever um analisador de descida recursiva (RDP) direto para ele. Os RDPs tendem a ser significativamente mais fáceis de escrever e manter do que as gramáticas e ações de análise LALR (1).
John R. Strohm

para esclarecimentos: i significou a entrada do bisonte
Stasik

Respostas:


7

Enquanto o próprio Bison é licenciado sob a GPL, um analisador criado pelo Bison não é coberto automaticamente pela GPL, pelo menos não nas versões recentes do Bison:

Condições de uso do Bison

Os termos de distribuição para os analisadores gerados pelo Bison permitem o uso de analisadores em programas não livres. Antes da versão 2.2 do Bison, essas permissões extras eram aplicadas apenas quando o Bison estava gerando analisadores LALR (1) em C. E antes da versão 1.24 do Bison, os analisadores gerados pelo Bison podiam ser usados ​​apenas em programas que eram software livre.

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

No entanto, um analisador criado a partir de uma gramática licenciada pela GPL provavelmente também é coberto pela GPL, porque é um "trabalho baseado em" a gramática (é uma conversão automática, como compilar um programa).

É claro que, como em todas as questões jurídicas, não há resposta definitiva e até advogados e juízes podem discordar, mas acredito que esse seja o consenso geral.


2
Eu não acho que ele está perguntando sobre a licença de Bison, ele está perguntando sobre a licença da gramática.
Jörg W Mittag

3
A exceção de licença real que permite o uso de um analisador gerado pelo Bison em projetos não livres pode ser encontrada aqui: git.savannah.gnu.org/cgit/bison.git/tree/src/parse-gram.h
Bart van Ingen Schenau

3
@ JörgWMittag: Como o Bison é um software GPL e partes do Bison fazem parte da gramática gerada, a licença do Bison é muito relevante.
Bart van Ingen Schenau,

@BartvanIngenSchenau: Sim, mas isso é irrelevante para a pergunta. O OP não estava perguntando se Bison sendo GPL torna seu analisador um trabalho derivado de Bison, ele estava perguntando se a gramática sendo GPL torna seu analisador um trabalho derivado da gramática.
Jörg W Mittag

@ JörgWMittag: Eu vejo de onde vem a confusão. Isso precisa de esclarecimentos do OP
Bart van Ingen Schenau
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.