1

I want to freely distribute a software I developed, very demanded in a specific research and academic field. That's why it's important for me to distribute it freely at least in binary form (easy to installed and ready to be used).

This software uses several third-party libraries, all of them under some kind of open-source license (MIT, BSD, etc.). But this software also includes a distribution of the R software and several packages for R and it's linked to R dll's. I know R and those packages are released under GPL3, so my software should have too. That's no a problem for me to provide my source-code under GPL3.

The problem is: what if some of the third-party libraries I use are released under some open source licence but which is not totally compatible with GPL3?
If that's a problem to distribute my software under GPL3, can I proceed in some way to avoid the problem?

(Replacing the free third-party libraries I use by GPL3-compliant only ones is not an option, many of them are very complex and the only available ones for the needed functionality)

1
  • Can you give a concrete example of such a third-party library? – MadHatter Feb 16 at 10:06
1

what if some of the third-party libraries I use are released under some open source licence but which is not totally compatible with GPL3?

License compatibility is very black-and-white. Either a license is compatible with the GPLv3 or it is not. There is no such thing as "partially compatible".

To give some piece of mind, the MIT and BSD licenses that you mentioned are both compatible with the GPL.

If that's a problem to distribute my software under GPL3, can I proceed in some way to avoid the problem?

If you used some third-party software under a license that is not GPL compatible, then that is indeed a problem to distribute your software under GPL3. There are then only two options to proceed:

  1. Remove the code that is not GPL compatible from your project, possibly replacing it with something that is GPL compatible
  2. Carefully analyze the licenses of all packages/libraries that you believe to be under the GPL to check if they are not actually under a "GPL+exceptions" license or that there is some other way in which your software is not bound to the GPL license.

To give an example for point 2, even if you bundle the R interpreter with your software, that does not automatically make one a derived work of the other. And if they are not derived works, their licenses don't affect each other.

0

I think Free Software Foundation would say codes that will work with R.dll need to follow GPL license when distributing them.

(ref) http://www.gnu.org/licenses/gpl-faq.en.html#GPLStaticVsDynamic

3
  • Sorry, -1 from me; code written in an interpreted language is prima facie neither dynamically or statically linked to the interpreter. The same FAQ you quote elsewhere addresses this specific issue, and holds that as long as you restrict yourself to the base language, and don't try to use library bindings through the interpreter, "The interpreted program, to the interpreter, is just data" and there is no requirement to license it as f it were part of the interpreter. – MadHatter Feb 23 at 7:26
  • @MadHatter In the situation like you mention, I completely agree with you. Program codes written in interpreted language are not restricted by the language's license (in this case GPL). However, the questioner seems to use R.dll and seems to try his program linked to R.dll (via maybe C/C++ or FFI), meaning he seems to create a program based on R. What he is trying to make is not R scripts. – user22122 Feb 27 at 1:36
  • Fair enough. We read the question differently, then, but I take your point, and will remove my downvote. – MadHatter Feb 27 at 6:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.