To view parent comment, click here.
To read all comments associated with this story, please click here.
This might be what the FSF believe, but it is not what copyright law says. Copyright law says that a derived work must include major elements of an earlier copyrighted work. Dynamic linked libraries (the earlier copyrighted work) are NOT present in the as-distributed work (whereas static linked libraries are). Furthermore, it is the act of distribution of code, and not the mere running of code, that the copyleft provisions of the GPL apply to.
If the FSF were to try to mount a case such as you argue in court, I do not see how they could logically prevail.
The FSF have never tried to argue such a case, AFAIK, and all GPL violations that have been argued by the FSF have involved instances where GPL code was in fact being distributed, physically included within larger (proprietary) works. This, and only this, is the no-no that has bite under the law.
Edited 2010-09-08 07:55 UTC
It's true that the cases they have taken to court were clear violations like the busybox case. They mostly go after cases where there was no intent to provide source of any kind.
But the FSF has also stated that dynamic linking constitutes a combined program.
The screwy thing is that call dynamic linking of plug-ins to be a borderline case:
http://www.gnu.org/licenses/gpl-faq.html#GPLPluginsInNF
What type of license allows a borderline case?
They also consider using shared memory to communicate with a plug-in to be the same as dynamic linking even though with a plug-in this is easily avoided by keeping the process separate.
You could certainly argue in court that dynamic linking isn't a violation, especially since it is acceptable to build that same library into a separate executable that only exists to provide access.
Too much of the GPL is ambiguous, it really needs to be rewritten. It comes from a time when most programs were small and statically linked.
Indeed, it is not clear at all, and I agree with nt_jerkface that the GPL is far to ambiguous in this respect. Even if you believe that dynamic linking does not form a derivative work (which effectively makes the GPL a badly-worded LGPL). What if headers contain a significant amount of macros that do become part of your compiled program? What about C++ templates? And if C++ templates create a derivative work, isn't that weird (create an instantiation in the library and you are safe, create one in your code, and you are not)?
As many have come to find out, the GPL is a legal minefield. Sure, it has advantages if you embrace FLOSS ideals, want to force contribution of changes, or to give competitors an advantage they can run with (well, arguably only the AGPL helps fully). But it's a hell of a complicated license, and it's not strange companies want too touch it as little as possible.
Edited 2010-09-08 11:03 UTC





Member since:
2005-11-18
This is the interpretation of some. Others, for instance the Free Software Foundation, believe that dynamic linking is creating a derivative work. For this reason, they have created the LGPL (which does allow dynamic linking in proprietary applications, but not static linking).