[R] The hidden costs of GPL software?

Prof Brian Ripley ripley at stats.ox.ac.uk
Fri Nov 19 11:02:59 CET 2004

On Fri, 19 Nov 2004, Bill Northcott wrote:

>>       If the GPL were not so tight on this point, someone could
>> commercialize a GUI for R without having to offer their source code
>> under the GPL.
> There is nothing in GPL to stop a commercial GUI for R.  Have a look at what 
> Apple do.  They have a complete commercial GUI and numerous applications 
> built on a an almost completely GPL'ed operating system.  There are loads of 
> shareware GUIs which drive GPL utilities.  Most obviously there are plenty of 
> commercial apps which run on GNU Linux.

Perhaps you could look at earlier replies, for as Thomas Lumley said in


   `A GUI that ran R just by sending commands to stdin and getting results
   from stdout could clearly be proprietary without violating the GPL.  The
   question of exactly what level of closer integration is allowed would
   get complicated and I won't speculate.'

I will speculate as far as to say that the Free Software Foundation seems 
to regard the degree of integration that involves linking against libR.so 
or R.dll as subject to the `based on' provisions of GPL: for example



   Combining two modules means connecting them together so that they form a
   single larger program. If either part is covered by the GPL, the whole
   combination must also be released under the GPL--if you can't, or won't,
   do that, you may not combine them.

   What constitutes combining two parts into one program? This is a legal
   question, which ultimately judges will decide. We believe that a proper
   criterion depends both on the mechanism of communication (exec, pipes,
   rpc, function calls within a shared address space, etc.) and the
   semantics of the communication (what kinds of information are interchanged).

   If the modules are included in the same executable file, they are
   definitely combined in one program. If modules are designed to run
   linked together in a shared address space, that almost surely means combining
   them into one program.

   By contrast, pipes, sockets and command-line arguments are communication
   mechanisms normally used between two separate programs. So when they are
   used for communication, the modules normally are separate programs. But if
   the semantics of the communication are intimate enough, exchanging
   complex internal data structures, that too could be a basis to consider the two
   parts as combined into a larger program.

Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

More information about the R-help mailing list