Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

Re: Perl modules and the GPL

by Corion (Pope)
on Feb 01, 2010 at 21:06 UTC ( #820843=note: print w/ replies, xml ) Need Help??


in reply to Perl modules and the GPL

As far as I understand it, the GPL only governs distribution. As the GPL is implemented via copyright and the concept of a "derived work", and use of an API is not a "derived work", the interpreter gap that Perl creates insulates your code while using a GPLed library. Any XS wrapper (statically) linking to a GPLed library gets infected by the GPL, but that's where the infection ends. If you want to play it really safe, you can write a second implementation to the same API, like Term::ReadLine::Perl is for Term::ReadLine.


Comment on Re: Perl modules and the GPL
Re^2: Perl modules and the GPL
by zwon (Monsignor) on Feb 01, 2010 at 21:56 UTC
    Any XS wrapper (statically) linking to a GPLed library

    As far as I understand dynamic linking of GPL libraries with proprietary programs are not allowed either. There was a famous email conversation between RMS and Bruno Haible where they discussed this question.

      There is no fact, mere "discussions with a lawyer" regarding dynamic linking, and I don't see the linking that Perl does (dynamically loading object code) as "creating a derivative work" in the same sense that linking to a C header creates a "derivative work", because to use the API from Perl does not involve the C headers.

      Building the XS component involves the C headers and thus makes the XS component a derivative work, but that cannot infect the Perl program, no matter how much RMS wants this to.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://820843]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (9)
As of 2015-07-04 09:01 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (58 votes), past polls