Skip to content
Prev 59386 / 398502 Next

The hidden costs of GPL software?

On Fri, 19 Nov 2004, Bill Northcott wrote:

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

   https://stat.ethz.ch/pipermail/r-help/2004-November/059625.html

   `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

   http://www.gnu.org/licenses/gpl-faq.html#MereAggregation

says

   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.