help-bison
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Question]:Question about bison adding GPL copyright to the parser f


From: Hans Åberg
Subject: Re: [Question]:Question about bison adding GPL copyright to the parser files generated by bison and yacc.c
Date: Sun, 27 Jan 2019 00:40:12 +0100

> On 26 Jan 2019, at 23:54, Christian Schoenebeck <address@hidden> wrote:
> 
> On Samstag, 26. Januar 2019 22:29:08 CET Hans Åberg wrote:
>>> No, that's not what the exception sais. The exception applies (and hence
>>> the freedom to distribute a Bison generated parser under any arbitrary,
>>> different license than GPL) only if the generated parser is not itself a
>>> parser generator. This is not as obvious as you might think. It really
>>> depends on what his generated parser is capable to do.
>> 
>> From a legal point of view, copyright applies to the code in the skeleton
>> file, as the other part is considered machine generated, like in an editor,
>> and not copyrightable.
> 
> Yes, the copyright applies to the skeleton. But if the exception does not 
> apply, and since your Bison generated parser contains the skeleton, the 
> result 
> would be that your entire application would be subject to the GPL.

And that was the case in some earlier versions.

> So the point of whether or not the exception applies to your Bison generated 
> parser, is crucial if you intend to use Bison for developing a proprietary 
> application.

Indeed.

>>> I give you a simple example: let's say you used Bison to develop a tool
>>> which converts source code from one programming language A to B. Now you
>>> might think this is not a parser generator. Well, it was obviously not
>>> your intention. But now consider somebody uses that conversion tool for
>>> converting a parser originally written in programming language A to
>>> language B.
>>> 
>>> Right, your Bison generated conversion tool just generated a parser.
>> 
>> A parser generator is not merely a program that generates a parser, but does
>> so from a grammar [1]. So the intent of the exception, I think, is that you
>> cannot use the skeleton as a part of a program like Bison, but perhaps
>> there is the need for some clarification.
>> 
>> 1. https://en.wikipedia.org/wiki/Compiler-compiler
> 
> That Wikipedia article sais "The input *may* be a text file containing the 
> grammar written in BNF ... , although *other* definitions exist.", 
> immediately 
> followed by another type that is analogous to my example: meta compilers.
> 
> It is clear what the intention of the exception was: a) allowing people to 
> use 
> Bison for generating parsers also for propriety projects, but preventing b) 
> that somebody simply takes Bison's skeleton source code, adds the missing 
> pieces and distributes an entire unGPLed version of Bison.

That is how I parse it, too.

> But if you intend to use Bison for proprietary purposes, you should be aware 
> that the current wordings of the exception go far beyond of what was probably 
> intended for case b) and might thus indeed lead to a potential legal issue 
> for 
> your company if your Bison generated parser only has the smallest chance of 
> being capable to generate another parser.

The term "compiler-compiler" felt out of use, replaced by "parser generator", 
which I also prefer, and other renderings of that latter might be what confuses 
it.

> Many big IT companies out there are using Bison extensively for generating 
> their arsenal of meta compilers, and if you take the exception text 
> literally, 
> and if they even used a GPLv3 Bison version ... well you get the idea.

The idea of GPL is to block proprietary use.

> And this issue is not just limited to meta compilers. There are many other 
> non 
> obvious use cases where you might theoretically get into the same situation.

Maybe Akim can clarify.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]