[R] licensing of R packages

Berwin A Turlach berwin at maths.uwa.edu.au
Sat Nov 15 09:05:04 CET 2008


G'day Duncan,

On Fri, 14 Nov 2008 15:24:03 -0500
Duncan Murdoch <murdoch at stats.uwo.ca> wrote:

> >> Moreover, if you write a C/C++ program that makes use of GNU
> >> extensions, you'd be in violation of the GPL if you were to
> >> distribute it without GPLing it.  Even the FSF doesn't believe
> >> that:
> >> 
> >> http://www.fsf.org/licensing/licenses/gpl-faq.html#CanIUseGPLToolsForNF
> > 
> > Could you please explain how you come to this opinion? 
> 
> I believe your argument was that if my program can't be used without
> a library that is currently only available under the GPL, then my
> program must be considered as a derivative work, so I must license it
> under the GPL as well.

It depends now what you mean with "my program".  I was making my
comments specifically within the context of the original posters
questions about Numerit's behaviour and Barry's assertion that he could
write a C program that relies on a GPL'd library, distribute the
compiled binary of that C program without the GPL'd library and just
ask the user to get the GPL'd library from somewhere else so that he or
she could then run the program.  

You seem to extend the scope to a more general definition of what "a
program" constitutes, including the distribution of source code for an
interpreter.  As I tried to point out, if you distribute source code
to be interpreted by an interpreter that is GPL'd, you bring up all
kind of issues.

> Well, if my program uses GNU extensions, it can only be used when 
> compiled by gcc, which I believe is GPL'd.  So your argument would
> imply that it is a derivative work.

Not at all.  Please read what I said.  Is the program compiled from C
code that uses GNU extensions all of a sudden linked to a
GPL'd /usr/lib/libgnuextension library, with that library being the
only source of the needed functionality?

The C code is input (data) to the GNU compiler.  The license of the GNU
compiler does not specify that the output (i.e. the binary) has to be
GPL'd.  Nor does the FSF claim copyright to that output.  (IIRC, when
reading the EULA of some commercial compilers in the 80's, some
software houses seriously claimed the copyright of any program
compiled with their compilers.  I think this clause disappeared rather
soon when users realised its implication.) 

> None of us (you, me or the FSF) think the latter argument is valid.

Agreed, and in my case, and presumably also the FSF's case, it is
because such an argument was never made and never claimed.  

To be, hopefully, completely precise:  if you distribute a binary
program which can only be run if linked against a GPL'd library, i.e.
no alternative implementation of the library providing the
functionality your binary needed exists, then that binary is a
derivative work of the GPL'd library.  Hence, in order to distribute
it, you would have to adhere to the rules under which use of the GPL'd
library was granted to you.  Distributing your binary, and asking your
users to get the GPL'd library separately from somewhere else, does not
absolve you from your responsibilities under the GPL.

> I don't see a material difference from the former argument, so I
> conclude the former argument is invalid as well.

My scenario:  a binary program is distributed which can only be run if
it is linked by the user to a GPL'd library.  The source code of that
binary program is not distributed and there is no offer of providing
it.  There is no way of using that program except with the GPL'd
library, i.e. you need to have the GPL'd library libXXX, there is no
other (whether commercial or not) provider of libXXX that implements
the same featuers.  Thus, it is clear that when you produced the
binary, you had the GPL'd library on your system, you linked the binary
against that library and at that moment you created a derivative work
of the GPL'd library.  

Your scenario (as I understand it):  You use a GPL'd compiler to compile
your program which is then only linked to system libraries available on
any similar OS. The compiler offers extension to the language that other
compilers don't offer, but produces binaries that are only linked to
said standard libraries.  The GPL'd compiler makes no claims on the
binary that it produces.

Sorry, but if you do not see a material difference here, then I guess
it is best that we just agree to disagree. :)

> >> The argument in the latter FAQ does seem to imply that R scripts
> >> must be GPL'd, and again:  that's nonsense.
> > 
> > Not at all, read the complete FAQ, especially the part I mention
> > above about interpreted languages.
> 
> I think the complete FAQ is inconsistent.  

I guess that comes from the fact that you do not see a material
difference where other do. :)

> Some of it is accurate (e.g. the bits that say you can use GPL'd
> software without GPL'ing your own work) and some of it is not (the
> parts that imply dynamic linking makes something a derivative work.)

As far as I understand, there have been people who shared that thought,
namely that dynamic linking does not imply the creation of derivative
work.  Unfortunately, nobody so far seem to have had to had the
conviction to have this opinion tested in court.

> > I guess the only way of knowing for sure would be if you commit
> > such a violation, refuse to stop doing so, don't settle out of
> > court and decide go to court.  That would probably settle once and
> > for all whether there is a legal basis for that argument.  And you
> > would be doing the free-software community a great favour by having
> > this issue finally tested in a law of court, decided and laid to
> > rest.  But please don't be offended if my money is on you loosing
> > the case. :)
> 
> I wouldn't say that's the only way, but I'll be happy to do it.  Do
> you want me to link to the GSL, or something that the FSF owns?

First, I would prefer that you spend your time on something more
productive.  Secondly, I will not give you advice on how to loose your
money, in the end you might turn around and sue me for compensation
claiming that you lost all that money because of my advice and
that it is my responsibility. ;-)

Cheers,

	Berwin



More information about the R-help mailing list