[R] How can you buy R?

Berwin A Turlach berwin at maths.uwa.edu.au
Mon May 22 03:42:46 CEST 2006


G'day Deepayan,

>>>>> "DS" == Deepayan Sarkar <deepayan.sarkar at gmail.com> writes:

    DS> On 5/21/06, Berwin A Turlach <berwin at maths.uwa.edu.au> wrote:
    DS> A user can never violate the GPL. The GPL does not govern use,
    DS> it governs distribution. Specifically,
    >> As I said, I stopped reading gnu.misc.discuss long time ago,
    >> but if I remember correctly sometimes in the (early?) '90s the
    >> following case was discussed.
    >> 
    >> A company made a binary module available for download and gave
    >> the instructions "go to the FSF site (or a mirror), download
    >> version X.Y.Z of program U and compile it with these options,
    >> then link our module and start the program, now you can use
    >> these features of ours and are in business".  (Remember, these
    >> were the days when most "free" software was only available in
    >> .tar.gz form, people were used to compile their own software
    >> and slackware was the dominant (only?)  linux distribution, no
    >> .rpm or .deb files.)
    >> 
    >> Note also that they did not distribute any GPL code, they said
    >> go and get it.  As far as I remember, they were told by the FSF
    >> that they cannot do this and had to stop.  And, IIRC, the
    >> argument was that whether they did the linking or let the end
    >> user do the linking was the same and, hence, the GPL was
    >> violated.

    DS> I'll readily concede that my interpretation may be flawed, but
    DS> this example doesn't seem to contradict anything I said. This
    DS> binary module was clearly (in the opinion of the FSF) a
    DS> derivative work of something that was GPL, and hence the
    DS> company was violating the GPL by distributing the binary
    DS> module under a license other than the GPL.
Well, the question is whether the binary module is a derivative work.
Note, the GPL makes four (4) references to derivatives and derivative
work.   The one most relevant in this discussion is probably the one
in paragraph 0.:
 
        [...] The "Program", below, refers to any such program or
        work, and a "work based on the Program" means either the
        Program or any derivative work under copyright law: that is to
        say, a work containing the Program or a portion of it, either
        verbatim or with modifications and/or translated into another
        language. [...]

So they are actually referring to copyright law to define what a
derivative work is, and this law might be different in different
countries.  Thus, whether you violate the GPL or not may well depend
on where you are located.  

Another question is when does the work becomes a derived work?  I
believe few will disagree that at the moment the two components are
dynamically linked, a derivative work is produced.  Whether something
is a derivative work before the linking, is a debatable question.

But, as I wanted to illustrate with this example, even if you make the
user do the linking, in that moment a product is created that violates
the GPL and the user looses all rights to the GPL part of this new
product (at least that is may understanding).  Hence, a user can
(be made to) violate the GPL.

    DS> Also, as far as I can tell, your description applies to the
    DS> situation with Nvidia's binary kernel drivers for the Linux
    DS> kernel (which is GPL and not LGPL AFAIK),
A simple google search would have confirmed to you that the linux
kernel is developed under the GPL.  There are actually reports that
the developers are currently discussing to move to GPL 3 (a bit
strange, since GPL 3 is, AFAIK, open to discussion but not yet
released) and many of them wanting to stick with GPL 2.  (Another
thing I find strange, because given the standard clause, one can take
GPL 2 code, modify it and then release the new version under GPL 3 [or
later].) 

    DS> which is obviously tolerated, so there must have been some
    DS> other nuances.
It is, but there are problems.  I have computers with an Nvidia card
and run Debian.  Quite often, when the kernel image pacakge is updated
(even if the same version numbers are kept!), my system breaks and
until I recompile the interface to the Nvidia binaries, I cannot use
X.  Interfacing proprietary binary modules to linux seems to be a
perennial problem.

Recently (0.5-1 year ago), there were some reports on relevant sites
that somebody who was providing support for binary drivers of some
digital camera got very upset with how it was made harder and harder
for him to provide this support.  And when some code was removed from
the kernel which made it possible for him to provide the support (and
the argument for the removal was that the code only serves this
purpose), he really spit the dummy and asked that his code and any
other code that he had provided to the linux kernel be removed.  As
far as I remember, Linus complied but a huge discussion ensued on
whether he was actully allowed to withdraw all his code.  I did not
follow this incidence though to see how it was eventually resolved.

    DS> In any case, this is the complete opposite of the situation we
    DS> were originally discussing: there one wants to distribute a
    DS> GPL-d module that possibly links into a proprietary system. As
    DS> far as I can tell, the example you quoted above has no
    DS> relevance in this situation.
First, the e-mail that you are answering to was written in reply to
your e-mail claiming that a user cannot violate the GPL.  IMO, to make
this statement true, you have to be careful in how you define user.
The e-mail was not written as a reply or input to Spencer's e-mail.

Secondly, I have admitted already on this list, and I am happy to
admit it again, that English is my second language.  But I am quite
sure that my command of English is not so bad that I completely
misunderstand the point of a discussion.  So I have to wonder to what
you are referring to as "the situation we were originally discussing".
For my part, Spencer was asking (among other things) for opinions on
his interpretation of the GPL with regard to the "glmmADMB" package.
This package provides binaries that are called (not even linked) from
a GPL-d program.  And I offered Spencer some of my thoughts on this
subject.  There is nothing in the "glmmADMB" package (as far as I can
tell) which links into a proprietary system, I did not see anything in
Spencer's e-mail that was asking about the scenario that you describe
and I did not comment on such a scenario.

Best wishes,

        Berwin



More information about the R-help mailing list