Orthanc Licensing: Is plugin source code required to be disclosed?

Hi guys,

here’s a licensing question. Orthanc is licensed under GPLv3, which means all code linked with GPL 3.0 source code must be disclosed under a GPL 3.0 compatible license [1].
So, the question whether a plugin is automatically forced to be distributed under GPLv3 depends on how the Orthanc core calls the plugin [2].

What’s the maintainer’s stance on this topic? Are plugins legally required to be disclosed? If so, what is the disclosure procedure?

Thanks,
Georg

[1] https://tldrlegal.com/license/gnu-general-public-license-v3-(gpl-3)
[2] https://www.gnu.org/licenses/gpl-faq.en.html#GPLPlugins

Hello,

Yes, a plugin is forced to be distributed under GPLv3 or AGPLv3, as it is a derivative work of Orthanc (it cannot run without its hosting Orthanc server).

From the GPL FAQ: “If the main program dynamically links plug-ins, and they make function calls to each other and share data structures, we believe they form a single combined program, which must be treated as an extension of both the main program and the plug-ins.” [1]

You are free to choose the way of disclosing the code of such a contributed plugin. We nonetheless invite you to index it at the following locations:
https://github.com/jodogne/OrthancContributed

http://book.orthanc-server.com/plugins.html#index-of-the-contributed-plugins

HTH,
Sébastien-

[1] https://www.gnu.org/licenses/gpl-faq.en.html#GPLPlugins

Thanks Sébastien, that’s what I thought. Thanks for clarifying!

Have a nice day!
Georg

I’m still confused. I’ve read this thread here and this thread.

Assume my lua script running on the orthanc server looks like this:

function OnStoredInstance(instanceId, tags, metadata, origin)
  ...
  os.execute("python3 /python/run_inference.py")
  ...
end

where “run_inference.py” is a python script that can run outside of orthanc which performs some neural network computation on a dicom input file and outputs a dicom file.

Do I need to disclose the content of “run_inference.py” according to the license?

Hi @CoelnerOrthancUser

In my understanding, since your python script runs in another process and does not use Orthanc source code, it is not affected by the license and you don’t have to disclose it.

Best regards,

Alain.

1 Like