]>
Commit | Line | Data |
---|---|---|
fd0bef1e ДП |
1 | Contributing to this project |
2 | ---------------------------- | |
752c0602 | 3 | |
4 | This project accepts contributions. In order to contribute, you should | |
5 | pay attention to a few things: | |
6 | ||
7 | 1 - your code must follow the coding style rules | |
154f6474 | 8 | 2 - the format of the submission must be GitHub pull requests |
752c0602 | 9 | 3 - your work must be signed |
10 | ||
11 | ||
12 | Coding Style: | |
13 | ------------- | |
14 | ||
54df5d72 TH |
15 | The LXC project generally follows the Linux kernel coding style. However there |
16 | are a few differences, these are outlined it CODING_STLYE.md | |
752c0602 | 17 | |
82778d41 TH |
18 | The Linux kernel coding style guide can be found within the kernel tree: |
19 | ||
20 | Documentation/process/coding-style.rst | |
752c0602 | 21 | |
e81c7f2c | 22 | It can be accessed online too: |
752c0602 | 23 | |
b6fbcbbb | 24 | https://www.kernel.org/doc/html/latest/process/coding-style.html |
752c0602 | 25 | |
26 | Submitting Modifications: | |
27 | ------------------------- | |
28 | ||
154f6474 | 29 | The contributions must be GitHub pull requests. |
188e0ab6 SG |
30 | |
31 | Licensing for new files: | |
32 | ------------------------ | |
33 | ||
34 | LXC is made of files shipped under a few different licenses. | |
35 | ||
36 | Anything that ends up being part of the LXC library needs to be released | |
37 | under LGPLv2.1+ or a license compatible with it (though the latter will | |
38 | only be accepted for cases where the code originated elsewhere and was | |
39 | imported into LXC). | |
40 | ||
41 | Language bindings for the libraries need to be released under LGPLv2.1+. | |
42 | ||
9efa12ed | 43 | Anything else (non-libraries) needs to be Free Software and needs to be |
188e0ab6 SG |
44 | allowed to link with LGPLv2.1+ code (if needed). LXC upstream prefers |
45 | LGPLv2.1+ or GPLv2 for those. | |
46 | ||
188e0ab6 SG |
47 | When introducing a new file into the project, please make sure it has a |
48 | copyright header making clear under which license it's being released | |
49 | and if it doesn't match the criteria described above, please explain | |
50 | your decision on the lxc-devel mailing-list when submitting your patch. | |
51 | ||
752c0602 | 52 | Developer Certificate of Origin: |
53 | -------------------------------- | |
54 | ||
55 | To improve tracking of contributions to this project we will use a | |
4a308d66 | 56 | process modeled on the modified DCO 1.1 and use a "sign-off" procedure. |
752c0602 | 57 | |
58 | The sign-off is a simple line at the end of the explanation for the | |
59 | patch, which certifies that you wrote it or otherwise have the right | |
60 | to pass it on as an open-source patch. The rules are pretty simple: | |
61 | if you can certify the below: | |
62 | ||
63 | By making a contribution to this project, I certify that: | |
64 | ||
65 | (a) The contribution was created in whole or in part by me and I have | |
66 | the right to submit it under the open source license indicated in | |
67 | the file; or | |
68 | ||
69 | (b) The contribution is based upon previous work that, to the best of | |
70 | my knowledge, is covered under an appropriate open source License | |
71 | and I have the right under that license to submit that work with | |
72 | modifications, whether created in whole or in part by me, under | |
73 | the same open source license (unless I am permitted to submit | |
74 | under a different license), as indicated in the file; or | |
75 | ||
76 | (c) The contribution was provided directly to me by some other person | |
77 | who certified (a), (b) or (c) and I have not modified it. | |
78 | ||
79 | (d) The contribution is made free of any other party's intellectual | |
80 | property claims or rights. | |
81 | ||
82 | (e) I understand and agree that this project and the contribution are | |
83 | public and that a record of the contribution (including all | |
84 | personal information I submit with it, including my sign-off) is | |
85 | maintained indefinitely and may be redistributed consistent with | |
86 | this project or the open source license(s) involved. | |
87 | ||
88 | ||
89 | then you just add a line saying | |
90 | ||
836676ca | 91 | Signed-off-by: Random J Developer <random@developer.org> |
752c0602 | 92 | |
99777255 NC |
93 | You can do it by using option -s or --signoff when you commit |
94 | ||
95 | git commit --signoff ... | |
96 | ||
836676ca | 97 | using your real name (sorry, no pseudonyms or anonymous contributions.) |
b706b2ee CB |
98 | |
99 | In addition we support the following DCOs which maintainers can use to indicate | |
100 | that a patch is acceptable: | |
101 | ||
102 | Acked-by: Random J Developer <random@developer.org> | |
103 | Reviewed-by: Random J Developer <random@developer.org> | |
104 | ||
105 | If you are contributing as a group who is implementing a feature together such | |
106 | that it cannot be reasonably attributed to a single developer please use: | |
107 | ||
108 | Co-developed-by: Random J Developer 1 <random_1@developer.org> | |
109 | Co-developed-by: Random J Developer 2 <random_1@developer.org> |