[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