[Pipet Devel] Licensing issues

Jean-Marc Valin jean-marc.valin at hermes.usherb.ca
Thu Sep 7 11:51:38 EDT 2000

> Is Piper a library?  Well, sort of.  I believe applications like BlueBox,
> ISYS, and OpenBSA will make use of Piper in such a way.  And, ISYS is
> closed-source, which means the GPL might not work for them.  But, the fact
> that the use of Piper by ISYS would take place through CORBA, is an issue.  Is
> the use of CORBA considered "linking"?  Jean-Marc says no.  If not, GPL vs.
> LGPL is irrelevant to us.

If I understood what Richard Stallman had to say on the subject, linking to GPL
code through CORBA (from closed-source) is legal, because it's a hole in the
GPL. CORBA didn't existed (or wasn't widely used) when GPL version 2 was
written. Since future versions of the GPL (remember we can link with any version
newer that 2 with the current license) may patch the CORBA hole, I say: "if you
want to be allowed to link with CORBA, release LGPL".

> Neither the GPL or LGPL provides us with a good definition of "linking".  I
> used to find this frustrating, since so much hinges on the definition.
> However, I now think this was intentional, because there is an enormous
> continuum of "linking" examples out there.  It should thus be up to the author
> to define or clarify what is meant by "linking" and how it applies to their
> code.

Right now, linking means "static linking" and even the issue about dynamic
linking isn't clean (let's assume that dynamic linking is also covered).

> The LGPL would cover "one end" for us, without having to specify that "CORBA
> is not linking": It says that pretty much anything can link TO Piper.  But, we
> would nonetheless be left to define what can be linked FROM Piper.  I say we
> should put an exception in the license (either GPL or LGPL) for all programs,
> etc., that are "linked" as "nodes".  The Linux kernel has the same exception
> for device drivers.

Calling a program from inside a node is not linking. Only static/dynamic linking
of code is. But the question still raises much more complex issues. For
instance, can an LGPL library link to (not "be linked to") a GPL library. Let's
say you have library Gtk+ was GPL instead of LGPL. Could libgnumoui (that
links/uses Gtk+) be LGPL. One thing is sure is that it would be illegal to write
a closed-source program that links with libgnomeui, since it would violate the
GPL on Gtk+, which you need to link. Remember that this is fiction, since Gtk+
is released under the LGPL.

So the real issue is: if the PL is LGPL, can it link to GPL-only libraries? Just
for those who aren't familiar with it... PL nodes are classes that are part of
libraries (I call them toolboxes) that are dynamically linked at startup. Even
more complex is the fact that it could happen that GPL software AND
closed-source software be linked from the PL is you run uses both proprietary
nodes and GPL nodes. I think it would be illegal (the guy who wrote the GPL code
didn't want closed-source software to be linked to it).

I think we should try to wrap all our questions/doubts/fears in an e-mail and
send that to either Richard Stallman or Bruce Perens (or both). What do you


Jean-Marc Valin
Universite de Sherbrooke - Genie Electrique
valj01 at gel.usherb.ca

More information about the Pipet-Devel mailing list