6

I am working on a plugin (in lua) for a proprietary program, but would like to make my plugin open source, and require that anyone making derivative works/plugins also do so. This seems like a good case for GPL, but I am unclear if this is valid with a non-free program being effectively dynamically linked which I understand normally means all parts must be GPL. But it also seems like say web-page JavaScript in a proprietary browser sandbox which is OK.

The program itself is not mine, and I do not intend for the two to ever be distributed together.

3
  • 2
    MadHatter's answer below is correct. However, you could also license your plugin under the GPL with a special exception that allows it to be distributed in combination with the proprietary system as well. The GNU Project has a template for doing so: gnu.org/licenses/gpl-faq.en.html#GPLIncompatibleLibs (This assumes GPL software using an incompatible library, but it applies equally to a GPL plugin within a GPL-incompatible system.)
    – apsillers
    Feb 28, 2019 at 17:21
  • 1
    That is true, but doesn't adding an exception make the licence effectively distinct from all other GPL licences? Meaning for example some code with the exception can't use code without the exception or vice versa Feb 28, 2019 at 17:35
  • 2
    @FireLancer Exactly, a GPL+exception project cannot use plain-GPL code. However, plain-GPL projects can use GPL+exception code, since the exception can simply be removed. An example of GPL+exception is the LGPLv3.
    – amon
    Feb 28, 2019 at 17:59

1 Answer 1

5

The GPL's principal obligations, those governing source distribution and GPL-covers-all, apply only when the program is itself distributed, rather than used. As long as neither you nor anyone else distributes the program and the plugin together, there will be no GPL violations occasioned; certainly not by those choosing to obtain the parts separately and run them together.

It is good of you to want to GPL your plugin, and you shouldn't feel discouraged from so doing.

Your Answer

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

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