@@ -33,130 +33,11 @@ If you ask yourself how to compile libssh, please read INSTALL before anything.
3333
3434http://www.libssh.org
3535
36- 4* API Changes !
36+ 4* Contributing
3737-_-_-_-_-_-_-_-_-_
3838
39- Changes between 0.4 and 0.5
40- ---------------------------
41-
42- We use the ssh_ prefix as namespace for every function now. There is a legacy.h
43- which could be used to get the old function names.
44-
45- Changes between 0.3 and 0.4
46- ---------------------------
47-
48- We changed libssh to be typesafe now:
49-
50- SSH_SESSION *session -> ssh_session session
51- SFTP_SESSION *sftp -> sftp_session sftp
52- CHANNEL *channel -> ssh_channel channel
53- STRING *string -> ssh_string string
54- ...
55-
56- The options structure has been removed and there is a new function. This
57- function can set all available options now. You can find the enum in the
58- header file and it is documented. Example:
59-
60- ssh_options_set(session, SSH_OPTIONS_HOST, "localhost");
61-
62- 5* Copyright policy
63- -_-_-_-_-_-_-_-_-_-_
64-
65- libssh is a project with distributed copyright ownership, which means we prefer
66- the copyright on parts of libssh to be held by individuals rather than
67- corporations if possible. There are historical legal reasons for this, but one
68- of the best ways to explain it is that it’s much easier to work with
69- individuals who have ownership than corporate legal departments if we ever need
70- to make reasonable compromises with people using and working with libssh.
71-
72- We track the ownership of every part of libssh via git, our source code control
73- system, so we know the provenance of every piece of code that is committed to
74- libssh.
75-
76- So if possible, if you’re doing libssh changes on behalf of a company who
77- normally owns all the work you do please get them to assign personal copyright
78- ownership of your changes to you as an individual, that makes things very easy
79- for us to work with and avoids bringing corporate legal departments into the
80- picture.
81-
82- If you can’t do this we can still accept patches from you owned by your
83- employer under a standard employment contract with corporate copyright
84- ownership. It just requires a simple set-up process first.
85-
86- We use a process very similar to the way things are done in the Linux Kernel
87- community, so it should be very easy to get a sign off from your corporate
88- legal department. The only changes we’ve made are to accommodate the license we
89- use, which is LGPLv2 (or later) whereas the Linux kernel uses GPLv2.
90-
91- The process is called signing.
92-
93- How to sign your work
94- ----------------------
95-
96- Once you have permission to contribute to libssh from your employer, simply
97- email a copy of the following text from your corporate email address to:
98-
99- contributing@libssh.org
100-
101- --------------------------------------------------------------------------
102- libssh Developer's Certificate of Origin. Version 1.0
103-
104- By making a contribution to this project, I certify that:
105-
106- (a) The contribution was created in whole or in part by me and I
107- have the right to submit it under the appropriate
108- version of the GNU General Public License; or
109-
110- (b) The contribution is based upon previous work that, to the best of
111- my knowledge, is covered under an appropriate open source license
112- and I have the right under that license to submit that work with
113- modifications, whether created in whole or in part by me, under
114- the GNU General Public License, in the appropriate version; or
115-
116- (c) The contribution was provided directly to me by some other
117- person who certified (a) or (b) and I have not modified it.
118-
119- (d) I understand and agree that this project and the contribution are
120- public and that a record of the contribution (including all
121- metadata and personal information I submit with it, including my
122- sign-off) is maintained indefinitely and may be redistributed
123- consistent with the libssh Team's policies and the requirements of
124- the GNU GPL where they are relevant.
125-
126- (e) I am granting this work to this project under the terms of the
127- GNU Lesser General Public License as published by the
128- Free Software Foundation; either version 2.1 of
129- the License, or (at the option of the project) any later version.
130-
131- http://www.gnu.org/licenses/lgpl-2.1.html
132- --------------------------------------------------------------------------
133-
134- We will maintain a copy of that email as a record that you have the rights to
135- contribute code to libssh under the required licenses whilst working for the
136- company where the email came from.
137-
138- Then when sending in a patch via the normal mechanisms described above, add a
139- line that states:
140-
141-
142- Signed-off-by: Random J Developer <random@developer.example.org>
143-
144-
145- using your real name and the email address you sent the original email you used
146- to send the libssh Developer’s Certificate of Origin to us (sorry, no
147- pseudonyms or anonymous contributions.)
148-
149- That’s it! Such code can then quite happily contain changes that have copyright
150- messages such as:
151-
152-
153- (c) Example Corporation.
154-
155-
156- and can be merged into the libssh codebase in the same way as patches from any
157- other individual. You don’t need to send in a copy of the libssh Developer’s
158- Certificate of Origin for each patch, or inside each patch. Just the sign-off
159- message is all that is required once we’ve received the initial email.
39+ Please read the file 'SubmittingPatches' next to this README file. It explains
40+ our copyright policy and how you should send patches for upstream inclusion.
16041
16142Have fun and happy libssh hacking!
16243
0 commit comments