Basically, title.

This is just me trying to clarify part of the GPL for myself.

Let's say I'm developing a program that compiles and runs on a non-free runtime engine.

I'm perfectly willing to share and license my own source code under the GPL, but I do not have the source, nor the license/copyright to, the runtime engine.

In that case, am I allowed to use a GPL library dynamically in my application?

My current understanding of the GPL says "no", but I'd like to make sure my thinking is accurate on that.

(I say "no" because my program would then depend on non-free components and a GPL library together, and the runtime engine(I believe) would not be covered under the SLE, since it's not something that's included with any OS.)

  • Did you look into the GPL Faq? This topic IMHO covers your question.
    – Doc Brown
    May 11, 2017 at 14:40
  • 1
    Fun fact: Java and C# programs written under the GPL both compile and run on non-free engines. May 11, 2017 at 21:41

1 Answer 1


You're correct that you can't use the "raw" GPL in this way, but you could use the GPL with a linking exception specifying that your code may be linked with the runtime engine. Note that if you do this, you can't link your code with any other GPL code, as you do not have permission to link those libraries with the runtime engine.

Your Answer

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

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