GPL Bison语法会感染我的应用程序吗?


10

我正在考虑为自己的编译器使用GPL Bison语法。

语法会“感染”我的解析器,使其需要开源吗?

北美野牛的输入语法为GPL。


2
请说清楚。您是说语法(即Bison的输入)是GPL,还是因为它是GPL而担心使用Bison?
Craig

@Craig程序的输出通常不受生成该程序的程序的许可。但是,bison在其输出中包含大量在GPL下的代码,这意味着使用该代码的任何内容也将在GPL下...除非存在能够将bison用于非gpl程序的例外。

@MichaelT是的,但是如果他表示语法本身已包含在GPL中(例如,它取自GPL程序),则语法的GPL可能会使他的程序成为派生作品。需要澄清实际问题。
Craig

Bison生成用于LALR(1)语言的解析器。如果您的语言本质上是LALR(1),则其中可能存在一些相当严重的缺陷,使其难以使用以及难以解析。通过简化语言,您可能会获得更大的提升,从而可以为其编写简单的递归下降解析器(RDP)。与LALR(1)语法和解析操作相比,RDP往往更容易编写和维护。
John R. Strohm 2013年

为了澄清:我的意思是野牛的输入
Stasik 2013年

Answers:


7

虽然Bison本身是根据GPL许可的,但Gison不会自动涵盖Bison创建解析器,至少在Bison的最新版本中不会:

使用野牛的条件

Bison生成的解析器的分发条款允许在非自由程序中使用解析器。在Bison 2.2之前,这些额外的权限仅在Bison在C中生成LALR(1)解析器时适用。在Bison 1.24之前,Bison生成的解析器只能在作为自由软件的程序中使用。

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

但是,从GPL许可的语法创建解析器也很可能也包含在GPL中,因为它是“基于”语法的工作(它是自动转换,就像编译程序一样)。

当然,如同所有法律事务一样,没有明确的答案,甚至律师和法官也可能不同意,但我相信这是普遍的共识。


2
我认为他不是在询问Bison的许可证,而是在询问语法的许可证。
约尔格W¯¯米塔格

3
允许您在非免费项目中使用Bison生成的解析器的实际许可证例外可以在以下位置找到:git.savannah.gnu.org/cgit/bison.git/tree/src/parse-gram.h
Bart van Ingen Schenau 2013年

3
@JörgWMittag:由于Bison是GPL软件,并且Bison的某些部分已将其纳入生成的语法中,因此Bison的许可证非常重要。
巴特·范·英根·谢瑙

@BartvanIngenSchenau:是的,但这与问题无关。OP并不是在询问Bison是GPL是否使他的解析器成为Bison的派生作品,而是在询问语法是否是GPL使他的解析器成为语法的派生作品。
约尔格W¯¯米塔格

@JörgWMittag:我知道混乱的根源。这需要从OP澄清
巴特面包车不收Schenau
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.