My plugin dll depends on the presence of Microsoft Excel on a client computer. Excel is not part of the OS. The dependency is a 2 way transfer of data, the dll I created only works if run from inside Excel.

The code of my application is all open source. Other than the dependency on Excel, there is a dependency on another package. There are 2 (3) Scenarios I'm wondering about:

  • Scenario 1: If the non-Excel dependency is GPL, then my plugin must be GPL also, meaning I have to distribute source code of all my dependencies (except kernel/operating system stuff) - which I don't have for Excel. Does this mean I cannot reference the GPL package as my project cannot adhere to the license terms?
  • Scenario 2: I remove the second dependency and only depend on Excel. I want to make my plugin LGPL so other people can build it into their code. Again, can I choose to make my code LGPL if it depends on something closed source; how could someone who derives a new plugin from my one (inheriting the LGPL license) disclose the full source of their transitive dependency to Excel?
    • Scenario 2b: I depend on Excel + derived code from an LGPL library, forcing me to inherit LGPL or GPL. I choose LGPL but can I adhere to that without Excel source code? Is this back to Scenario 1?

My end goal; license the plugin with a weak copyleft license like LGPLv3 or Mozilla License 2.0. Ideally allow me to derive code from another weak copyleft starting point (I have been gifted some code under GPL I may be able to negotiate it to LGPL)



Your Answer

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

Browse other questions tagged or ask your own question.