Влияет ли грамматика бизона GPL на мое приложение?

10

Я думаю об использовании грамматики GPL Bison для моего собственного компилятора.

Будет ли грамматика «заражать» мой синтаксический анализатор таким образом, что он должен быть открытым исходным кодом?

Грамматика - с точки зрения - ввод бизона GPL.

Стасик
источник
2
Просьба уточнить. Вы имеете в виду, что грамматика (то есть ввод в Bison) - это GPL, или вас беспокоит использование Bison, потому что это GPL?
Крейг
@Craig вывод программы, как правило, не под лицензией программы, которая его сгенерировала. Тем не менее, bisonвключает в себя значительный объем кода, который находится под GPL в своем выводе, что будет означать, что все, что его использует, будет также и под GPL ... если только не было исключения, позволяющего использовать бизон для не-gpl-программ ,
@MichaelT Да, но если он имеет в виду, что сама грамматика распространяется на GPL (например, она была взята из программы GPL), то GPL грамматики, вероятно, сделает его программу производной работой. Разъяснение актуального вопроса не требуется.
Крейг
Bison генерирует парсеры для языков LALR (1). Если ваш язык по своей сути является LALR (1), возможно, в нем есть несколько довольно серьезных ошибок, которые затрудняют ИСПОЛЬЗОВАНИЕ, а также затрудняют анализ. Вы, вероятно, получите гораздо больше пользы от упрощения своего языка настолько, что сможете написать для него простой анализатор рекурсивного спуска (RDP). RDP, как правило, значительно легче писать и поддерживать, чем LALR (1) грамматики и действия по анализу.
Джон Р. Стром
для пояснения: я имел в виду ввод зубров
Стасик

Ответы:

7

В то время как сам Bison лицензирован по GPL, парсер, созданный Bison , не распространяется на GPL автоматически, по крайней мере, в последних версиях Bison:

Условия использования зубров

Условия распространения парсеров, генерируемых Bison, позволяют использовать парсеры в несвободных программах. До версии Bison 2.2 эти дополнительные разрешения применялись только тогда, когда Bison генерировал парсеры LALR (1) на C. А до версии Bison 1.24 парсеры, созданные Bison, могли использоваться только в программах, которые были свободными.

Источник: http://www.gnu.org/software/bison/manual/bison.html#Conditions

Однако синтаксический анализатор, созданный из лицензированной по GPL грамматики , скорее всего, также покрывается GPL, потому что это «работа, основанная на» грамматике (это автоматическое преобразование, как при компиляции программы).

Конечно, как и во всех правовых вопросах, нет однозначного ответа, и даже адвокаты и судьи могут не согласиться, но я считаю, что это общее мнение.

sleske
источник
2
Я не думаю, что он спрашивает о лицензии Bison, он спрашивает о лицензии грамматики.
Йорг W Mittag
3
Фактическое исключение лицензии, которое позволяет вам использовать сгенерированный Bison синтаксический анализатор в несвободных проектах, можно найти здесь: git.savannah.gnu.org/cgit/bison.git/tree/src/parse-gram.h
Барт ван Инген Шенау
3
@ JörgWMittag: Поскольку Bison является программным обеспечением GPL, а части Bison превращают его в сгенерированную грамматику, лицензия Bison очень актуальна.
Барт ван Инген Шенау
@BartvanIngenSchenau: Да, но это не имеет отношения к вопросу. ОП не спрашивал, делает ли Бизон, являющийся GPL, своим синтаксическим анализатором производной работой Бизона, он спрашивал, делает ли грамматика, являющаяся GPL, своим синтаксическим анализатором производным произведением грамматики.
Йорг Миттаг
@ JörgWMittag: Я вижу, откуда возникла путаница. Это требует разъяснений от ОП
Барт ван Инген Шенау