changeset 353:0122c668f4ec

python licensing
author Sebastien Jodogne <s.jodogne@gmail.com>
date Sat, 28 Mar 2020 14:46:03 +0100
parents 6258b2c14e56
children 1ba75bac55fd
files Sphinx/source/faq/licensing.rst Sphinx/source/plugins/python.rst
diffstat 2 files changed, 26 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/Sphinx/source/faq/licensing.rst	Sat Mar 28 14:29:06 2020 +0100
+++ b/Sphinx/source/faq/licensing.rst	Sat Mar 28 14:46:03 2020 +0100
@@ -68,14 +68,14 @@
 
 The following table provides a simple summary of the most common
 situations, and indicates whether the use is accepted ("Yes"),
-prevented ("No"), or restricted ("Dual licensing"):
+forbidden ("No"), or restricted ("Dual licensing"):
 
 +-----------------------------------------------------+--------------------------------------------------------------------------------------------+
 |                                                     | Mode of distribution of the third-party system, or of the third-party plugin/script        |
 +-----------------------------------------------------+---------------+-------+--------+--------------+------------------------+-------------------+
 | Usage of the Orthanc ecosystem                      | Permissive    | GPLv3 | AGPLv3 | Internal use | Proprietary software   | Proprietary cloud |
-|                                                     | (MIT, BSD,    |       |        |              | distributed to clients | platform          |
-|                                                     | Apache...)    |       |        |              |                        |                   |
+|                                                     | (MIT, BSD,    |       |        |              | distributed to clients | platform or Web   |
+|                                                     | Apache...)    |       |        |              |                        | portal            |
 +=====================================================+===============+=======+========+==============+========================+===================+
 | Using Orthanc as such, even if some AGPL-licensed   | N/A           | N/A   | N/A    | Yes          | Yes                    | Yes               |
 | plugin is installed                                 |               |       |        |              |                        |                   |
@@ -92,6 +92,8 @@
 | is hosted by an Orthanc server where some           |               |       |        |              |                        |                   |
 | AGPL-licensed plugin is installed                   |               |       |        |              |                        |                   |
 +-----------------------------------------------------+---------------+-------+--------+--------------+------------------------+-------------------+
+| Creating a :ref:`Python script <python>`            | No            | No    | Yes    | Yes          | Dual licensing         | Dual licensing    |
++-----------------------------------------------------+---------------+-------+--------+--------------+------------------------+-------------------+
 | Using a modified version of the GPL-licensed        | No            | Yes   | Yes    | Yes          | Dual licensing         | Yes               |
 | code of Orthanc, or using a modified version of     |               |       |        |              |                        |                   |
 | some GPL-licensed plugin, or reusing their original |               |       |        |              |                        |                   |
--- a/Sphinx/source/plugins/python.rst	Sat Mar 28 14:29:06 2020 +0100
+++ b/Sphinx/source/plugins/python.rst	Sat Mar 28 14:46:03 2020 +0100
@@ -18,6 +18,24 @@
 front-end.  The coverage of the C SDK is about 75% (105 functions are
 automatically wrapped in Python out of a total of 139 functions in C).
 
+Licensing
+---------
+
+Pay attention to the fact that this plugin is licensed under the terms
+of the `AGPL license
+<https://en.wikipedia.org/wiki/GNU_Affero_General_Public_License>`__.
+
+This has an important consequence: If you distribute Orthanc to
+clients together with one Python script, or if you make an Orthanc
+server equiped with one Python script available on a Web portal, you
+**must** disclose the source code of your Python script to the Orthanc
+community under the terms of the AGPL license. We suggest you to put
+your code on the `dedicated "OrthancContributed" repository on GitHub
+<https://github.com/jodogne/OrthancContributed/tree/master/Plugins>`__.
+
+Check out the :ref:`FAQ about licensing <licensing>` for more context.
+
+
 
 Samples
 -------
@@ -258,7 +276,9 @@
 <https://en.wikipedia.org/wiki/Global_interpreter_lock>`__. The GIL is
 basically a mutex that protects all the calls to the Python
 interpreter. If multiple C++ threads from Orthanc call a Python
-callback, only one can proceed at any given time.
+callback, only one can proceed at any given time. Note however that
+the GIL only applies to the Python script: The baseline REST API of
+Orthanc is not affected by the GIL.
 
 .. highlight:: python