This is the mail archive of the
mailing list for the GCC project.
Linkage of GPLed GCC to Closed Source via XML or Perl
- From: James Michael DuPont <mdupont777 at yahoo dot com>
- To: gcc at gcc dot gnu dot org
- Date: Thu, 28 Feb 2002 02:21:14 -0800 (PST)
- Subject: Linkage of GPLed GCC to Closed Source via XML or Perl
Dear GCC Developers,
For the past three years, I have been working on a
project to create a object oriented interface to the
GCC compiler, the GCC Node Introspector
This turned from a c++ into a Perl project after
realising the power of Perl for handling strings and
complex data structures.
Currently I am using a modified version of c-dump.c
like done in CPPX
output the tree nodes into a XML form that is very
similar to the tree dump, just with xml syntax. This
is streamed into a Perl program via popen and written
to a Postgres database.
Also the number of tools that link into perl are
The linkage of Perl is permissive, but I think that
the linking of programs can to GPL code can be very
tricky, and full of problems as a detailed review of
the GPL and LGPL can point out.
In this article :
>> CL: Would you give us an example of cultural
>>Larry Wall: Ten years ago or so, we had Richard
Stallman's GPL, and Perl was licensed under that. And
>> that that worked fine for the hacker community, for
the geeks, but it prevented Perl from being used in a
>> commercial environment. So I wrote my own license.
But I didn't want to offend the free software, the GPL
>>So, rather than switching licenses, I said "Well,
let's have both licenses and you may distribute Perl
under >>either of them at the same time." And that
way, the computer crowd, they had their insurance that
their rights >>would not be taken away, and the
companies had some insurances that their rights would
not be taken away, and >>everyone was happy. That's
sort of cultural hack that I'm talking about.
Does that mean that via perl a company can create a
close-source gcc backend?
Without external representation via XML?
Let us review the the GPL and its implications for
linking to Perl :
Lets look at the GPL :
>This General Public License does not permit
incorporating your program into proprietary programs.
>If your program is a subroutine library, you may
consider it more useful to permit linking proprietary
>applications with the library.
>If this is what you want to do, use the GNU Library
General Public License instead of this License.
My GPL Comment:
incorporating is a term that implies to me
If I write a proprietary program that uses the output
of the GPL Code is that containment?
If I open the a pipe to another program, and call
functions in it using data from a GPL program, is that
not what a linker does, but via a different method?
Lets look at the LGPL 2.1
> We use this license for certain libraries in order
to permit linking those libraries into non-free
> When a program is linked with a library, whether
statically or using a shared library, the combination
of the two is legally speaking a combined work, a
derivative of the original library.
>The ordinary General Public License therefore permits
such linking only if the entire combination fits its
criteria of freedom.
> The Lesser General Public License permits more lax
criteria for linking other code with the library.
LGPL Comment :
Now this does not cover linking via RPC/IPC or Shared
Memory or File.
Let alone CORBA or XML-RPC/SOAP.
This comes done to the definition of linking, is
linking only with the linker, or is linking a method
of passing data between function calls?
Can I call a GPLed Function in GIMP via a perl script
webpage, but I cannot link to it?
LGPL part 2 :
>14. If you wish to incorporate parts of the Library
into other free programs whose distribution conditions
are >incompatible with these, write to the author to
ask for permission. For software which is copyrighted
by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for
>Our decision will be guided by the two goals of
preserving the free status of all derivatives of our
free software and of promoting the sharing and reuse
of software generally.
LGPL Comment part 2 :
"distribution conditions are incompatible with these"
Does that cover PAL which gives you more freedom?
Can I link via Perl and all of a sudden, there is no
By these terms, would every Perl script which links in
with GPLed GIMP via script would require such
permission to be asked?
The perl script is called from an apache server, goes
across all types of close-source maybe even patented
software sitting on routers and switches, and then
gets displayed in a microsoft browser, only to call a
draw on some graphic card.
As you can see, the network has changed the meaning of
linking. Perl has changed it as well.
Also see the discussion of this subject on perl monks
James Michael DuPont
James Michael DuPont
Do You Yahoo!?
Yahoo! Greetings - Send FREE e-cards for every occasion!