[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: filebench: bison generated parser + CDDL



Hi all,

I have added Bret in CC, as he is the one to deal with licenses
and exceptions.

Le 3 juil. 2012 à 09:47, Martin Steigerwald a écrit :

> Please keep Cc, as I am not subscribed to help-bison or filebench-developers.
> 
> 
> 
> Dear bison developers, dear FSF licensing team, dear filebench developers,
> 
> Alex Mestiashvili and I have packaged filebench for Debian. But now I wonder 
> whether we may legally distribute it.
> 
> Bison uses a bison generated parser from parser_gram.y and these generated 
> files are:
> 
> | Files: parser_gram.c parser_gram.h
> | Copyright: 1984, 1989, 1990, 2000-2011 Free Software Foundation, Inc.
> |  C LALR(1) parser skeleton written by Richard Stallman, by
> |  simplifying the original so-called "semantic" parser.
> | License: GPL-3+ with exception
> | This package is free software; you can redistribute it and/or modify
> | […]
> | As a special exception, you may create a larger work that contains
> | part or all of the Bison parser skeleton and distribute that work
> | under terms of your choice, so long as that work isn't itself a
> | parser generator using the skeleton or a modified version thereof
> | as a parser skeleton.  Alternatively, if you modify or redistribute
> | the parser skeleton itself, you may (at your option) remove this
> | special exception, which will cause the skeleton and the resulting
> | Bison output files to be licensed under the GNU General Public
> | License without this special exception.
> | .
> | This special exception was added by the Free Software Foundation in
> | version 2.2 of Bison.
> 
> Is this compatible with CDDL-1?

If you fall into case one (you just "use" Bison the regular way),
yes it is (IANAL, but that was a design goal when the exception
was designed: Bison's output _can_ be used to produce proprietary
software)

> As far as I understand CDDL-1 and GPL are not compatible, but when I read this 
> special exception correctly, in the case that no new parser generator is done 
> any terms, any license can be used for the resulting work.
> 
> I asked this already on debian-legal and got an IANAL response back that 
> indicates that the exception could be interpreted from its intent or its 
> wording and this gives different results as to the redistributability of the 
> software – see below.
> 
> Dear FSF licensing team, dear bison developers, can you elaborate on that?
> 
> If its not clearly redistributable then what changes could make it so?
> 
> Thanks,
> Martin
> 
> 
> ----------  Weitergeleitete Nachricht  ----------
> 
> Betreff: Re: filebench: bison generated parser + CDDL
> Datum: Samstag, 2. Juni 2012, 22:29:41
> Von: Mark Weyer <mark@weyer-zuhause.de>
> An:  debian-legal@lists.debian.org
> 
> On Fri, Jun 01, 2012 at 01:45:06PM +0200, Martin Steigerwald wrote:
>> Am Montag, 7. Mai 2012 schrieb Mark Weyer:
>>> Just a quick note: If you are right about the incompatibility of CDDL-1
>>> and GPLv3 (others on this list will know if you are), then the
>>> combined work is non-free: Its license terms discriminate against a
>>> field of endeavour, namely developing a parser generator.
>> 
>> I don´t understand this.
>> 
>> I understand the exception
>> 
>> | As a special exception, you may create a larger work that contains
>> | part or all of the Bison parser skeleton and distribute that work
>> | under terms of your choice, so long as that work isn't itself a
>> | parser generator using the skeleton or a modified version thereof
>> | as a parser skeleton.  Alternatively, if you modify or redistribute
>> | the parser skeleton itself, you may (at your option) remove this
>> | special exception, which will cause the skeleton and the resulting
>> | Bison output files to be licensed under the GNU General Public
>> | License without this special exception.
>> 
>> so that it allows distributing the software under any other license as 
>> long as the generated parser isn´t a parser generator in itself.
>> 
>> I don´t think that the parser in here is a parser generator. As far as I 
>> understand parser_gram.c and parser_gram.h just parses loadable workload 
>> descriptions.

Really, parse-gram.[ch] are invisible internal details about the
implementation of Bison, that's not what we are referring to.
"Skeletons" are the templates that are in data/ (yacc.c, glr.c,
etc.) which are parameterized by bison (the executable).  The
exception is designed to state that as long as you use Bison
as is, you don't have constraints.  But if you modify skeletons
or Bison itself, then the GPLv3 applies without the exception
clause.

> It is less clear than I thought.
> 
> Let A be a work with a parser generated by bison and assume that A is not a
> parser generator. It appears that the exception allows the authors of A to
> place A under any license they want to, effectively overriding the
> GPL-and-exception. Suppose they choose something like the MIT license. Then
> they, or someone else, retrieves the parser skeleton (now under the MIT
> license) from A and uses it as a parser skeleton for a commercial parser
> generator B. The exception is clearly not intended to allow that. Reading its
> letter, I do not see that it actually achieves that intent.

Skeletons are really dynamic, they are not plain files with
simple substitutions, they are "run" by M4.  So this scenario
does not make sense in practice, IMHO.

> How I read the exception on May 7, I thought that it would not be deleted by
> relicensing, but that its requirement would persist in all modified version
> of A. Which is the only way (I can see) that the exception achieves its
> intent.
> 
> The true question is, of course, whether a court would judge in favour of
> the exception's letter or its intent.
> 
> If it judges in favour of its intent: Taking the CDDL'ed filebench for A and
> some modified version B of A, by copyleft (of both the GPL-and-exception and
> the CDDL) we have the same license situation in B as in A. Now if B is as
> above, the exception is not applicable and thus (assuming that GPL and CDDL
> are incompatible) B is not distributable. Thus the combined licenses forbid
> distribution of (some) modified versions and the package is non-free.
> 
> If the court judges in favour of the exception's letter, then your upstream
> can put parser_gram.c and parser_gram.h under the CDDL and everything is fine
> (You can't do that yourself, because
> A: the exception grants that right only to the creator of the larger work and
> B: if upstream does not exercise the right of the exception, then they do not
>   have the right to distribute filebench under anything other than the GPL.)
> 
> I am not a lawyer, this is not legal advice, et cetera.
> 
>  Mark Weyer
> 
> 
> --
> To UNSUBSCRIBE, email to debian-legal-REQUEST@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
> Archive: http://lists.debian.org/20120602202941.GA1911@debian
> 
> 
> -------------------------------------------------------------
> 
> Ciao,
> -- 
> Martin Steigerwald - teamix GmbH - http://www.teamix.de
> gpg: 19E3 8D42 896F D004 08AC A0CA 1E10 C593 0399 AE90
> 
> _______________________________________________
> help-bison@gnu.org https://lists.gnu.org/mailman/listinfo/help-bison


Reply to: