Thursday, February 28, 2002

Here is an article that I wrote for

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 into a perl project after realising the power of perl for handling strings and complex data structures. Also the number of tools that link into perl are amazing.

This 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 meditation, I will point out what I see as some bumpy spots for Perl and GPL, and clauses that might have been overlooked for too long.

Let us review the the GPL and its implications for linking to Perl :


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

If this is what you want to do, use the GNU
Library General
Public License instead of this License.

GPL Comment

incorporating is a term that implies
to me containment,

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

Lets look at the LGPL 2.1

We use this license for certain libraries in
order to permit linking those
libraries into non-free programs.

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
this. 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 more GPL?

By these terms, 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
javascript function that uses the microsoft api to
draw on some graphic card.

As you can see, the network has changed the meaning of


At 8:22 AM, Blogger Adi said...

Oes Tsetnoc one of the ways in which we can learn seo besides Mengembalikan Jati Diri Bangsa. By participating in the Oes Tsetnoc or Mengembalikan Jati Diri Bangsa we can improve our seo skills. To find more information about Oest Tsetnoc please visit my Oes Tsetnoc pages. And to find more information about Mengembalikan Jati Diri Bangsa please visit my Mengembalikan Jati Diri Bangsa pages. Thank you So much.
Oes Tsetnoc | Semangat Mengembalikan Jati Diri Bangsa

At 8:32 AM, Blogger Zheng junxai5 said...

hollister clearance
retro jordans 13
oakley outlet
cheap air jordans
toms shoes outlet online
nike sb dunks
toms wedges
michael kors outlet clearance
cheap oakleys
nike outlet
true religion outlet
coach outlet clearance
nike air max uk
adidas superstar trainers
adidas stan smith
retro 11
michael kors handbags
coach factory outlet
coach outlet online
christian louboutin wedges
ray ban sunglasses uk
nike free uk
burberry outlet online
louis vuitton outlet online
louis vuitton
cheap jordans
adidas originals store
louis vuitton purses
kate spade handbags
louis vuitton outlet online
coach factory outlet
ladies cartier watches
true religion jeans
oakley sunglasses
jordan 3 retro
coach factory outlet online
lebron 13
insanity workout
cheap ray ban sunglasses

At 11:54 AM, Blogger Fangyaya said...

michael kors outlet online
michael kors canada outlet
mont blanc
coach outlet
ray ban sunglasses
christian louboutin outlet
coach factory outlet
nike air max
adidas nmd
adidas yeezy
michael kors outlet
cheap jordan shoes
tiffany outlet
coach outlet online
adidas trainers
hermes bags
louis vuitton bags
longchamp bags
ray ban sunglasses outlet
michael kors outlet clearance
michael kors handbags
adidas superstar
michael kors
lebron james shoes
coach factory outlet online
louis vuitton outlet
christian louboutin outlet
louis vuitton outlet stores
coach outlet online
toms shoes outlet online
louis vuitton
longchamp handbags
true religion outlet
nike uk
louis vuitton outlet
ray ban sunglasses
christian louboutin outlet
ralph lauren
gucci bags
timberland boots


Post a Comment

<< Home