Python Is Really Middleware

Robert Kern kern at
Sun Aug 5 05:39:32 CEST 2001

In article <_1Xa7.761$pX4.96081 at>,
	"Chris Tavares" <ctavares at> writes:
> "Robert Amesz" <reqhye72zux at> wrote in message
> news:Xns90F32BBF3218rcamesz at


>> But he's right about Bison, I remember that distinctly: output from
>> Bison should be considered GPLed because it contains GPLed sourcecode
>> from Bison. Why the rationale was not applied to Flex is still a
>> mystery to me, but there you have it.
>> Fortunately, there are alternatives.
>> Robert Amesz
> 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.

>From (version 1.28 from Debian unstable):

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 software.

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

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.

Robert Kern
kern at

"In the fields of hell where the grass grows high
 Are the graves of dreams allowed to die."
  -- Richard Harter

More information about the Python-list mailing list