5

I have a code that is dynamically linked to a GPL library. When I distribute my code in binary form, I do not distribute it with the GPL library, and provide instruction for the user to acquire this external library.

Is my code required to be GPL ?

I know the topic is debated (https://en.wikipedia.org/wiki/GNU_General_Public_License#Linking_and_derived_works), but I wanted to know wether bundling the GPL library during distribution is a relevant factor or not.

6

EMBLEM writes as if the matter were definitively resolved, but the honest answer is that noone knows. If dynamic linking makes a derivative work, then you are indeed required to publish your code under the GPL. If it doesn't, then you may publish your code under any licence you like; moreover, you may distribute the GPL library along with your application as mere aggregation, provided that you comply with the GPL's obligations with respect to the GPL library.

Whether dynamic linking makes a derivative work is, of course, the important question. My earlier answer here addresses the question in more detail, but the upshot was - and remains - that until courts of significance start ruling on this issue, we don't know for sure what constitutes a derivative work.

FAOD, let me be clear: I think the GPL is a good licence, and you will certainly simplify your position - and enrich humanity - if you decide to licence your work under the GPL also. But whether you are required to do so is not yet as cut-and-dried as some would have you believe.

  • 1
    Well spoken. @vkubicki, be warned that if the copyright holder does sue you, the Free Software Foundation will take its side as they believe that dynamic linking creates a derivative work. – EMBLEM Aug 12 '16 at 6:28
  • The fsf is very selective in what they get involved in legally. – bmargulies Aug 14 '16 at 22:31
  • Thank you all for this information. This concerns a professional project with many aspects to take into account in the decision making. Your answers will help us a lot ! – vkubicki Aug 16 '16 at 8:43
  • @vkubicki I'm glad to hear it, but remember that IANYL (in fact, IANAL at all) - you shouldn't balance too much on the unsupported opinion of an internet user! – MadHatter Aug 16 '16 at 9:43
  • We will take the most conservative approach and suppose that the work is derived by linking. – vkubicki Aug 17 '16 at 14:33
1

Your code is required to be under the GPL. The rights of distribution and the GPL's copyleft are unrelated mechanisms. That you are distributing the libraries separately is irrelevant; your code is still a derivative work of the GPL library and is therefore subject to its copyleft.

In general, when in doubt, you will never be in the wrong to license your work under the GPL.

1

While the MadHatter does have a point, please make note of two important factors:

  • being (at best) grey area is not so much different (from legal liability standpoint) from outright breaking the license. That is, only way to proceed safely is if there is no doubt whatsoever that it is completely legal. The burden on determining beyond doubt that it is completely legal (and/or legal consequences of failing to do so) is on you as a distributor. Even some doubt in legality of it is in practice almost as bad as fully knowing it is illegal (note you could claim not being sure or not knowing in either case, with same results)

  • good way to determine if something is derived work is to ask yourself "could I have built this same binary with same funcionality if I never had any access to any part of library code (including headers, .so files, etc.) but just docs?" If the answer is "yes", you're most probably not infringing. If the answer is "no", there is very very big chance your code is derived work (at least in most jurisdictions), and you thus have to licence accordingly.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.