Fw: Query about GNU-GPL

Frank Heckenbach frank at g-n-u.de
Fri Mar 25 16:50:43 UTC 2005

Laurence Finston wrote:

> Frank Heckenbach wrote:
> > It makes a part of Bison, namely it's parsing code that it copied
> > almost literally, part of your package. Bison contains a special
> > exception to allow linking of it's output (LALR(1) only, up to now)
> > with non-GPL programs. 
> It certainly does not make my package part of the Bison package, which has
> been claimed in this discussion, if I've understood the posters correctly. 

You're right, this is clearly not so.

> Nor do I believe that including a file generated by Bison makes the Bison
> package part of my package.

Here I disagree. Not the entire Bison package, of course, but a part
of Bison (as I wrote) becomes part of your package.

> The licenses involved specifically allow this
> use.

If it wouldn't become part of your package, you wouldn't need to
refer to the license in the first place. (E.g., if you use a tool
like sed to produce part of your package from your own input, nobody
would ask about the particular license of sed, as long as you can
use it at all.)

> In addition, I do not currently distribute any preprocessed code or
> object code.

Do you distribute the output of Bison? If you don't, it may be
possible to distribute your package under a different license (if
you wanted to), but anybody who wanted to compile the package would
either have to use another parser generator, or would run into
trouble with the GPL. (Strictly speaking, using such a thing for
oneself is allowed, but distributing it in any way would violate the

> I don't know whether a court would consider the line `#include
> "parser.h"' in one of my source files and the line `g++ -c -o parser.o
> parser.c++' and the string "parser.o" in the linking command in my
> `Makefile.am' file  to be "making Bison part of my package".

I suppose not, but how about running `bison parser.y' and using or
distributing the resulting output?

> > This was discussed very recently on
> > help-bison, so you might have been aware of this, BTW. 
> I am, and also that it was never the intention of the Bison project that the
> files output by Bison should fall under the GPL,

: From: Akim Demaille <akim at lrde.epita.fr>
: Date: Thu, 10 Mar 2005 10:33:28 +0100
: >>> "Paul" == Paul Hilfinger <hilfingr at EECS.Berkeley.EDU> writes:
:  > In fact, this issue did get discussed when the GLR skeleton got
:  > introduced, and the language (or lack of it) is, AIR, deliberate on
:  > the part of the lead maintainers at the time.  On consideration, I
:  > would prefer that the same terms apply to all skeletons as now apply
:  > to the C LALR(1) skeleton.  I think that there does come a point at
:  > which copylefting becomes shooting oneself in the foot.
: That decision was made by RMS, prompted by me.  I'm fine with putting
: the exception on all the skeletons.

So it really was the intention (for the GLR skeleton), and they've
now discussed changing it. (And as Alfred noted, originally it even
was the intention for all skeletons.)

To avoid confusion, the issue with Bison is not about the tables
etc. that it builds from your grammar, or with the semantic actions
it copies literally (with substitutions) from your input, but from
the parsing code that it copies almost literally from the Bison
skeleton, and which is a nontrivial amount of code in itself.

> just as text files written
> using GNU Emacs do not.  

If Emacs contained, e.g., a macro that inserted a longish (and thus
copyrightable) text into your editor, and this text was distributed
with Emacs under the GPL without a special exception, it might
actually. For an editor, this seems uncommon, but for a parser
generator that's what it normally does.

> > So you can't
> > generalize from Bison to other packages that don't have such an
> > exception.
> I believe the problem was a copyright notice in Bison's output.  

Which didn't get there by chance ...



Frank Heckenbach, frank at g-n-u.de
GnuPG and PGP keys: http://fjf.gnu.de/plan (7977168E)

More information about the Discussion mailing list