annotate Sphinx/source/faq/licensing.rst @ 199:3fd71c385391

cla and licensing
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 12 Feb 2019 13:47:20 +0100
parents
children 3931f1a721dc
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
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
14 knowledge about :ref:`DICOM <dicom-guide>`, and to foster scientific
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
15 collaborations in medical imaging by subscribing to the `open-science
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
16 paradigm <https://en.wikipedia.org/wiki/Open_science>`__. To this end,
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
17 Orthanc is provided as free and open-source software to the benefit of
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
18 the worldwide community of medical imaging.
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
19
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
20 In order to support this objective of global knowledge sharing, the
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
21 Orthanc project enforces reciprocity. If someone finds Orthanc useful
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
22 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
23 imaging should gain an advantage from this use by enlarging the
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
24 knowledge base. This virtuous circle guarantees the fact that Orthanc
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
25 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
26 benefit of all stakeholders. Predatory behaviors should be prevented,
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
27 while preserving the freedoms of the users of Orthanc, including for
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
28 commercial uses.
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
29
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
30 According to this philosophy, the University Hospital of Liège decided
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
31 to release the Orthanc ecosystem under the `GPL license
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
32 <https://en.wikipedia.org/wiki/GNU_General_Public_License>`__
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
33 in 2012. The GPL is a strong copyleft license that is recognized
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
34 worldwide, and that is designed to enforce reciprocity.
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
35
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
36 As Orthanc is lightweight and designed for Web applications and for
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
37 sharing medical images over Internet, it has been quickly deployed on
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
38 cloud platforms in order to host large amount of data. Orthanc
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
39 considers this use as very legitimate, for instance for scientific
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
40 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
41 teleradiology platforms in developing countries). Unfortunately, the
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
42 GPL does not protect from predatory commercial behaviors over cloud
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
43 platforms because of the so-called "`ASP loophole
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
44 <https://en.wikipedia.org/wiki/Application_service_provider>`__", that
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
45 does not enforce modified versions of a free and open-source software
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
46 running on a server to be given back to the community.
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
47
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
48 For this reason, the plugins that provide scalability-related or
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
49 cloud-related features (for instance the :ref:`PostgreSQL
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
50 <postgresql>` and :ref:`Web viewer <postgresql>` plugins that are
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
51 necessary for Web applications distributed at a large scale) were
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
52 released under the stronger `AGPL licence
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
53 <https://en.wikipedia.org/wiki/GNU_Affero_General_Public_License>`__.
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
54 This license protects the community of medical imaging by ensuring
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
55 that the features included in Orthanc instances running in remote
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
56 servers are publicly available as well.
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
57
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
58
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
59 Guidelines
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
60 ----------
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
61
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
62 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
63 AGPL licenses, that are wrongly considered as preventing commercial
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
64 uses. This is most often a wrong assumption, given that the Orthanc
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
65 server that is a standalone executable, not a software library.
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
66
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
67 The following table provides a simple summary of the most common
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
68 situations, and indicates whether the use is accepted ("Yes"),
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
69 prevented ("No"), or restricted ("Dual licensing"):
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
70
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
71 +-----------------------------------------------------+--------------------------------------------------------------------------------------------+
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
72 | | Mode of distribution of the caller system or of the third-party plugin/script |
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
73 +-----------------------------------------------------+---------------+-------+--------+--------------+------------------------+-------------------+
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
74 | Usage of the Orthanc ecosystem (callee) | Permissive | GPLv3 | AGPLv3 | Internal use | Proprietary software | Proprietary cloud |
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
75 | | (MIT, BSD...) | | | | distributed to clients | platform |
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
76 +=====================================================+===============+=======+========+==============+========================+===================+
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
77 | 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
78 | plugin is installed | | | | | | |
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
79 +-----------------------------------------------------+---------------+-------+--------+--------------+------------------------+-------------------+
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
80 | Calling Orthanc from a third-party application | Yes | Yes | Yes | Yes | Yes | Yes |
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
81 | (using REST API or DICOM protocol), even if some | | | | | | |
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
82 | AGPL-licensed plugin is installed | | | | | | |
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
83 +-----------------------------------------------------+---------------+-------+--------+--------------+------------------------+-------------------+
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
84 | Creating an Orthanc plugin or a Lua script, that | No | Yes | Yes | Yes | Dual licensing | Yes |
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
85 | is hosted by an Orthanc server where no | | | | | | |
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
86 | AGPL-licensed plugin is installed | | | | | | |
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
87 +-----------------------------------------------------+---------------+-------+--------+--------------+------------------------+-------------------+
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
88 | Creating an Orthanc plugin or a Lua script, that | No | Yes | Yes | Yes | Dual licensing | Dual licensing |
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
89 | is hosted by an Orthanc server where some | | | | | | |
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
90 | AGPL-licensed plugin is installed | | | | | | |
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 | Reusing code from the Orthanc code (GPL) or from | No | Yes | Yes | Yes | Dual licensing | Yes |
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
93 | an official Orthanc plugin that is released under | | | | | | |
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
94 | the GPL license | | | | | | |
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
95 +-----------------------------------------------------+---------------+-------+--------+--------------+------------------------+-------------------+
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
96 | Reusing code from an Orthanc plugin that licensed | No | No | Yes | Yes | Dual licensing | Dual licensing |
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
97 | under the AGPL license | | | | | | |
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
98 +-----------------------------------------------------+---------------+-------+--------+--------------+------------------------+-------------------+
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
99 | Using the :ref:`Stone of Orthanc <stone>` library | No | No | Yes | Yes | Dual licensing | Dual licensing |
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
100 +-----------------------------------------------------+---------------+-------+--------+--------------+------------------------+-------------------+
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 If your use case falls in some "**Dual licensing**" cell, please get
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
103 in touch with `Osimis <http://osimis.io/>`__, the official commercial
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
104 partner of the Orthanc project that is the only entity able to sell a
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
105 `license exception
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
106 <https://www.fsf.org/blogs/rms/selling-exceptions>`__ to your company.
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
107
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
108 Also, if you are dealing with medical applications in Europe, note
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
109 that Osimis sells **CE-approved** versions of a Web viewer plugin.
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
110
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
111
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
112 .. _cla:
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
113
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
114 Contributing to the code of Orthanc
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
115 -----------------------------------
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
116
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
117 Third-party vs. internal code
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
118 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
119
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
120 It is important to make the distinction between third-party code
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
121 and internal code:
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
122
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
123 * **Third-party code** refers to source code that takes advantage of
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
124 Orthanc and/or that extends Orthanc, such as new :ref:`plugins
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
125 <plugins>`, :ref:`Lua scripts <lua>`, or any higher-level
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
126 application that uses the :ref:`REST API <rest>` of Orthanc. This
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
127 code can live outside of the official source repositories of the
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
128 Orthanc ecosystem. The third-party contributors can distribute such
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
129 code on whatever platform they prefer, in a way that is fully
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
130 uncoupled from the Orthanc project, and keep the intellectual
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
131 property of their developments. Such contributors are however kindly
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
132 invited to index their contributions in the `dedicated repository on
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
133 GitHub <https://github.com/jodogne/OrthancContributed>`__.
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
134
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
135 * **Internal code** refers to source code that only makes sense if
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
136 embedded within the Orthanc core or within one of the official
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
137 plugins. This includes new features and bugfixes. The way to
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
138 contribute to the internal code of the Orthanc ecosystem is
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
139 described in the sections below.
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
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
142
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
143 Contributor License Agreement
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
144 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
145
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
146 It is necessary for the Orthanc project to make sure that the internal
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
147 code of Orthanc can be interfaced with proprietary systems, as those
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
148 are still unfortunately everywhere in the healthcare market. This
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
149 forces us to require all the intellectual property over the source
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
150 code of Orthanc to be centralized, with the University Hospital of
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
151 Liège together with the Osimis company acting as the official
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
152 guardians of the whole Orthanc ecosystem. This centralization also
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
153 enables the dual licensing scheme described above, which in turn
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
154 allows Osimis to collect money from the industry in order to fund
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
155 further free and open-source development of the Orthanc ecosystem to
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
156 the benefit of the worldwide community of medical imaging, according
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
157 to a virtuous cycle.
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
158
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
159 As a consequence, before any code can be accepted into the official
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
160 repositories of Orthanc, the individual code contributors must sign a
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
161 `Contributor License Agreement (CLA)
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
162 <https://en.wikipedia.org/wiki/Contributor_License_Agreement>`__. Here
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
163 is the procedure:
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
164
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
165 1. Download the individual CLA (ICLA) form from the `Orthanc homepage
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
166 <https://www.orthanc-server.com/resources/2019-02-12-IndividualContributorLicenseAgreementOrthanc.pdf>`__.
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
167
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
168 2. Print the document, then write down your signed initials on pages 1
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
169 and 2, and sign page 3.
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
170
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
171 3. Return a scanned copy of the document to e-mail ``orthanc-legal@osimis.io``.
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
172
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
173 4. Wait for confirmation from the Osimis company.
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
174
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
175 **Important:** This form is only valid for individual contributors
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
176 acting as physical persons. If your company wishes to become
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
177 contributor, please request a Corporate CLA at the same e-mail
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
178 address: ``orthanc-legal@osimis.io``.
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
179
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
180
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
181 Submitting code
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
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
184 Once the CLA onboarding process has succeeded, use `Mercurial
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
185 <https://en.wikipedia.org/wiki/Mercurial>`__ to fork the official
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
186 repository of interest from BitBucket. Here are the location of those
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
187 repositories:
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
188
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
189 * The `Orthanc server <https://bitbucket.org/sjodogne/orthanc/src>`__.
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
190
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
191 * The `official plugins <https://bitbucket.org/sjodogne/>`__ originating from the University Hospital of Liège.
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
192
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
193 * The `official plugins <https://bitbucket.org/osimis/>`__ originating from Osimis.
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
194
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
195 Once you have finished modifying the code in your forked repository,
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
196 issue a `pull request
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
197 <https://confluence.atlassian.com/bitbucket/tutorial-learn-about-bitbucket-pull-requests-774243385.html>`__.
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
198
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
199 **Some words of warning:**
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
200
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
201 * Please stick to the :ref:`coding style <coding-style>` of Orthanc.
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
202
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
203 * It is your responsibility to make sure that you have the
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
204 intellectual property over all the source code you commit into
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
205 Orthanc.
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
206
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
207 * All the contributions will be carefully reviewed. Some contributions
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
208 may be modified, yet even rejected. A rejection might for instance
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
209 occur if your contribution does not match the Orthanc roadmap, does
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
210 not meet our high-quality code standards, or breaks backward
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
211 compatibility. Please be sure that we warmly welcome contributions,
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
212 but that we are quite strict.
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
213
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
214 * In the case of a doubt wrt. a potential contribution, please discuss
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
215 it on the `Orthanc Users
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
216 <https://groups.google.com/forum/#!forum/orthanc-users>`__
3fd71c385391 cla and licensing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
217 discussion group before starting the actual development.