Czy gramatyka GPL Bison infekuje moją aplikację?


10

Zastanawiam się nad użyciem gramatyki GPL Bison do własnego kompilatora.

Czy gramatyka „zainfekuje” mój parser tak, że musi być open source?

Gramatyka - pod względem - wkład żubra to GPL.


2
Proszę o wyjaśnienie. Czy masz na myśli gramatykę (tzn. Dane wejściowe do Bison) czy GPL, czy martwisz się używaniem Bison, ponieważ jest to GPL?
Craig

@Craig wyjście programu zwykle nie jest objęte licencją programu, który go wygenerował. Jednak bisonzawiera znaczną ilość kodu, który jest na licencji GPL w swoim wyjściu, co oznaczałoby, że wszystko, co używany byłoby GPL zbyt ... chyba nie był wyjątkiem, aby móc korzystać z bizona dla programów non-GPL .

@MichaelT Tak, ale jeśli on oznacza, że ​​sama gramatyka jest objęta GPL (np. Została pobrana z programu GPL), to GPL gramatyki prawdopodobnie sprawi, że jego program będzie pochodną. Konieczne jest wyjaśnienie rzeczywistego pytania.
Craig,

Bison generuje parsery dla języków LALR (1). Jeśli Twój język jest z natury LALR (1), prawdopodobnie jest w nim kilka dość poważnych błędów, które utrudniają UŻYTKOWANIE, a także są trudne do przeanalizowania. Prawdopodobnie dostaniesz dużo więcej siły dzięki uproszczeniu języka na tyle, że możesz napisać dla niego prosty parser rekurencyjny zstępujący (RDP). PROW są znacznie łatwiejsze do napisania i utrzymania niż gramatyki i analizy składni LALR (1).
John R. Strohm,

dla wyjaśnienia: miałem na myśli wkład żubra
Stasik

Odpowiedzi:


7

Chociaż sama Bison jest licencjonowana na licencji GPL, analizator składni utworzony przez Bison nie jest automatycznie objęty przez GPL, a przynajmniej nie w najnowszych wersjach Bison:

Warunki korzystania z Bison

Warunki dystrybucji parserów wygenerowanych przez Bison pozwalają na użycie parserów w niewolnych programach. Przed wersją Bison 2.2 te dodatkowe uprawnienia obowiązywały tylko wtedy, gdy Bison generował parsery LALR (1) w C. A przed wersją Bison 1.24 parsery wygenerowane przez Bison mogły być używane tylko w programach, które były wolnym oprogramowaniem.

Źródło: http://www.gnu.org/software/bison/manual/bison.html#Conditions

Jednak parser utworzony z gramatyki na licencji GPL jest również najprawdopodobniej objęty GPL, ponieważ jest to „praca oparta na” gramatyce (jest to automatyczna konwersja, taka jak kompilacja programu).

Oczywiście, podobnie jak we wszystkich kwestiach prawnych, nie ma ostatecznej odpowiedzi, a nawet prawnicy i sędziowie mogą się nie zgadzać, ale wierzę, że jest to ogólny konsensus.


2
Nie sądzę, żeby pytał o licencję Bison, pyta o licencję gramatyki.
Jörg W Mittag,

3
Rzeczywisty wyjątek licencji, który pozwala na użycie analizatora generowanego przez Bison w niewolnych projektach, można znaleźć tutaj: git.savannah.gnu.org/cgit/bison.git/tree/src/parse-gram.h
Bart van Ingen Schenau

3
@ JörgWMittag: Ponieważ Bison jest oprogramowaniem GPL, a części Bison wchodzą do generowanej gramatyki, licencja Bison jest bardzo istotna.
Bart van Ingen Schenau,

@BartvanIngenSchenau: Tak, ale to nie ma znaczenia dla pytania. OP nie pytał, czy Bison będący GPL czyni jego parser pochodną pracą Bison, on pytał, czy gramatyka będąca GPL czyni jego parser pochodną pracą gramatyki.
Jörg W Mittag,

@ JörgWMittag: Widzę, skąd bierze się zamieszanie. To wymaga wyjaśnienia z OP
Bart van Ingen Schenau,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.