Python Is Really Middleware

Bengt Richter bokr at
Sun Aug 5 06:41:16 CEST 2001

On Sun, 05 Aug 2001 02:13:04 GMT, Robert Amesz <reqhye72zux at> wrote:

>Chris Tavares wrote:
>> "Robert Amesz" <reqhye72zux at> wrote in message
>> news:Xns90F32BBF3218rcamesz at
>> [Is Bison output GPL?]
>>> But he's right about Bison, I remember that distinctly: output
>>> from Bison should be considered GPLed because it contains GPLed
>>> sourcecode from Bison.
>> Really? I don't have the docs handy right now, but I distinctly
>> remember there being a specific exception in the Bison license to
>> deal with this exact problem - you're allowed to use the Bison
>> generated code & parser engine in whatever you want, no GPL
>> restrictions apply. Unless the license has changed in the last five
>> years, anyway. 
Well, I found the .gz file I downloaded some time ago (after looking at
it and flex, it turned out flex was more powerful than I expected, so I
wound up just using it  with a little extra on my part):

99-07-26  17:01    420,341 bison-1_28_tar.gz
The way I read it, it says they decided to loosen up on Bison as of version 1.24:

file in that archive contains:
   This manual documents version 1.28 of Bison.
   Bison was written primarily by Robert Corbett; Richard Stallman made
it Yacc-compatible.  Wilfred Hansen of Carnegie Mellon University added
multicharacter string literals and other features.

   This edition corresponds to version 1.28 of Bison.
Conditions for Using Bison

   As of Bison version 1.24, we have changed the distribution terms for
`yyparse' to permit using Bison's output in non-free programs.
Formerly, Bison parsers could be used only in programs that were free

   The other GNU programming tools, such as the GNU C compiler, have
never had such a requirement.  They could always be used for non-free
software.  The reason Bison was different was not due to a special
policy decision; it resulted from applying the usual General Public
License to all of the Bison source code.

   The output of the Bison utility--the Bison parser file--contains a
verbatim copy of a sizable piece of Bison, which is the code for the
`yyparse' function.  (The actions from your grammar are inserted into
this function at one point, but the rest of the function is not
changed.)  When we applied the GPL terms to the code for `yyparse', the
effect was to restrict the use of Bison output to free software.

   We didn't change the terms because of sympathy for people who want to
make software proprietary.  *Software should be free.*  But we
concluded that limiting Bison's use to free software was doing little to
encourage people to make other software free.  So we decided to make the
practical conditions for using Bison match the practical conditions for
using the other GNU tools."

>Ah, let's see. I collected some HTML-pages some time ago with Bison 
>documentation. It says:
[... 1.20 version of above info ...]
>So the terms of use may very well have changed after this was written, 
>and it may not appply to some or all versions of Bison above 1.20, but 
>this is what I have on the subject.
They did change, apparently ;-)

I don't think they can change their mind back, can they?
The most recent time stamp of a file in that .gz file of 1.28
is a couple of years old now.

More information about the Python-list mailing list