]>
Commit | Line | Data |
---|---|---|
bd01ae22 JA |
1 | How to contribute a patch to Samba |
2 | ---------------------------------- | |
3 | ||
07856586 AB |
4 | Please see https://wiki.samba.org/index.php/Contribute |
5 | for detailed set-by-step instructions on how to submit a patch | |
6 | for Samba via GitLab. | |
bd01ae22 | 7 | |
07856586 | 8 | Samba's GitLab mirror is at https://gitlab.com/samba-team/samba |
bd01ae22 JA |
9 | |
10 | Ownership of the contributed code | |
11 | --------------------------------- | |
12 | ||
13 | Samba is a project with distributed copyright ownership, which means | |
14 | we prefer the copyright on parts of Samba to be held by individuals | |
15 | rather than corporations if possible. There are historical legal | |
16 | reasons for this, but one of the best ways to explain it is that it's | |
17 | much easier to work with individuals who have ownership than corporate | |
18 | legal departments if we ever need to make reasonable compromises with | |
19 | people using and working with Samba. | |
20 | ||
21 | We track the ownership of every part of Samba via git, our source code | |
22 | control system, so we know the provenance of every piece of code that | |
23 | is committed to Samba. | |
24 | ||
25 | So if possible, if you're doing Samba changes on behalf of a company | |
26 | who normally owns all the work you do please get them to assign | |
27 | personal copyright ownership of your changes to you as an individual, | |
28 | that makes things very easy for us to work with and avoids bringing | |
29 | corporate legal departments into the picture. | |
30 | ||
31 | If you can't do this we can still accept patches from you owned by | |
32 | your employer under a standard employment contract with corporate | |
33 | copyright ownership. It just requires a simple set-up process first. | |
34 | ||
35 | We use a process very similar to the way things are done in the Linux | |
36 | kernel community, so it should be very easy to get a sign off from | |
37 | your corporate legal department. The only changes we've made are to | |
38 | accommodate the licenses we use, which are GPLv3 and LGPLv3 (or later) | |
39 | whereas the Linux kernel uses GPLv2. | |
40 | ||
41 | The process is called signing. | |
42 | ||
43 | How to sign your work | |
44 | --------------------- | |
45 | ||
46 | Once you have permission to contribute to Samba from | |
47 | your employer, simply email a copy of the following text | |
48 | from your corporate email address to contributing@samba.org | |
49 | ||
50 | ------------------------------------------------------------ | |
5fa89897 | 51 | Samba Developer's Declaration, Version 1.0 |
bd01ae22 JA |
52 | |
53 | By making a contribution to this project, I certify that: | |
54 | ||
55 | (a) The contribution was created in whole or in part by me and I | |
56 | have the right to submit it under the appropriate | |
57 | version of the GNU General Public License; or | |
58 | ||
59 | (b) The contribution is based upon previous work that, to the best | |
60 | of my knowledge, is covered under an appropriate open source | |
61 | license and I have the right under that license to submit that | |
62 | work with modifications, whether created in whole or in part | |
63 | by me, under the GNU General Public License, in the | |
64 | appropriate version; or | |
65 | ||
66 | (c) The contribution was provided directly to me by some other | |
67 | person who certified (a) or (b) and I have not modified | |
68 | it. | |
69 | ||
70 | (d) I understand and agree that this project and the | |
71 | contribution are public and that a record of the | |
72 | contribution (including all metadata and personal | |
73 | information I submit with it, including my sign-off) is | |
74 | maintained indefinitely and may be redistributed | |
75 | consistent with the Samba Team's policies and the | |
76 | requirements of the GNU GPL where they are relevant. | |
77 | ||
78 | (e) I am granting this work to this project under the terms of both | |
79 | the GNU General Public License and the GNU Lesser General Public | |
80 | License as published by the Free Software Foundation; either version | |
81 | 3 of these Licenses, or (at the option of the project) any later | |
82 | version. | |
83 | ||
84 | http://www.gnu.org/licenses/gpl-3.0.html | |
85 | http://www.gnu.org/licenses/lgpl-3.0.html | |
86 | ------------------------------------------------------------ | |
87 | ||
88 | We will maintain a copy of that email as a record that you have the | |
89 | rights to contribute code to Samba under the required licenses whilst | |
90 | working for the company where the email came from. | |
91 | ||
92 | Then when sending in a patch via the normal mechanisms described | |
93 | above, add a line that states: | |
94 | ||
95 | Signed-off-by: Random J Developer <random@developer.example.org> | |
96 | ||
97 | using your real name and the email address you sent the original email | |
5fa89897 | 98 | you used to send the Samba Developer's Declaration to us |
bd01ae22 JA |
99 | (sorry, no pseudonyms or anonymous contributions.) |
100 | ||
101 | That's it ! Such code can then quite happily contain changes that have | |
102 | copyright messages such as : | |
103 | ||
104 | (C) Example Corporation. | |
105 | ||
106 | and can be merged into the Samba codebase in the same way as patches | |
107 | from any other individual. You don't need to send in a copy of the | |
5fa89897 | 108 | Samba Developer's Declaration for each patch, or inside each |
bd01ae22 JA |
109 | patch. Just the sign-off message is all that is required once we've |
110 | received the initial email. | |
111 | ||
112 | Have fun and happy Samba hacking ! | |
113 | ||
114 | The Samba Team. | |
115 | ||
c15c40e0 | 116 | |
5fa89897 | 117 | The "Samba Developer's Declaration, Version 1.0" is: |
c15c40e0 BK |
118 | (C) 2011 Software Freedom Conservancy, Inc. |
119 | (C) 2005 Open Source Development Labs, Inc. | |
120 | ||
121 | licensed under Creative Commons Attribution-ShareAlike 4.0 License as found | |
122 | at https://creativecommons.org/licenses/by-sa/4.0/legalcode and based on | |
123 | "Developer's Certificate of Origin 1.1" as found at | |
124 | http://web.archive.org/web/20070306195036/http://osdlab.org/newsroom/press_releases/2004/2004_05_24_dco.html |