10

I would like to use a dynamically linked library with GPL V2 license for adding remote support to my existing C++ application. I use the library without modifications of the library code.

Do I need to use GPL license for my program or do I need only to give access to the library license and code?

Is there a possibility to create an own library using the library under GPL with another license like LGPL?

  • 2
    Are you doing this to create something for you to use, or for you to redistribute? – MadHatter Dec 4 '15 at 11:56
  • The GPL is not a "non-commercial" license. It explicitly allows commercial use. Its license terms just make the normal pay-by-copy business model infeasible. – Philipp Dec 27 '15 at 16:35
6

The jury is still out on this one.

The traditional interpretation, and the one intended by the Free Software Foundation(FSF, publishers of the GPL), is that no, you can't do this. This position seems to have broad support. Both parts of your question are dealt with in the GPL FAQ.

The first, if it "counts" if you link dynamically has it's own section in the FAQ. It answer is that it doesn't matter whether you link statically or dynamically, it's all governed by the GPL.

The second, can you make an LGPL wrapper is dealt with in another section of the FAQ. It answers that you can't do this.

This view is what the intention of the GPL is, and also seems to be the most common view. It's not the only view though.

Some claim that dynamic linking doesn't make a work that has to be licensed under the GPL, or doesn't always make a work that has to be licensed under the GPL.

Lawrence Rosen, General council of the OSI, argued in the Linux journal that whether or not it's linked statically or dynamically doesn't matter, but that linking to a library does not create a derivative work, and is not bound to the GPL.

It should be noted that both the OSI position and the FSF position have a measure of partizanship in what they regard as what "the right thing" with regard to open source/free software is.

As long as there is no case law on the subject with a definitive outcome - and there isn't any just yet - legally this is still an open question. The safe route is to take the most conservative, that is, the position the FSF takes.

Lastly, two caveats:

If this is for personal use, and you don't intend to distribute the result, then you can always do this, and the rest of the answer is void. This only comes in to play if you distribute the end result.

Throughout the answer, I've equated "commercial use" to "propriety licensed". That's not completely right; you may distribute open source software commercially, but since anyone can fork and distribute the product, there are large challenges in setting up a business model for it.

  • Thanks for the answers. My opinion is also to be conservative and legal. Therefore I cannot use GPL licensed software.... – Andreas Schlegel Dec 6 '15 at 13:50
  • @AndreasSchlegel or at least you can't link libraries that are only available you under the GPL in a product you plan to distribute under a propriety license. You can definitely use them, but only under those conditions. It's up to you if you want to accept or reject those conditions. – Martijn Dec 6 '15 at 14:50
  • The plan was to add the functionality of remote access to a existing product, which is not licensed under GPL. But without the possibility to link the GPL library I have to search another way. Is it possible to use the library to create a server licensed under GPL and after that using the server as it is in an own process? I would like to implement an interface for using the server over inter process communication. – Andreas Schlegel Dec 6 '15 at 15:30
  • Just "making it able to use the library" might make it a derivative of the API of the library, which presumably is under GPL or similar.... – vonbrand Jan 16 '16 at 0:45
3

It depends on the views of the copyright owner as to the definitions of derived work versus aggregation. The FSF themselves take a very broad view of derived work that would forbid your use case; they specifically see shared lib inclusion as creating a derived work. Other organizations have different views. It has never been litigated, so no one knows for sure what will happen if you do this for when the copyright owner shares the FSF's views.

  • 1
    "It has never been litigated": that's not entirely true. Christoph Hellwig's suit against VMWare, which the SFC (who are supporting it) describe as "the first case on derivative works and the GPL", is sub judice as I write. I agree that no judgement has yet been given, though. – MadHatter Dec 4 '15 at 13:33
  • 1
    @MadHatter I don't believe that case involves dynamic linking directly though. – Tavian Barnes Dec 4 '15 at 19:15
  • I don't think anyone (outside the legal teams involved) knows exactly what it relates to, as court documents in Germany aren't a matter of public record. But from the SFC's description of how vmware works in the context of a linux kernel, I think it's a fairly safe bet that dynamic linking will be a strong included element. – MadHatter Dec 4 '15 at 19:27
  • This is wrong. It definitely does not depend on the views of anybody but whoever defined the terms in use ("derived work" is supposed to be defined by the relevant law) and the people who are in charge to interpret said laws for specific cases (i.e., the court viewing the case). – vonbrand Jan 16 '16 at 0:43
  • Only the the copyright holder can demand that you stop doing something. if the copyright holder has the view that it's OK, therefore, it's OK. Full Stop. – bmargulies May 10 '16 at 14:30
2

Yes, but then you have to abide by the GPL for the composite. I.e., give full source to whoever gets binaries, and place no restrictions on further binary/source distribution by the recipient.

Check the conditions GPL imposes, also read the supporting/explanation documents from the FSF.

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.