Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!gem.mps.ohio-state.edu!ginosko!uunet!algor2!jeffrey From: jeffrey@algor2.uu.net (Jeffrey Kegler) Newsgroups: gnu.misc.discuss Subject: Re: BISON, GCC, and the GNU public license. (Re: increasing yacc states) Message-ID: <1989Jul30.012637.21999@algor2.uu.net> Date: 30 Jul 89 01:26:37 GMT References: <26@ark1.nswc.navy.mil> <26695@agate.BERKELEY.EDU> <5303@ficc.uu.net> <26719@agate.BERKELEY.EDU> <2932@bucsb.UUCP> Reply-To: jeffrey@algor2.UUCP (Jeffrey Kegler) Organization: Algorists, Inc. Lines: 64 For licensing BISON output, I have a suggestion. This suggestion is, I believe, entirely consistent with the spirit of the GNU General Public License, as represented, for example, by the licensing policy for GCC. It attempts to represent this same spirit in the more complex situation created by BISON. This means those who are dissatisfied with the copyleft will equally dissatisfied with what follows. The problem with licensing BISON output is that it contains some GNU code. Allowing this code, largely the routine yyparse(), to become part of a proprietary program could jeopardize the whole copylefting scheme. Yet it does seem that BISON ought to be analogous with GCC, in that the code it produces, but not the code it contains, should be allowed to become proprietary. Essentially, it allows you to make BISON output, if unaltered, proprietary. Altered BISON output, or output from an altered BISON may also be proprietary, but the alterations are subject to the copyleft. The conditions below are written fairly strictly, and are intended to force a lot of new software development code under the copyleft. A lot of company lawyers will still be scared off by the restrictiveness of these conditions. What follows is in pseudo-legalese. 1.) Certain parts of the BISON code [ here should follow the list, including yyparse() ] may, if incorporated in BISON output, be distributed without copyleft restrictions, provided the following additional conditions are complied with in full. 1a.) All copylefted code, or code replacing copylefted code, including all routines required by that code to create the code generation system which was used to create your BISON output is made available under the terms of the GNU General Public License. The code becoming copylefted includes, but is not restricted to, your changes to or replacement for the above mentioned parts, all code called by them, however indirectly, and all code required to generate the above code. 1b.) This exception applies only to code included in output from a copylefted code generator. No copylefted code may form any part, however indirectly, of a proprietary code generator. The inclusion of such code in the output of a proprietary code generator will make that all code forming part of, or required to use that code generator for any purpose, not just production of the particular output subject to the copyleft, subject to the copyleft. 1c.) No copylefted code may form part of a program that is produced from code altered in non-copylefted way after being output from a code generator. All such alterations must be made by copy-lefted code, and all compilers, editors, code generators or other programs required to run such post-processing code must be copy-lefted. No non-automated alterations may be made to the output code. 1d.) FSF may alter these additional conditions at any time in a way consistent with the spirit of the GNU General Public License, as determined by the sole judgement of the FSF. Such additional restrictions shall apply to all code altered, developed, debugged or enhanced with BISON or other GNU programs after the date of the additional restrictions. -- Jeffrey Kegler, Independent UNIX Consultant, Algorists, Inc. jeffrey@algor2.UU.NET or uunet!algor2!jeffrey 1762 Wainwright DR, Reston VA 22090