Go to the previous, next section.
Bison grammars can be used only in programs that are free software. This is in contrast to what happens with the GNU C compiler and the other GNU programming tools.
The reason Bison is special is that 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.)
As a result, the Bison parser file is covered by the same copying conditions that cover Bison itself and the rest of the GNU system: any program containing it has to be distributed under the standard GNU copying conditions.
Occasionally people who would like to use Bison to develop proprietary programs complain about this.
We don't particularly sympathize with their complaints. The purpose of the GNU project is to promote the right to share software and the practice of sharing software; it is a means of changing society. The people who complain are planning to be uncooperative toward the rest of the world; why should they deserve our help in doing so?
However, it's possible that a change in these conditions might encourage
computer companies to use and distribute the GNU system. If so, then we
might decide to change the terms on yyparse
as a matter of the
strategy of promoting the right to share. Such a change would be
irrevocable. Since we stand by the copying permissions we have announced,
we cannot withdraw them once given.
We mustn't make an irrevocable change hastily. We have to wait until there is a complete GNU system and there has been time to learn how this issue affects its reception.
Go to the previous, next section.