On Tue, Oct 23, 2012 at 5:21 PM, Roy Stogner <roystgnr@ices.utexas.edu> wrote:

The whole reason the GPL was created was to protect people's source
code from being redistributed in derived works linked with binary
blobs, regardless of the binary's license.  That's basically the whole
difference between GPL and LGPL too - the latter lets you redistribute
derived works that combine source-code-available and binary-only
objects, the former doesn't.

If you've got the support of the original authors of all the GPL'ed
components, of course, you can add whatever exceptions you wish.  But
the only exception the GPL itself adds is for "system libraries".


No - you have that backwards.  The GPL says nothing about distributing BSD binary blobs with your GPL'd application/library.  That would be covered by the BSD license the binary blob is under.

The GPL _does_ cover distributing binary blobs _of_ GPL'd applications / libraries and or linking to them.

To be clear... you _can_ distribute a GPL'd application that comes with binary blobs in other licenses (provided that you satisfy those other license clauses when you do so).  The GPL would only cover _your_ code that is GPL'd... and has nothing to do with what you're doing with someone else's code.

Now - if you compile a binary blob that includes both GPL'd and non-GPL'd software... what you do with that blob _must_ conform to the GPL (it should also conform to the other licenses as well... but they're usually less restrictive than the GPL) which generally means that you need to make the source code available for the GPL'd portions AND for any non-GPL'd portions that interface with GPL'd code (ie call GPL'd functions, use GPL'd symbols, etc).

If a GPL'd code is using a BSD library like fparser... then there are no problems with distributing a binary of fparser (provided you satisfy the BSD license with the copyright notice publication somewhere) linked into your GPL'd code.  fparser would not be calling GPL'd functions, nor would it be using GPL'd symbols in any way.  To put it plainly the fparser object file contains no GPL'd software and therefore the distribution of that part of the binary would NOT need to follow the GPL.... you would simply need to satisfy the BSD license for fparser.

You are absolutely right that the GPL protects against linking in GPL libraries and distributing a binary.  But that's not what's happening with fparser.  You are linking in a BSD library and only need to follow the rules for doing so.... even in the case that your software is GPL'd.