Влияет ли грамматика бизона 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, потому что это «работа, основанная на» грамматике (это автоматическое преобразование, как при компиляции программы).

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


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: Я вижу, откуда возникла путаница. Это требует разъяснений от ОП
— Барт ван Инген Шенау
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.