Skip to content

Licensing Issue with JRI

4 messages · Lokkju Brennr, Simon Urbanek

#
Hoping someone can clear up a licencing question...

My understanding is that R is licensed under the GPL, with some
headers licensed under the LGPL (per COPYRIGHTS, so that R plugins
don't have to be GPL - arguably incorrect, but besides the point).
JRI states that it is licensed under the LGPL - but it links against R
shared libraries (or so is my understanding - please correct me if I'm
wrong).
This seems incompatible, as per
(http://www.gnu.org/licenses/gpl-faq.html#GPLModuleLicense) if there
is any GPL code in a compiled assembly, the resulting binary must be
GPL, and per (http://www.gnu.org/licenses/gpl-faq.html#IfLibraryIsGPL)
if a library is GPL, then anything that links against it must be GPL.

Anyone have any input here?

Thanks

Loki
5 days later
#
On Aug 19, 2011, at 10:26 PM, Lokkju Brennr wrote:

            
IANAL, so please consult a lawyer, this doesn't constitute a legal advice, but there is nothing saying that JRI cannot be LGPL since it is not derived from GPL code. It uses a defined API (that is even released as LGPL but that's probably beside the point as you said). Obviously, if you use it with R then the whole will be covered by GPL and LGPL is GPL-compatible [http://www.gnu.org/licenses/license-list.html#GPLCompatibleLicenses ]. FWIW note that rJava - which is the distribution of JRI - is licensed as GPL.

Cheers,
Simon
#
Simon,

I wasn't trying to claim that JRI *couldn't* be licensed under LGPL
(though if it sounded that way, I understand - I was a bit unclear),
but rather that it made no sense, as there is no way to use JRI under
the LGPL, since it must always be linked with R to be of any use - and
that linking would cause the entire work to be under GPL.
rJava is a different beast entirely from JRI, though JRI is now
included with it - rJava allows R to call Java code, where as JRI
allows Java to call R.  They are separate code bases, and just happen
to be package together in the rJava release.

It looks like the solution to my conundrum (calling R from a non-GPL
compatible application) can be solved by using Rserve and the socket
API - but I still think the license on JRI is unclear, since it
advertises itself as LGPL, even though there is no way to make use of
it as such.

Loki

On Thu, Aug 25, 2011 at 8:24 AM, Simon Urbanek
<simon.urbanek at r-project.org> wrote:
#
On Aug 25, 2011, at 5:40 PM, Lokkju Brennr wrote:

            
Which it is period. As you said yourself, there is no problem with that.
Since R is only one of several implementations of the same API you still have the choice to use it and it's just a matter of the license of the implementation of that API that you use. 

Cheers,
Simon