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: Christian Schoenebeck
Subject: Re: [Question]:Question about bison adding GPL copyright to the parser files generated by bison and yacc.c
Date: Sat, 26 Jan 2019 23:54:29 +0100
User-agent: KMail/5.2.3 (Linux/4.9.0-8-amd64; KDE/5.28.0; x86_64; ; )

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.

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.

> > 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.

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.

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.

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.

Best regards,
Christian Schoenebeck



reply via email to

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