help-bison
[Top][All Lists]
Advanced

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

Re: filebench: bison generated parser + CDDL


From: Akim Demaille
Subject: Re: filebench: bison generated parser + CDDL
Date: Tue, 31 Jul 2012 08:25:29 +0200

Hi Martin,

Sorry about this, but I have no answers.  If address@hidden
does not answer, I don't know what else I could do.

        Akim


Le 24 juil. 2012 à 16:34, Martin Steigerwald a écrit :

> Am Mittwoch, 4. Juli 2012 schrieb Akim Demaille:
>> Hi all,
> 
> Hi Akim and Brett,
> 
>> I have added Bret in CC, as he is the one to deal with licenses
>> and exceptions.
> 
> Any progress?
> 
> Thanks,
> Martin
> 
>> 
>> 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 <address@hidden>
>>> An:  address@hidden
>>> 
>>> 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 address@hidden
>>> with a subject of "unsubscribe". Trouble? Contact
>>> address@hidden Archive:
>>> http://lists.debian.org/address@hidden
>>> 
>>> 
>>> -------------------------------------------------------------
>>> 
>>> Ciao,
> 
> 
> -- 
> Martin Steigerwald
> Trainer / Consultant
> 
> teamix GmbH
> Solide IT-Infrastruktur
> Südwestpark 35
> 90449 Nürnberg
> 
> fon:   +49 (911) 30999- 0
> fax:   +49 (911) 30999-99
> mail:  address@hidden
> web:   http://www.teamix.de
> vcf:   http://www.teamix.de/vcf/ms.vcf
> gpg:   19E3 8D42 896F D004 08AC
>       A0CA 1E10 C593 0399 AE90
> 
> Amtsgericht Nürnberg, HRB 18320
> Geschäftsführer: Oliver Kügow, Richard Müller




reply via email to

[Prev in Thread] Current Thread [Next in Thread]