I found a software package (R library on CRAN) distributed under GPL license, which makes use of Java classes. The classes are distributed, but for the sources, a README states: "for access to the java source of .class files, contact XXX". The same author apparently developed both, so that it's not just a modified version of some GPL Java library.

I would like to know if it's possible to distribute part of a software package with a non-free license, while the package is itself under GPL. I have not yet contacted the author, and the Java sources might be under GPL too, but it looks smelly: if they are, why not disrtibute them with the package? I would like to clarify what is permitted by the license first.

Link to the R package on CRAN

  • I suggest you first clarify the basic information (the open points you mentioned in your question). You might include the thought if the code without provided source is a 'module' in line with this Q&A gnu.org/licenses/gpl-faq.html#GPLModuleLicense , and then you might also want to consider this: gnu.org/licenses/gpl-faq.html#FSWithNFLibs Commented Dec 1, 2022 at 10:50
  • @Martin_in_AUT The Java classes are part of the R package : the .class files are distributed with the sources, and the R functions rely on these Java classes through rJava (R - Java link). As I understand it, it's not a submodule, but a core part of the package.
    – user18966
    Commented Dec 1, 2022 at 11:18
  • Note that the developer itself is technically allowed to violate its own license. See also: gnu.org/licenses/gpl-faq.html#DeveloperViolate
    – Brandin
    Commented Dec 1, 2022 at 13:30
  • @Brandin Thanks, that's exactly the kind of information I was looking for, but I wasn't able to find it in the faq. But then, since the packge is partially closed-source, what happens if someone want to redistribute a modification (on the R part, obviously), since part of the package will still be closed source ?
    – user18966
    Commented Dec 1, 2022 at 13:54
  • And what happens if the package is used with other GPL packages (there are answers on OS.SE stating that using a package means the code has to be GPL too, for instance this). Moreover, glmulti depends on leaps, which is also GPL. Looks like a can of worms.
    – user18966
    Commented Dec 1, 2022 at 13:54


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.