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

Re: filebench: bison generated parser + CDDL



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.

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.

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


Reply to: