Чи заражає грамматика GPL Bison мою програму?


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, дозволяють використовувати парсери в недобрих програмах. До Bison версії 2.2 ці додаткові дозволи застосовувалися лише тоді, коли Bison генерував парсери LALR (1) в C. А до Bison версії 1.24, генеровані Bison-аналізатори можна було використовувати лише в програмах, які були вільним програмним забезпеченням.

Джерело: http://www.gnu.org/software/bison/manual/bison.html#Conditions

Однак парсер, створений із граматики, що має ліцензію на GPL , швидше за все охоплюється і GPL, оскільки це "робота, заснована на" граматиці (це автоматичне перетворення, як компіляція програми).

Звичайно, як і у всіх юридичних питаннях, остаточної відповіді немає, і навіть адвокати та судді можуть не погодитися, але я вважаю, що це загальний консенсус.


2
Я не думаю, що він запитує про ліцензію Бізона, він запитує про ліцензію граматики.
Йорг W Міттаг

3
Фактичне виключення з ліцензії, яке дозволяє використовувати аналізатор, створений Bison, у невільних проектах, можна знайти тут: git.savannah.gnu.org/cgit/bison.git/tree/src/parse-gram.h
Bart van Ingen Schenau

3
@ JörgWMittag: Оскільки Bison є програмним забезпеченням GPL, а частини Bison перетворюють його на створену граматику, ліцензія Bison дуже актуальна.
Барт ван Іґен Шенау

@BartvanIngenSchenau: Так, але це питання не має значення. ОП не запитував, чи робить Bison GPL своїм парсером похідною роботою Бізона, він запитував, чи граматика GPL робить його аналізатором похідним твором граматики.
Йорг W Міттаг

@ JörgWMittag: Я бачу, звідки виникає плутанина. Це потребує роз'яснення з ОП
Барт ван Інген Шену
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.