annotate Sphinx/source/faq/licensing.rst @ 1032:6814e5adb789

end of dual licensing and cla
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 02 Feb 2024 16:37:39 +0100
parents 5d4701d8fe28
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
199
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1 .. _licensing:
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
2
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
3
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
4 Licensing of the Orthanc ecosystem
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
5 ==================================
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
6
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
7 .. contents::
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
8
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
9
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
10 Philosophy
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
11 ----------
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
12
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
13 The objectives of the Orthanc ecosystem is to share technical
201
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 200
diff changeset
14 knowledge about :ref:`DICOM <dicom-guide>`, to build a consistent
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 200
diff changeset
15 platform for developing medical imaging software, and to foster
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 200
diff changeset
16 scientific collaborations in medical imaging by subscribing to the
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 200
diff changeset
17 `open-science paradigm
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 200
diff changeset
18 <https://en.wikipedia.org/wiki/Open_science>`__. To this end, Orthanc
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 200
diff changeset
19 is provided as free and open-source software to the benefit of the
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 200
diff changeset
20 worldwide community of medical imaging.
199
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
21
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
22 In order to support this objective of global knowledge sharing, the
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
23 Orthanc project enforces reciprocity. If someone finds Orthanc useful
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
24 to her academic work or to her business, the community of medical
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
25 imaging should gain an advantage from this use by enlarging the
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
26 knowledge base. This virtuous circle guarantees the fact that Orthanc
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
27 will be developed in a sustainable way in the long-term, to the
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
28 benefit of all stakeholders. Predatory behaviors should be prevented,
201
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 200
diff changeset
29 while preserving the freedoms of the users of Orthanc, including the
199
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
30 commercial uses.
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
31
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
32 According to this philosophy, the University Hospital of Liège decided
201
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 200
diff changeset
33 to release the Orthanc ecosystem under the `GPLv3+ license
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 200
diff changeset
34 <https://www.gnu.org/licenses/gpl-3.0.en.html>`__ in 2012. The GPL is
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 200
diff changeset
35 a strong copyleft license that is recognized worldwide, and that is
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 200
diff changeset
36 designed to enforce reciprocity.
199
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
37
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
38 As Orthanc is lightweight and designed for Web applications and for
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
39 sharing medical images over Internet, it has been quickly deployed on
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
40 cloud platforms in order to host large amount of data. Orthanc
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
41 considers this use as very legitimate, for instance for scientific
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
42 purpose (think of open-data databases) or for societal needs (think of
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
43 teleradiology platforms in developing countries). Unfortunately, the
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
44 GPL does not protect from predatory commercial behaviors over cloud
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
45 platforms because of the so-called "`ASP loophole
201
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 200
diff changeset
46 <https://en.wikipedia.org/wiki/GNU_Affero_General_Public_License>`__",
525
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 524
diff changeset
47 that does not enforce derived versions of a free and open-source
201
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 200
diff changeset
48 software running on a server to be given back to the community.
199
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
49
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
50 For this reason, the plugins that provide scalability-related or
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
51 cloud-related features (for instance the :ref:`PostgreSQL
201
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 200
diff changeset
52 <postgresql>` and :ref:`Web viewer <webviewer>` plugins that are
199
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
53 necessary for Web applications distributed at a large scale) were
1032
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
54 released under the stronger `AGPLv3+ license
201
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 200
diff changeset
55 <https://www.gnu.org/licenses/why-affero-gpl.en.html>`__.
199
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
56 This license protects the community of medical imaging by ensuring
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
57 that the features included in Orthanc instances running in remote
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
58 servers are publicly available as well.
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
59
1032
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
60 The intellectual property over the source code of the Orthanc project
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
61 is now shared by the following entities:
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
62
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
63 * `University Hospital of Liège
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
64 <https://fr.wikipedia.org/wiki/Centre_hospitalier_universitaire_de_Li%C3%A8ge>`__,
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
65 from 2012 to 2016.
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
66
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
67 * Osimis S.A. that has unfortunately `ceased to exist
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
68 <https://www.lalibre.be/economie/entreprises-startup/2024/01/30/faute-davoir-pu-se-refinancer-la-medtech-liegeoise-osimis-doit-deposer-le-bilan-UKTOFGACL5GF7APVB5OZUCYCQM/>`__
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
69 at the end of January 2024, from 2017 to 2024.
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
70
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
71 * `Orthanc Team SRL <http://orthanc.team/>`__, starting 2024.
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
72
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
73 * `UCLouvain university <https://orthanc.uclouvain.be/>`__,
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
74 starting 2021. UCLouvain contributions since September 1st, 2021 are
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
75 100% owned by UCLouvain and made available to the benefit of the
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
76 free and open-source community. No dual licensing is possible on
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
77 those contributions.
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
78
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
79 Together, these entities act as the official guardians of the whole
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
80 Orthanc ecosystem. New intellectual property is currently added by the
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
81 following entities:
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
82
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
83 * `Orthanc Team SRL <http://orthanc.team/>`__.
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
84
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
85 * `UCLouvain university <https://orthanc.uclouvain.be/>`__.
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
86
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
87 * Various individual contributors.
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
88
199
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
89
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
90 Guidelines
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
91 ----------
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
92
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
93 Over the years, it was observed that people fear the use of GPL and
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
94 AGPL licenses, that are wrongly considered as preventing commercial
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
95 uses. This is most often a wrong assumption, given that the Orthanc
200
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 199
diff changeset
96 server is a standalone executable, not a software library.
199
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
97
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
98 The following table provides a simple summary of the most common
523
0e2427a99551 clarification
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 519
diff changeset
99 situations, and indicates whether the use is **accepted ("Yes"),
1032
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
100 forbidden ("No"), or restricted**:
199
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
101
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
102 +-----------------------------------------------------+--------------------------------------------------------------------------------------------+
201
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 200
diff changeset
103 | | Mode of distribution of the third-party system, or of the third-party plugin/script |
199
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
104 +-----------------------------------------------------+---------------+-------+--------+--------------+------------------------+-------------------+
201
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 200
diff changeset
105 | Usage of the Orthanc ecosystem | Permissive | GPLv3 | AGPLv3 | Internal use | Proprietary software | Proprietary cloud |
353
0122c668f4ec python licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 204
diff changeset
106 | | (MIT, BSD, | | | | distributed to clients | platform or Web |
0122c668f4ec python licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 204
diff changeset
107 | | Apache...) | | | | | portal |
199
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
108 +=====================================================+===============+=======+========+==============+========================+===================+
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
109 | Using Orthanc as such, even if some AGPL-licensed | N/A | N/A | N/A | Yes | Yes | Yes |
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
110 | plugin is installed | | | | | | |
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
111 +-----------------------------------------------------+---------------+-------+--------+--------------+------------------------+-------------------+
533
610e6be26a71 some clarification about dual licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 525
diff changeset
112 | Calling Orthanc from a third-party system | Yes | Yes | Yes | Yes | Yes | Yes |
199
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
113 | (using REST API or DICOM protocol), even if some | | | | | | |
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
114 | AGPL-licensed plugin is installed | | | | | | |
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
115 +-----------------------------------------------------+---------------+-------+--------+--------------+------------------------+-------------------+
533
610e6be26a71 some clarification about dual licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 525
diff changeset
116 | Creating a :ref:`C/C++ plugin <plugins>`, | | | | | | |
999
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 991
diff changeset
117 | creating a :ref:`Lua script <lua>`, | | | | | | |
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 991
diff changeset
118 | creating a :ref:`Python plugin <python-plugin>`, or | | | | | | |
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 991
diff changeset
119 | creating a :ref:`Java plugin <java-plugin>`. | | | | | | |
533
610e6be26a71 some clarification about dual licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 525
diff changeset
120 | 2 possible cases: | | | | | | |
610e6be26a71 some clarification about dual licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 525
diff changeset
121 +----+------------------------------------------------+---------------+-------+--------+--------------+------------------------+-------------------+
1032
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
122 | | Case 1: No AGPL-licensed plugin is in use | No | Yes | Yes | Yes | Restricted | Yes |
533
610e6be26a71 some clarification about dual licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 525
diff changeset
123 +----+------------------------------------------------+---------------+-------+--------+--------------+------------------------+-------------------+
1032
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
124 | | Case 2: Some AGPL-licensed plugin is in use | No | Yes | Yes | Yes | Restricted | Restricted |
533
610e6be26a71 some clarification about dual licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 525
diff changeset
125 +----+------------------------------------------------+---------------+-------+--------+--------------+------------------------+-------------------+
1032
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
126 | Using a derived version of the GPL-licensed | No | Yes | Yes | Yes | Restricted | Yes |
525
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 524
diff changeset
127 | code of Orthanc, or using a derived version of | | | | | | |
202
1e9cb6e1afb0 rephrasing
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 201
diff changeset
128 | some GPL-licensed plugin, or reusing their original | | | | | | |
1e9cb6e1afb0 rephrasing
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 201
diff changeset
129 | code in a third-party system | | | | | | |
199
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
130 +-----------------------------------------------------+---------------+-------+--------+--------------+------------------------+-------------------+
1032
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
131 | Using a derived version of some AGPL-licensed | No | No | Yes | Yes | Restricted | Restricted |
202
1e9cb6e1afb0 rephrasing
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 201
diff changeset
132 | plugin, or reusing its original code in a | | | | | | |
1e9cb6e1afb0 rephrasing
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 201
diff changeset
133 | third-party system | | | | | | |
199
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
134 +-----------------------------------------------------+---------------+-------+--------+--------------+------------------------+-------------------+
1032
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
135 | **For viewers**: Using a derived version of the | No | No | Yes | Yes | Restricted | Restricted |
524
39fef223dca0 clarification
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 523
diff changeset
136 | :ref:`Orthanc Web Viewer <webviewer>`, of the | | | | | | |
525
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 524
diff changeset
137 | :ref:`Osimis Web Viewer <osimis_webviewer>`, of the | | | | | | |
523
0e2427a99551 clarification
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 519
diff changeset
138 | :ref:`Stone Web Viewer <stone>`, or of the sample | | | | | | |
0e2427a99551 clarification
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 519
diff changeset
139 | applications of Stone of Orthanc (AGPL license) | | | | | | |
199
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
140 +-----------------------------------------------------+---------------+-------+--------+--------------+------------------------+-------------------+
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
141
533
610e6be26a71 some clarification about dual licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 525
diff changeset
142
201
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 200
diff changeset
143 **Notes:**
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 200
diff changeset
144
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 200
diff changeset
145 * The wording "third-party system" is very broad, as it encompasses
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 200
diff changeset
146 many possibilities. It can for instance be a Web application, a
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 200
diff changeset
147 heavyweight desktop application, an automated script, or more
202
1e9cb6e1afb0 rephrasing
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 201
diff changeset
148 generally any system that takes advantage of Orthanc as a service in
1e9cb6e1afb0 rephrasing
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 201
diff changeset
149 its global architecture.
201
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 200
diff changeset
150
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 200
diff changeset
151 * If you reuse code from Orthanc or one of its associated plugins, you
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 200
diff changeset
152 must mention the copyright of the Orthanc project.
199
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
153
201
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 200
diff changeset
154 * An Orthanc plugin cannot be licensed under a permissive license
203
b79ef7808f16 note about plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 202
diff changeset
155 (MIT, BSD, Apache...) because it cannot run independently of the
b79ef7808f16 note about plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 202
diff changeset
156 Orthanc SDK, which implies that the plugin and the Orthanc core form
b79ef7808f16 note about plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 202
diff changeset
157 a single combined program, which in turn means that the plugin
b79ef7808f16 note about plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 202
diff changeset
158 should be licensed under GPLv3 by `copyleft
b79ef7808f16 note about plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 202
diff changeset
159 <https://en.wikipedia.org/wiki/Copyleft>`__ contamination. Check out
b79ef7808f16 note about plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 202
diff changeset
160 the `license compatibility matrix on Wikipedia
201
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 200
diff changeset
161 <https://en.wikipedia.org/wiki/License_compatibility#Compatibility_of_FOSS_licenses>`__.
203
b79ef7808f16 note about plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 202
diff changeset
162 Here is the corresponding entry about this topic in the `GPL FAQ
b79ef7808f16 note about plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 202
diff changeset
163 <https://www.gnu.org/licenses/gpl-faq.en.html#GPLPlugins>`__: *"If
b79ef7808f16 note about plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 202
diff changeset
164 the main program dynamically links plug-ins, and they make function
b79ef7808f16 note about plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 202
diff changeset
165 calls to each other and share data structures, we believe they form
b79ef7808f16 note about plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 202
diff changeset
166 a single combined program, which must be treated as an extension of
b79ef7808f16 note about plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 202
diff changeset
167 both the main program and the plug-ins. [...] If the main program
b79ef7808f16 note about plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 202
diff changeset
168 and the plugins are a single combined program then this means you
b79ef7808f16 note about plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 202
diff changeset
169 must license the plug-in under the GPL or a GPL-compatible free
b79ef7808f16 note about plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 202
diff changeset
170 software license and distribute it with source code in a
b79ef7808f16 note about plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 202
diff changeset
171 GPL-compliant way."*
201
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 200
diff changeset
172
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 200
diff changeset
173 * You are kindly invited to cite the `reference paper about Orthanc
358
011b01ccf52d fixing external hyperlinks
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 353
diff changeset
174 <https://link.springer.com/article/10.1007/s10278-018-0082-y>`__
201
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 200
diff changeset
175 in your scientific work.
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 200
diff changeset
176
202
1e9cb6e1afb0 rephrasing
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 201
diff changeset
177 * This is our own simplified, technical interpretation of the GPLv3+
1e9cb6e1afb0 rephrasing
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 201
diff changeset
178 and AGPLv3+ in the very specific context of Orthanc. It is not
1e9cb6e1afb0 rephrasing
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 201
diff changeset
179 intended to be a complete guide to copyleft licensing. Please get in
1e9cb6e1afb0 rephrasing
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 201
diff changeset
180 touch with the `Free Software Foundation <https://www.fsf.org/>`__
1e9cb6e1afb0 rephrasing
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 201
diff changeset
181 for more legal information.
199
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
182
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
183
1032
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
184
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
185 Restricted uses
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
186 ---------------
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
187
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
188 If your use case falls in a "**Restricted**" cell, this means that
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
189 your third-party system **must change its license to GPLv3** (or
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
190 AGPLv3 if some AGPL-licensed plugin is in use).
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
191
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
192 In the past, it has been possible to buy dual licenses from the Osimis
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
193 company, that was the only entity entitled to grant a `license
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
194 exception <https://www.fsf.org/blogs/rms/selling-exceptions>`__ to
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
195 your company for the Orthanc core and its :ref:`associated official
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
196 plugins <plugins-official>`. Nowadays, **dual licensing is no longer
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
197 available and never will be again** on any version of Orthanc that
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
198 ships code owned by UCLouvain.
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
199
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
200 In particular, the latest version of the Orthanc server that could be
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
201 eligible for dual licensing is Orthanc 1.9.7 that `was released on
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
202 2021-08-31
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
203 <https://orthanc.uclouvain.be/hg/orthanc/file/default/NEWS>`__. All
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
204 the subsequent releases of Orthanc contain code owned by UCLouvain.
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
205
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
206
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
207
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
208
199
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
209 .. _cla:
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
210
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
211 Contributing to the code of Orthanc
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
212 -----------------------------------
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
213
202
1e9cb6e1afb0 rephrasing
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 201
diff changeset
214 Contributed vs. internal code
199
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
215 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
216
202
1e9cb6e1afb0 rephrasing
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 201
diff changeset
217 It is important to make the distinction between contributed code and
1e9cb6e1afb0 rephrasing
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 201
diff changeset
218 internal code:
199
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
219
202
1e9cb6e1afb0 rephrasing
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 201
diff changeset
220 * **Contributed code** refers to source code that takes advantage of
199
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
221 Orthanc and/or that extends Orthanc, such as new :ref:`plugins
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
222 <plugins>`, :ref:`Lua scripts <lua>`, or any higher-level
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
223 application that uses the :ref:`REST API <rest>` of Orthanc. This
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
224 code can live outside of the official source repositories of the
202
1e9cb6e1afb0 rephrasing
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 201
diff changeset
225 Orthanc ecosystem. External contributors can distribute such
1e9cb6e1afb0 rephrasing
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 201
diff changeset
226 contributed code on whatever platform they prefer, in a way that is
1e9cb6e1afb0 rephrasing
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 201
diff changeset
227 fully uncoupled from the Orthanc project, and keep the intellectual
199
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
228 property of their developments. Such contributors are however kindly
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
229 invited to index their contributions in the `dedicated repository on
203
b79ef7808f16 note about plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 202
diff changeset
230 GitHub <https://github.com/jodogne/OrthancContributed>`__, and
b79ef7808f16 note about plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 202
diff changeset
231 contributed plugins should also be indexed in the :ref:`Orthanc Book
b79ef7808f16 note about plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 202
diff changeset
232 <plugins-contributed>`.
199
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
233
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
234 * **Internal code** refers to source code that only makes sense if
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
235 embedded within the Orthanc core or within one of the official
1032
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
236 plugins. This includes new features and bug fixes. The way to
199
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
237 contribute to the internal code of the Orthanc ecosystem is
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
238 described in the sections below.
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
239
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
240
204
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 203
diff changeset
241 **Important:** You should always favor the :ref:`creation of a new
1032
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
242 plugin <creating-plugins>` over modifications to the internal code of
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
243 the Orthanc ecosystem if your intellectual property is of importance
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
244 to you.
204
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 203
diff changeset
245
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 203
diff changeset
246
199
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
247
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
248 Contributor License Agreement
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
249 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
250
1032
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
251 Until the end of January 2024, before any code could be accepted into
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
252 the official repositories of Orthanc, the individual code contributors
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
253 had to sign a `Contributor License Agreement (CLA)
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
254 <https://en.wikipedia.org/wiki/Contributor_License_Agreement>`__ to
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
255 transfer their intellectual property to the Osimis company.
199
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
256
1032
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
257 Starting February 2024, **no contributor license agreement** is needed
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
258 to submit code to the Orthanc project anymore.
199
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
259
361
84e3a2612c36 links to hg
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 360
diff changeset
260 .. _submitting_code:
84e3a2612c36 links to hg
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 360
diff changeset
261
199
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
262 Submitting code
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
263 ^^^^^^^^^^^^^^^
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
264
1032
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
265 To submit code to the Orthanc project, use `Mercurial
199
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
266 <https://en.wikipedia.org/wiki/Mercurial>`__ to fork the official
445
987fbbc2b59e leaving bitbucket wrt. bug tracker
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 361
diff changeset
267 repository of interest. All the repositories are centralized on our
991
1316bc62b5d5 migration to UCLouvain servers
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 984
diff changeset
268 `self-hosted Mercurial server <https://orthanc.uclouvain.be/hg/>`__.
199
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
269
361
84e3a2612c36 links to hg
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 360
diff changeset
270 A :ref:`dedicated page <repositories>` explains how to submit
84e3a2612c36 links to hg
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 360
diff changeset
271 :ref:`simple patches <hg-patch>` or :ref:`full branches <hg-bundle>`.
199
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
272
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
273 **Some words of warning:**
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
274
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
275 * It is your responsibility to make sure that you have the
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
276 intellectual property over all the source code you commit into
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
277 Orthanc.
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
278
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
279 * In the case of a doubt wrt. a potential contribution, please discuss
984
46e2941b57dd replace link to google users group by link to discourse
Alain Mazy <am@osimis.io>
parents: 844
diff changeset
280 it on the `Orthanc Users discussion forum
1032
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
281 <https://discourse.orthanc-server.org>`__ discussion group before
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
282 starting the actual development.
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
283
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
284 * The Orthanc project follows :ref:`high standards of quality
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
285 <code_quality>`. Beware that your contributions will be rejected if
6814e5adb789 end of dual licensing and cla
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
286 they do not meet our standards.