asterisk and mysql_cdr

Nick Phillips nwp@nz.lemon-computing.com
Sat, 26 Feb 2005 19:06:23 +1300


On Fri, Feb 25, 2005 at 04:46:25PM -0500, Glenn Maynard wrote:

> It sounds like Asterisk's authors wish to allow Asterisk to be linked
> against GPL-incompatible libraries (which I assume "G.729" and "OpenH.323"
> are examples of).
...
> Presumably, MySQL won't grant such an exception.  Therefore, distributing
> an Asterisk binary linked against both MySQL and G.729 violates the license
> of MySQL.  Exceptions granted by Asterisk can't fix this (though they can
> make it worse if poorly implemented, as below).

All good thus far...


> >    No, Asterisk can only be distributed as GPL with an exception to it
> > granted by copyright holder to be able to link asterisk with openssl and
> > pwlib/openh323. Nobody but the copyright holder can remove that
> > exception.
> 
> You must be able to remove the exception--that is, I must be able to
> distribute the software under the plain GPL, without additional
> exceptions.  If I can't do so, then your exception itself is making
> the license GPL-incompatible.

No. I think whoever you were quoting there was correct. Remember that
the permissions granted to your users/downstream by the GPL when you
distribute a work come directly from the copyright holder, not from
you. You have no place in the permission-chain in that situation, so
cannot modify the permissions granted.

If you create a derivative work, it gets a little more complex; while
the extra permission may not be granted when treating the derivative work
as a whole (other components of the work without the extra permission
may preclude this, for example), any sections of that work that are
identifiable as part of the original work (distributed with the extra
permission) still come with the original extra permission.

That's my understanding of it anyway; feel free to point out where I've
gone wrong.


> Another way of looking at it that may help understanding: the prohibition
> of removing that restriction (and getting the original GPL back) is an
> added restriction.  GPL#6 explicitly prohibits this.  For a work to be
> GPL-compatible, it must be possible to distribute it under the terms of
> the GPL--no more, and no less.

I think you're just confusing the issue here, due to missing the fact
that it is not you that is granting the permissions anyway. You certainly
could distribute a derivative work under "vanilla" GPL with no extra
permissions, but in doing so you should probably point out that the
extra permission would be available to certain components if split from
your work.


> You *can* grant exceptions to the GPL, but if you prohibit the removal
> of those exceptions, you've created something which is GPL-incompatible.

If you were to prohibit the use of your software in a combined or derived
work which was unable to grant those extra permissions, then yes, that
would be an extra restriction.

I guess to a degree I'm nitpicking, but then that's what we do here; it
can be important :-)


Cheers,


Nick