Hi <br>Can GPLv3 code access functions (with dynamic/runtime linking) of a closed source .dll (not operating system .dll but an applications' library) which exposes an API ? Keep in mind that the dll although closed source is free for use<br>
<br>I see that this kind of question is circulating on the web and puzzles a lot of people and I have seen many answers like :<br><br>1.if you are the copyright holder of the GPL code then you can do that <br><br>2.if you are the copyright holder of the GPL code then you can do that provided that you add a clause to the GPL license that your code can be linked against closed source APIs.Although I find that this mostly should concern 3rd party developers who want to use your GPL code and link it against closed source APIs<br>
<br>3.If you GPL code uses dynamic/runtime linking rather than static,then it is ok<br><br>4.If your GPL code accesses another non-GPL but open source library and this library calls the closed source API then your GPL code uses an intermediate interface which acts as the communication bridge between them thus does not access the closed source directly,which is ok.I see some people describe that as a 'shim'<br>
<br>So if the GPL code cannot access the .dll directly,can it through those libraries?<br>GPL code <----> non-GPL but (GPL compatible) open source library <----> closed source. dll<br><br>It looks like that GPL is too restricive in a sense<br>
<br><br>