G'day Duncan, On Fri, 14 Nov 2008 11:16:35 -0500 Duncan Murdoch <[EMAIL PROTECTED]> wrote:
> On 11/14/2008 11:01 AM, Berwin A Turlach wrote: > > > But I remember that a situation as you describe was hotly debated on > > gnu.misc.discuss in the mid-90s; thus, I am talking obviously GPL 2. > > Unfortunately I do not remember which software/company was involved > > and how the dispute was solved. But they did something like you > > described: distributed a binary and asked the user to download > > additionally some GPL software and then run both together. If this > > were allowed, the GPL would have a hole in it that you could drive a > > truck through. :) > > If the binary being released had no GPL content in it, then there > would be no basis to complain about anything. I'd guess that the > particular case required GPL'd headers in order to compile. That > would be enough to say that the binary includes GPL'd code. I am not so sure about whether it is is a matter of including GPL'd headers. After all, if I just want to call some functions from a library libXXX and I know what the arguments of those function is, then I could write their prototypes into my own non-GPL'd headers. The question is really, does the software that I distribute work only if it is dynamically linked against libXXX and are there several implementations of the functionality that I need from libXXX? If the only implementation of libXXX is a GPL'd one, then my software is a derivative work of it. When I compiled it, I must have had the GPL version of libXXX on my system. To be more specific, looking at my Debian system, I can see that /usr/lib/libXXX might link to /etc/alternatives/libXXX and /etc/alternatives/libXXX links to the actual version, which could be a commercial library, a GPL'd one or one under some other open-software licence. If there are several alternatives for libXXX (for the functions that I need), then there is no way of telling what I have on my system and what I used when I created my binary which is linked to /usr/lib/libXXX. So I can give my binary to others and tell them that they have to get a version of /usr/lib/libXXX; and that one option would be to install the GPL'd version obtainable from XYZ. But if the only library that implements the functionality that my program needs is a GPL'd version, then it is pretty clear that /etc/alternatives/libXXX on my machine (if the /etc/alternatives set up is used at all) must point to the GPL'd libXXX. Thus, when I created the binary, I created a derivative work of libXXX, whether I used its GPL'd headers or not. But I guess I should continue to say that IANAL. :) Cheers, Berwin PS: Hope I managed again to not getting the flame-thrower started. :) ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.