bug-bison
[Top][All Lists]
Advanced

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

Re: Bison Skeleton: irksome GPL license.


From: Sergei Steshenko
Subject: Re: Bison Skeleton: irksome GPL license.
Date: Wed, 18 Apr 2018 16:23:16 +0000 (UTC)

Seriously, scrap the horrifically hypocritical GPL. Scrap it altogether. It has 
nothing to do with freedom. It has everything to with corporatocracy and 
cartels of corporations.
For starters, visit Corporate Members - The Linux Foundation

  
|  
|   
|   
|   |    |

   |

  |
|  
|   |  
Corporate Members - The Linux Foundation
   |   |

  |

  |

 
and pay special attention to Microsoft.
--Sergei.

      From: Kaz Kylheku <address@hidden>
 To: Hans Åberg <address@hidden> 
Cc: address@hidden
 Sent: Wednesday, April 18, 2018 4:56 PM
 Subject: Re: Bison Skeleton: irksome GPL license.
   
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.
>  https://en.wikipedia.org/wiki/Flex_(lexical_analyser_generator)

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
START_BISON_SKELETON and END_BISON_SKELETON".

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