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] 
> <javascript:>> 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