Commercial Apps Can Link With GPL'd Libraries?
tommyd writes: "In the discussion following this editorial at Freshmeat, Matthias Ettrich of KDE fame claims that it's OK for a commercial application to use GPL'd libraries. I've never heard such a claim before. It would certainly make this plea from RMS redundant (not to mention the LGPL), but could spell bad things for GPL'd software generally. What's the Slashdot community's opinion?"
The conventional interpretation of the GPL considers all code linked to it, either statically or dynamically, to be a derivative work and consequently that code must be GPLed. The LGPL (Lesser GPL, not Library GPL since it ain't just for libraries anymore) is intended to address code that gets linked without this restriction.
I think that this paritcular claim is not tenable in the case of dynamic linking.
The GPL relies on copyright law to get it's punch. It subverts copyright by granting a different bundle of rights to the user of the code than do conventional copyright implementations. Consequently, wherever copyright does not reserve a right to the author, the GPL can not restrict that right.
An API qualifies (IMHO, IANAL) as a "method of operation" as defined in the Copyright code. Methods of operation are uncopyrightable. I can't design a new stick shift pattern and restrict others from being able to use it with copyright law. Libraries provide a method of operation through a defined interface and expose that interface. The particular expression of how that API is implemented is not of interest to the code that calls the library.
If it were otherwise, then Microsoft (or any other OS verndor, for that matter) could restrict anyone who calls their DLLs and claim a royalties on code that they didn't write but runs on their OS under a "derivative work" claim.
This would be a bigger blow to Free Software then anything I could imagine short of the GPL being found to be unenforcable in a court of law.
I have discovered a truly marvelous sig, unfortunately the sig limit is too small to contain i
The conventional interpretation of the GPL considers all code linked to it, either statically or dynamically, to be a derivative work and consequently that code must be GPLed. The LGPL (Lesser GPL, not Library GPL since it ain't just for libraries anymore) is intended to address code that gets linked without this restriction.
RMS was originally very adamant about linking resulting in 'derivative works', however this theory has changed in recent times. This was a very volatile question in the early days of Linux, and Torvalds took the opinion that linking did not result in a derivative work (he was talking specifically about the kernel at the time), and this prompted RMS to draft the LGPL (as I understand history).
Generally, it is accepted today that linking does not mean that your program must be GPLed, but you should not (cannot?) distribute the libraries with your app on CD or other media.
IANAL, and this wouldn't be a problem if you used a BSD-type license ;)