1
2CONTRIBUTING
3============
4
5INBOUND LICENSE
6---------------
7
8Contributions are governed by the license that applies to relevant
9specific file or by the license specified in the COPYING file, that
10governs the license of its containing directory and its subdirectories.
11
12Most of the Xen Project code is licensed under GPLv2, but a number of
13directories are primarily licensed under different licenses.
14
15Most notably:
16 - tools/libs         : LGPL v2.1
17 - tools/libxc        : LGPL v2.1
18 - tools/libxl        : LGPL v2.1
19 - tools/xl           : LGPL v2.1
20 - xen/include/public : MIT license
21
22See LICENSES/ for a list of licenses and SPDX tags currently used.
23
24When creating new components, new files, or importing code please follow
25the conventions outlined below. As a general rule, whenever code using a
26license other than GPLv2 is introduced, attention must be drawn to the
27difference, such that maintainers can make an informed decision about the
28deviation. Any new code must be GPLv2 compatible.
29
30New components
31--------------
32
33When creating new components and directories that contain a
34significant amount of files that are licensed under licenses other
35than GPLv2 or the license specified in the COPYING file, please
36create a new COPYING file in that directory containing the SPDX tag
37and a rationale for using a different license. This helps ensure that
38the license of this new component/directory is maintained consistently
39with the original intention.
40
41New files
42---------
43
44New files should start with a single-line SPDX comment to express the
45license. For instance, if the file is GPLv2, the comment would look
46like:
47
48/* SPDX-License-Identifier... */
49
50The recommended license of a directory will depend on the COPYING file.
51If the new file is using a different license, this should be highlighted
52and discussed in the commit message or cover letter introducing the
53file.
54
55See LICENSES/ for a list of licenses and SPDX tags currently used.
56
57Importing code
58--------------
59
60When importing code from other upstream projects into this repository,
61please create a README.source file in the directory the code is imported
62to, listing the original source of the code. An example can be found at
63m4/README.source
64
65Developer's Certificate of Origin
66---------------------------------
67
68All patches to the Xen Project code base must include the line
69"Signed-off-by: your_name <your_email>" at the end of the change
70description. This is required and indicates that you certify the patch
71under the "Developer's Certificate of Origin" which states:
72
73  Developer's Certificate of Origin 1.1
74
75  By making a contribution to this project, I certify that:
76
77  (a) The contribution was created in whole or in part by me and I
78      have the right to submit it under the open source license
79      indicated in the file; or
80
81  (b) The contribution is based upon previous work that, to the best
82      of my knowledge, is covered under an appropriate open source
83      license and I have the right under that license to submit that
84      work with modifications, whether created in whole or in part
85      by me, under the same open source license (unless I am
86      permitted to submit under a different license), as indicated
87      in the file; or
88
89  (c) The contribution was provided directly to me by some other
90      person who certified (a), (b) or (c) and I have not modified
91      it.
92
93  (d) I understand and agree that this project and the contribution
94      are public and that a record of the contribution (including all
95      personal information I submit with it, including my sign-off) is
96      maintained indefinitely and may be redistributed consistent with
97      this project or the open source license(s) involved.
98
99GOVERNANCE AND WORKFLOW
100-----------------------
101
102The following documents provide a general overview of governance and
103contribution guidelines for the Xen Project:
104 - https://xenproject.org/governance.html
105 - https://xenproject.org/help/contribution-guidelines.html
106
107For more information on contributing to this repository, see
108 - CODING_STYLE file in this directory
109 - https://wiki.xenproject.org/wiki/Submitting_Xen_Project_Patches
110 - https://wiki.xenproject.org/wiki/Submitting_Xen_Patches_with_Git
111 - https://wiki.xenproject.org/wiki/Asking_Developer_Questions
112 - https://wiki.xenproject.org/wiki/Category:Developers
113
114
115