[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: |
Sat, 26 Jan 2019 22:29:08 +0100 |
> On 26 Jan 2019, at 21:48, Christian Schoenebeck <address@hidden> wrote:
>
> On Samstag, 26. Januar 2019 14:31:06 CET Hans Åberg wrote:
>>> On 21 Jan 2019, at 17:24, bird bravo <address@hidden> wrote:
>>> I noticed that when I use bison and the parser skeleton(yacc.c) to
>>>
>>> generate a parser file... there will be a copyright notice to claim the
>>> file is a GPLV3 and an exception declaration... I wanna know is that OK to
>>> use and distribute the parser file as I wish..
>>
>> Yes, see [1]. The copyright applies to the skeleton code which is copied
>> over to the generated parser, but there is an exception added for that.
>>
>> 1. https://www.gnu.org/software/bison/manual/html_node/Conditions.html
>
> 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.
> 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