[Top][All Lists]

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

Re: Bison Skeleton: irksome GPL license.

From: Kaz Kylheku
Subject: Re: Bison Skeleton: irksome GPL license.
Date: Wed, 18 Apr 2018 06:56:41 -0700
User-agent: Roundcube Webmail/0.9.2

On 2018-04-18 01:36, Hans Åberg wrote:
On 18 Apr 2018, at 02:16, Kaz Kylheku <address@hidden> wrote:
(Side note: this is a different behavior from GNU Flex, which passes through
the comment even if is outside of the %{ ... %} block).

No, it doesn't, not in my code. In some circumstances, one might leave
out those braces, and then it would be included because considered
within, I think. Otherwise, Flex is not GNU, but BSD.

What I'm saying is that Flex 2.5.35 in an Ubuntu installation I'm
using has this behavior:

  /* comment */
  #include "header.h"
  /* ... */

The header comment is propagated to the lex.yy.c file. It's not at the top
of the file; it follows some preamble material. Then a #line 1 directive
appears, followed by that comment.

That little GNU license blurb is still a problem there. A pre-built y.tab.c
file could end up being packaged as a distributed file: say, for the
convenience of users who don't have a Yacc installed.

The license applies to stuff in the skeleton M4 file that is copied
over, so it should be there.

Unfortunately, it doesn't clarify what it applies to; it appears to
apply to the entire file.

It should delineate exactly which lines it applies to. Otherwise it
is not appropriate. For instance, "The following copyright notice
applies only to that portion of this which occurs between the symbols

If it is necessary to preserve that notice in a derived work such
as y.tab.c, it follows that it must be preserved in the derived work
y.tab.o also.

Someone's corporate license scanning tool could misidentify that file
as being GPL, and taint the whole project that way, causing some
problem for someone.

It is judicial courts that decide, and they are still run by humans.

"Judicial court" is a problem nobody wants to have.

What I've done is added a sed filter to my build rule which basically
takes that notice out of the y.tab.c right after the file is

That wouldn't be legal: your copyright does not override the one for
the skeleton file contents.

It's perfectly legal; I'm allowed to do anything with that code,
including compiling it into a proprietary executable program whose
image contains no copyright strings.

I'm not taking away the copyright itself; just the mistaken notice.

Most importantly, I'm also not redistributing any portion of Bison.
I'm redistributing a program, which has a Makefile, which removes
some cruft from y.tab.c after making it with the user's installation
of Bison.

If someone mistakenly picks up that y.tab.c into some tarball
and redistributes it (not my action, theirs) my work is protected
from being tainted by a misapplied license.
The onus is on that redistributor to ensure that everything has
the appropriate notice. I don't intend y.tab.c to be redistributed;
for all I care, it can be regenerated each time parser.y is
newer than parser.o, and deleted immediately after parser.o is
produced; it's just worse that way for debugging purposes.

reply via email to

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