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
Licensing Issue with JRI
4 messages · Lokkju Brennr, Simon Urbanek
5 days later
On Aug 19, 2011, at 10:26 PM, Lokkju Brennr wrote:
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.
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 19, 2011, at 10:26 PM, Lokkju Brennr wrote:
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.
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
On Aug 25, 2011, at 5:40 PM, Lokkju Brennr wrote:
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,
Which it is period. As you said yourself, there is no problem with that.
even though there is no way to make use of it as such.
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
On Thu, Aug 25, 2011 at 8:24 AM, Simon Urbanek <simon.urbanek at r-project.org> wrote:
On Aug 19, 2011, at 10:26 PM, Lokkju Brennr wrote:
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.
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