in reply to When linking to a C library, do I need to use its license?

Hi stevieb,

Update - TL;DR: In this case, Perl's license (GNU GPL + Artistic License) appears to be compatible with the GPL, so you should be able to release your code under Perl's license and link to GPLv3 code. However, in general, the GPLv3 is quite strict about its requirements and one should always research this topic.

I studied* this topic back when the GPLv2 was current, and IIRC the definition of "linking" was open to some interpretation. I think the GPLv3 is more explicit, and although I haven't studied the license itself in detail, the FAQ appears to be quite explicit:

If a library is released under the GPL (not the LGPL), does that mean that any software which uses it has to be under the GPL or a GPL-compatible license?

Yes, because the software as it is actually run includes the library.

Does the GPL have different requirements for statically vs dynamically linked modules with a covered work?

No. Linking a GPL covered work statically or dynamically with other modules is making a combined work based on the GPL covered work. Thus, the terms and conditions of the GNU General Public License cover the whole combination. See also What legal issues come up if I use GPL-incompatible libraries with GPL software?

Note that Perl is dual-licensed under the Artistic License 1.0 and the GPLv1 (or any later version), and the GNU website has this to say about it:

License of Perl 5 and below

This license is the disjunction of the Artistic License 1.0 and the GNU GPL—in other words, you can choose either of those two licenses. It qualifies as a free software license, but it may not be a real copyleft. It is compatible with the GNU GPL because the GNU GPL is one of the alternatives.

We recommend you use this license for any Perl 4 or Perl 5 package you write, to promote coherence and uniformity in Perl programming. Outside of Perl, we urge you not to use this license; it is better to use just the GNU GPL.

So it sounds like the "Perl license" (dual license) is GPL-compatible, the Artistic License 1.0 alone is probably not. BTW, are you sure the library you're linking to is GPL and not LGPL? Also, of course you always have the option of contacting the library's author to get special permission, or even try to convince him/her to change the license to LGPL :-)

* Update 2016-08-12: I realized that the word "studied" may be misunderstood here. I did not have this taught to me at a university or similar, I am using the definition of "studied" meaning I researched the topic in depth on my own time. As I said in my other post, I'm not a GNU/GPL advocate, expert, or lawyer. When in doubt, don't get legal advice from strangers on the Internet ;-)

Hope this helps,
-- Hauke D

Minor updates to text.

  • Comment on Re: When linking to a C library, do I need to use its license? (updated x2)