The fact that libR.so is dynamically linked is irrelevant legally. It is,
however, fine for RCall (or any package using a GPL library) to be released
under the MIT license. The combination would be GPL.

On Fri, Jan 2, 2015 at 6:13 PM, Douglas Bates <[email protected]> wrote:

> I'm okay with not reading the Rif.jl sources as I think I have most of the
> capabilities covered.  Well, I have the tryEval working and can manually
> construct function calls but I still need to write the piece that parses R
> code.
>
> I think I should be okay with using the R API and still keeping RCall.jl
> under an MIT license.  The API is documented in some of the R manuals.  The
> RCall package requires that R be installed separately if it is to be used.
> Obviously the package dlopen's libR.so but that seems sufficiently
> arms-length not to require releasing RCall.jl under the GPL.
>
> On Friday, January 2, 2015 4:03:27 PM UTC-6, Stefan Karpinski wrote:
>>
>> You can combine GPL and proprietary software as long as you don't
>> redistribute the combination. If a single derived work combining GPL and
>> proprietary code is distributed, that voids the GPL license, leaving the
>> distributor and recipient of the derived work without a valid license for
>> the GPL code, leaving them open to legal action by the copyright holders of
>> the GPL code.
>>
>> On Fri, Jan 2, 2015 at 4:54 PM, Simon Kornblith <[email protected]>
>> wrote:
>>
>>> On Friday, January 2, 2015 2:59:04 PM UTC-5, Douglas Bates wrote:
>>>>
>>>> For many statistics-oriented Julia users there is a great advantage in
>>>> being able to piggy-back on R development and to use at least the data sets
>>>> from R packages.  Hence the RDatasets package and the read_rda function in
>>>> the DataFrames package for reading saved R data.
>>>>
>>>> Over the last couple of days I have been experimenting with running an
>>>> embedded R within Julia and calling R functions from Julia. This is similar
>>>> in scope to the Rif package except that this code is written in Julia and
>>>> not as a set of wrapper functions written in C. The R API is a C API and,
>>>> in some ways, very simple. Everything in R is represented as a "symbolic
>>>> expression" or SEXPREC and passed around as pointers to such expressions
>>>> (called an SEXP type).  Most functions take one or more SEXP values as
>>>> arguments and return an SEXP.
>>>>
>>>> I have avoided reading the code for Rif for two reasons:
>>>>  1. It is GPL3 licensed
>>>>  2. I already know a fair bit of the R API and where to find API
>>>> function signatures.
>>>>
>>>
>>> AFAICT, Rif.jl is GPLv2+. I'm not sure how much a less restrictive
>>> license helps here. My understanding is that, because R is GPLv2+, code
>>> that links against it must be redistributed under GPLv2+ or a less
>>> restrictive license, i.e., while it would be legal to redistribute code
>>> that uses either Rif.jl or RCall.jl under GPLv2+ or MIT, neither could be
>>> used in closed source software.
>>>
>>> Simon
>>>
>>
>>

Reply via email to