fix typos
[openssl-web.git] / policies / committers.html
1 <!DOCTYPE html>
2 <html lang="en">
3   <!--#include virtual="/inc/head.shtml" -->
4
5   <body>
6     <!--#include virtual="/inc/banner.shtml" -->
7
8     <div id="main">
9       <div id="content">
10         <div class="blog-index">
11           <article>
12             <header>
13               <h1>Guidelines for OpenSSL Committers</h1>
14             </header>
15
16             <div class="entry-content">
17               <h2>Who is a committer?</h2>
18
19               <p>OpenSSL committers are contributors who have commit access
20               to the
21               <a href="https://git.openssl.org">OpenSSL source code repository</a>.
22               Committers review and commit their own patches as well as
23               those of other contributors.</p>
24
25               <h2>How to become a committer?</h2>
26               <p>Commit access is granted by the OpenSSL Management Committee
27               (OMC) (see the
28               <a href="/policies/bylaws.html">OpenSSL bylaws</a>).
29
30               <p>We welcome contributors who become domain experts in some
31               part of the library (for example, low-level crypto) as well as
32               generalists who contribute to all areas of the codebase. All
33               committers share the responsibility for the overall health
34               of the project: aside from contributing quality features,
35               committers are team players who fix bugs, address open
36               issues, review community contributions, and improve tests and
37               documentation. Committers are also shepherds of the OpenSSL
38               community and its
39               <a href="/community/conduct.html">code of conduct</a>.</p>
40
41               <p>To become a committer, start by contributing code. Read our
42               <a href="/policies/codingstyle.html">coding style</a>, and get
43               to know our build and test system. Then, use the
44               <a href="/policies/roadmap.html">project roadmap</a>,
45               <a href="https://github.com/openssl/openssl/issues">Github issue tracker</a>,
46               and our
47               <a href="/community/mailinglists.html">mailing lists</a>
48               find impactful ideas to work on. Seek feedback from multiple OMC
49               members to understand the project, and to support your
50               application. Let them know that you'd like to become a committer
51               - they'll nominate you when your code review record demonstrates
52               impact as well as understanding of the codebase and coding style
53               (usually after a few months of activity). The final decision to
54               grant commit access is taken by an OMC vote.</p>
55
56               <h2>How to maintain commit status?</h2>
57               <p>To maintain commit status, you should stay active in the
58               project. As stated in the project bylaws, if you remain inactive
59               for several months, your commit access will be withdrawn - but
60               you are always welcome back, just ask an OMC member to
61               re-nominate you.</p>
62               <p>In the unlikely and unfortunate event that your actions
63               conflict with the project objectives or are otherwise
64               disruptive, commit access may also be revoked by vote of the
65               OMC.</p>
66
67               <h2>Code reviews</h2>
68               <p>All submissions must be reviewed and approved by at least two
69               committers, one of whom must also be an OMC member. If the
70               author is also a committer then that counts as one of the
71               reviews. In other words:</p>
72               <ul>
73                 <li>OMC members need one approval from any committer</li>
74                 <li>Committers need one approval from a committer within the
75                 OMC</li>
76                 <li>Contributors without commit rights need two approvals,
77                 including one from the OMC.</li>
78               </ul>
79
80               <p>This process may seem a little heavy, but OpenSSL is a large,
81               complicated codebase, and we think two reviews help prevent
82               security bugs, as well as disseminate knowledge to the growing
83               contributor base.</p>
84
85               <p>Contributors without commit rights cannot formally approve
86               patches but are nevertheless welcome to comment on submissions
87               and do technical reviews. We always value another pair of eyes,
88               and volunteering for reviews counts favourably towards becoming
89               a committer. As an author, we ask that you address all comments,
90               even if you already have the necessary approvals.</p>
91  
92               <p>If you have trouble finding consensus on a difficult review,
93               reach out to the OMC at
94               <a href="mailto:openssl-team@openssl.org">openssl-team@openssl.org</a>
95               (private, moderated) or committers at
96               <a href="mailto:openssl-dev@openssl.org">openssl-dev@openssl.org</a>
97               (public). On GitHub, you can reach OMC members at @openssl/team,
98               and committers can be found at @openssl/dev.</p>
99
100               <h2>Commit workflow</h2>
101               <p>We do code reviews on GitHub. The
102               <a href="https://github.com/openssl/openssl">OpenSSL GitHub repository</a>
103               is a mirror, so we do not merge on GitHub. When you become a
104               committer, we.ll send you instructions to get commit access to
105               the main repository. To have handy links to review history, we
106               record the reviewers and GitHub pull request IDs in commit
107               headers. We have some helper scripts in the
108               <a href="https://github.com/openssl/tools">tools repo</a>
109               to add these headers automatically.</p>
110
111               <p>We don't use merge commits.</p>
112
113               <p>If at any point during development or review you discover
114               a potential security issue, we ask that you report it to
115               <a href="mailto:openssl-security@openssl.org"> openssl-security@openssl.org</a>
116               and don't discuss it further in public. We review security
117               sensitive patches privately, off GitHub. We do not currently
118               have a way to open access to those reviews after the patches
119               have been released.</p>
120
121               <h2>A note on CLAs</h2>
122               <p>All authors, including committers, must have current CLAs on
123               file. A CLA is not required for trivial contributions (e.g. the
124               fix of a spelling mistake). If all reviewers as well as the
125               original author agree that the submission is trivial, the commit
126               can be labelled "CLA: trivial" to skip CLA checks.</p>
127
128             </div>
129
130             <footer>
131               You are here: <a href="/">Home</a>
132               : <a href="/policies"> Policies</a>
133               : <a href="">Guidelines for Committers</a>.
134               <br><a href="/sitemap.txt">Sitemap</a>
135             </footer>
136           </article>
137         </div>
138         <!--#include virtual="sidebar.shtml" -->
139       </div>
140     </div>
141
142     <!--#include virtual="/inc/footer.shtml" -->
143   </body>
144 </html>