Say, I have a game engine which is meant to be an executable, not a library (i.e. it has its' own main() and has the top-level control. It calls on other libraries but cannot be used as a dynamic library).

Does it make sense to license it under the LGPL? My reasoning for this is that I want the core of the engine to be open source, but to permit using a proprietary "helper" library which is called on by the engine.

One use case I see for this: Say the engine is used for a Steam game which makes use of Steam's API. Then the API calls to the dynamic library can be put in the engine source and released. However, the actual library would remain closed sourced and proprietary.

Does this use-case of the LGPL make sense? I am clarifying because everywhere I see that the LGPL is sometimes referred to as "library GPL" and is basically used for libraries that are called by applications, not the other way around.

1 Answer 1


First, a quick bit of history: the first version of the LGPL, version 2 was released in 1991 and called the "Library General Public License". This underwent minor revisions and in 1999 was released as the "Lesser General Public License", version 2.1. This change was to indicate the FSF's view that the LGPL should not necessarily be used for every library.

With that out of the way, the LGPL contains at least one clause which may cause your use cases problems:

You may convey a Combined Work under terms of your choice that, taken together, effectively do not restrict modification of the portions of the Library contained in the Combined Work and reverse engineering for debugging such modifications

i.e. the terms of anything which is linked with LGPL code must allow all the code to be reverse engineered. I suspect the license under which the Steam code is released does not allow it to be reverse engineered at all.

So what's the solution to your problem? I suspect you want the to use the "full" GPL with a linking exception, a special permission added to the GPL which allows it to be linked with other code without the GPL going "viral" into that code.

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.